コマンドライン編

コマンドライン

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

著者について

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

著作権とライセンス

Railsチュートリアル Copyright © 2020 by Michael Hartl(最終更新日: 2022/04/08 12:01:23 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章はじめに

本書『コマンドライン編』は、まったくの初心者を対象にコマンドラインを解説したもので、“コンピューターマジック”(コラム 1.1)の基礎を、できるだけ多くの人が学習できるようになっています。

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

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

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

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

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

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

images/figures/dev_desktop
図 1.1: ベテラン開発者のデスクトップ上にあるターミナルウィンドウ
1. ハリー・ポッター風に言えば魔力を持つ「魔法族」と魔力を持たない「マグルス」の違いです。
2. 数学方面ではTau DayサイトやThe Tau Manifestoの著者としてご存知の方もいらっしゃるかもしれません。
3. 2で説明しているように、これはUnixの伝統にも当てはまります。UnixはインターネットやWWWを支えるコンピューティングの主要な伝統であり、本チュートリアルもこの由緒正しいUnixの伝統に則っています。Unixの伝統は開発者のみならず、システムアドミニストレータ(sysadmins)にとっても重要です。
前の章
第1章 はじめに コマンドライン編
次の章