コマンドライン編

コマンドライン

Unixのコマンドライン操作を
学ぶチュートリアル

著者について

マイケル・ハートル(Michael Hartl)は、ウェブ開発の主要な入門書の一つである「Ruby on Railsチュートリアル」の作成者です。また、「Learn Enough」の共同創立者であり、主執筆者でもあります。以前は、カリフォルニア工科大学(Caltech)で物理学の講師をしており、そこで生涯功労賞(Lifetime Achievement Award for Excellence in Teaching)を受賞しています。ハーバード大学を卒業後、カリフォルニア工科大学で物理学博士号を取得。Y Combinator起業家プログラムの卒業生でもあります。

著作権とライセンス

Railsチュートリアル前提知識(開発基礎編) Copyright © 2020 by Michael Hartl(最終更新日: 2020/10/21 07:27:36 PT)

Railsチュートリアル前提知識(開発基礎編)で掲載しているすべてのソースコードは、MIT ライセンスおよびBeerware ライセンスの元で提供されています。なお、これらのライセンスはいずれか一方が有効になります。つまり、MITライセンスに基づいて使用する場合は、ビールも購入する必要はありません。

なお、「すべてのソースコード」とは、Railsチュートリアル内で題材としている「Railsアプリケーションのソースコード」を指します。「Railsチュートリアル」という教材は上記ライセンスで提供されていないのでご注意ください。営利・非営利問わず、事業で使用する場合は協業プランをご利用ください。

The MIT License

Copyright (c) 2016 Michael Hartl

Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify,
merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
THE BEERWARE LICENSE (Revision 42)

Michael Hartl wrote this code. As long as you retain this
notice you can do whatever you want with this stuff.
If we meet some day, and you think this stuff is worth it,
you can buy me a beer in return.

第1章はじめに

本書「コマンドライン」は、Railsチュートリアル前提知識シリーズ『開発基礎編』の第一弾として、まったくの初心者を対象にコマンドラインを解説したもので、“コンピューターマジック”(コラム 1.1)の基礎を、できるだけ多くの人が学習できるようになっています。

本書は、比較的レベルが高めの他のコマンドライン入門書とは異なり、コンピューターの簡単な知識(アプリケーションの起動方法、Webブラウザの使い方)があればすぐに始められます。テキストエディタの使い方はもちろん、テキストエディタがどのようなものかを知らなくても構いません。さらに言えば、コマンドラインとはそもそも何なのか知らない方でも学習できるようになっていますので、どうぞご心配なく。

また、既にコマンドラインがどのようなものかを知っている方にとっても、本チュートリアルを学んで演習をこなすことで、現在の知識の穴を埋めたり、さらに新しい知識を会得するのに役立ちます。

コラム 1.1. コンピューターのマジックとは

現実世界のコンピューターは、あたかも一種の魔法や呪術のような地位を得ています。魔法の呪文をコンピューターに入力し、かつその呪文が正しければ、コンピューターが願いどおりに動いてくれるというわけです。コンピューターのマジックを駆使する魔法使いや魔女は呪文だけに頼らず、魔法の杖や霊薬も用い、分厚い太古の魔法書の一冊や二冊を紐解くものです。こうしたコマンドラインテキストエディタバージョン管理などのあらゆる知識や技術を総合したのがソフトウェア開発です。おそらく「技術を持つ人」と「技術を持たない人」(ハリー・ポッター風に言えば魔力を持つ「魔法族」と魔力を持たない「マグルス」)の大きな違いは、こうしたツールの知識を持つかどうかでしょう。本チュートリアルでは最初に、この両者の溝を埋めて橋渡しするのに必要なステップを学びます。こうして熟練コラム 2.4)を重ねることで、ソフトウェアの魔術師としてコンピューターに呪文を吹き込み、思うがままに操れるようになるのです。

申し遅れましたが、私はMichael Hartlです。Web開発入門書の定番のひとつであるRuby on Rails Tutorial書籍screencastシリーズ)の作者としておそらく最もよく知られていると思います(数学方面ではTau DayサイトやThe Tau Manifestoの著者としてご存知の方もいらっしゃるかもしれません)。Railsチュートリアルで最もよく受け取る質問のひとつが「Railsチュートリアルはコンピューターの初心者にも向いていますか?」ですが、その答えは「まったくの初心者にはつらいでしょう」です。もちろんまったくの初心者がRailsチュートリアルの学習を終えることも可能ですし、実際に驚くほど多くの初心者が最後までやりとおしていますが、Railsチュートリアルはときに初心者にとって困難や苦痛を伴うこともありますので、まったくの初心者がいきなりRailsチュートリアルに挑むことは一般におすすめしません。その代り、学習の出発点を本チュートリアルにすることをおすすめいたします。

よくあるプログラミングチュートリアルは、いきなり大量のコマンドラインを並べて説明するか、読者がコマンドラインの知識を既に持っている前提で何も説明しないかのどちらかです。しかし優れた開発者になるためには、コマンドラインの基礎部分を理解することが絶対的に不可欠です1。実際、熟練したコンピュータープログラマーのデスクトップを覗いてみると、たとえmacOSのような洗練されたGUI(グラフィカルユーザーインターフェース)を備えていたとしても、いわゆる「ターミナルウィンドウ」が多数開いていて、それぞれのウィンドウにいくつものコマンドが並んでいることに気がつくでしょう(図 1.1)。コマンドラインに習熟しておけば、プロダクトマネージャやプロジェクトマネージャやWebデザイナーにとっても開発者とやりとりするうえで非常に役立ちます。本書「コマンドライン」の目標は、できるだけ多くの学習者が熟練のこの深遠な奥義に触れられるようにすることです。

images/figures/dev_desktop
図 1.1: ベテラン開発者のデスクトップ上にあるターミナルウィンドウ
1. 2で説明しているように、これはUnixの伝統にも当てはまります。UnixはインターネットやWWWを支えるコンピューティングの主要な伝統であり、本チュートリアルもこの由緒正しいUnixの伝統に則っています。Unixの伝統は開発者のみならず、システムアドミニストレータ(sysadmins)にとっても重要です。
第1章 はじめに 開発基礎編 コマンドライン