Terminalの基本を覚える #2(Part3-5)
本記事は主に下記の内容を扱います。Linuxコマンドの中でも、ディレクトリ関連は頻繁に使用するのでしっかり理解したいですね。
ディレクトリについて
フォルダとほぼ同義で、階層構造を持ちます。
ディレクトリの移動
cdコマンドとは
cdは”change directory”の略です。指定したディレクトリへの移動が可能です。 ディレクトリ名を引数として渡します。 cdコマンドは/usr/binのプログラムで、/usr/binはPATHで設定されているのでディレクトリは省略してOKです。
/binディレクトリに移動できているかは下記のpwdコマンドで確認しましょう。
pwdコマンドとは(復習です!)
pwdは"print working directory"の略です。現在のディレクトリ「カレントディレクトリ」を表示します。
/binのプログラムですので、こちらもコマンド名のみで実行可能ですね。
実行結果は・・・
移動が確認できました。ではファイル一覧を表示してみましょう。
そうすると・・・
実行結果
以下のように、/binフォルダ内をFinderで見るのと同じです。
上記のように、lsコマンドは何も渡さない場合、カレントディレクトリのファイル一覧を表示します。 では、lsコマンドの別の使い方を見ていきましょう。
lsコマンド(オプションの使用)
今回はlsコマンドの-aオプションを使用します。オプションって?→引数の中で、ハイフン(-)から始まるもの。デフォルトと異なる動作をして欲しい場合に使用。
aオプション
- .(ドット)で始まるディレクトリやファイルを表示する。
実行結果
先程lsコマンド単体で実行した場合やFinderで見た画面と異なりますね。ドットから始まるファイル、いわゆる「ドットファイル」が確認できます。
「.」は現在のディレクトリ、「..」は一つ上の階層のディレクトリです。
つまり、現在のディレクトリと違う階層のディレクトリが表示されているだけです。
ディレクトリとその階層について用語を少しまとめます。
ディレクトリ構造とパスについて
記号 | 名称 | 意味 |
---|---|---|
/ | ルートディレクトリ | ディレクトリ構造のトップ |
. | カレントディレクトリ | 現在のディレククトリ |
.. | 親ディレクトリ | 1つ上の階層 |
cdコマンドを使用すると、ディレクトリ内の探索ができます。 ディレクトリ内には1番上の階層「ルートディレクトリ」の下に、たくさんのディレクトリやプログラムのファイルがぶらさがっており、 このようなディレクトリ構造の全体を「tree」と言います。
先程/binフォルダ内にドットファイルが表示されていましたが、カレントディレクトリと一つ上の階層のフォルダが表示されていただけですね。
1つ上の階層に移動するためには、以下のようにコマンドします。
2つ上の階層に移動するなら・・・
このようにカレントディレクトリより相対的に場所をたどる指定方法を
「相対パス」と呼びます。
自分の今いる場所から移動していくのですね。
cdコマンドやlsコマンドをうまく使用すると、ディレクトリ全体の構造とその中のファイル構成がよくわかります。
引数とオプションについて
引数とオプションについて補足します。
引数
- 複数の文字列を引数に指定してOK
実行結果
オプションに特にガイドラインはありません。
オプション
- ガイドラインが複数存在する
- ハイフンが1つのショートネームオプションと2つのロングネームオプションがあります
- lsやcdなどのコマンドは歴史が古く、このガイドラインは当てはまらない場合もあります
- わからない場合、manコマンドを使用しましょう
$ command -f / tmp/ foo #ファイルを開く-fオプションがある場合、文字を渡すことも可能
$ command --name #ハイフン2つから始まるオプション(=ロングネームオプション)
$ command --file= / tmp/ foo #ロングネームオプションに文字を渡す場合、イコール(=)をつけます
$ command -a --file= / tmp/ foo #ショートネームオプションとロングネームオプションは混在可能です
$ command -- version #コマンドのバージョン番号が表示されます
わからないことがある場合、ーhあるいは--helpオプションを使用するか、下記のようにマニュアルを利用しましょう。
マニュアルを確認して読むのが手っ取り早いですし、理解も進みそうですね!qキーで終了します。
便利コマンドです
curlコマンド
- 引数に指定したコンテンツを簡単に取得できます
-oオプションにファイル名を渡すと、ファイルとしてコンテンツを保存できます。
lsで確認すると、「google.html」というファイル名できちんと保存されていますね。
openコマンド
- 引数にURLやディレクトリやファイル名を指定すると、名前の通り開いてくれます
.を渡すと、カレントディレクトリを開いてくれます。
最後に
このようなプログラムがあります。/usr/local/bin/saykanaというコマンドがインストールされます。 ディレクトリ名は省略して実行できます。
引数にひらがなかカタカナを指定すると、自動で読み上げてくれます!
「ねこねこねこねこねこ」と読み上げてくれます。
長くなりましたが、ディレクトリ関連のコマンドと便利なコマンドなどを 取り上げました。