Linuxディレクトリ
システム全体で2台の物理ディスクがある場合、Windowsでは2つのディレクトリツリーができるが、Linuxでは何台のディスクがあろうがシステム全体で1つのディレクトリツリーしか持たない。
また、Linuxの各ディレクトリについて確認する。
Linuxシステムの動作に最低限必要な重要度の高いコマンドを格納している
キーボードなどのハードウェアをファイルとして扱えるように用意された特殊なファイルであるデバイスファイルを格納しているディレクトリである。
設計ファイルを置くためのディレクトリである。Linuxを管理・運用する上で非常に重要なディレクトリである。
ユーザーごとに割り当てられるホームディレクトリが配置されるディレクトリである。
ホームディレクトリとは、ユーザーごとに割り当てられる個人用のディレクトリのことでユーザー名がそのままディレクトリ名になっている。
ユーザーはこのホームディレクトリ内に自由にファイルやディレクトリを作成して作業を行うことができる。
実行ファイルを置くためのディレクトリであるが、こちらは管理者ユーザー向けのコマンドが置かれている。
一時的なファイルを置くためのディレクトリ。
このディレクトリ内のファイルは定期的に削除する設定になっているディストリビュージョンも多いため、ファイルの保存先として選んではいけない。
各種アプリケーションと付随するファイルを置くためのディレクトリ。
追加でアプリケーションをインストールした際に、実行ファイルやドキュメント、ライブラリなどがこのディレクトリの下に配置される。
変化するデータを置くためのディレクトリ。
アプリケーションの動作する上で作成されたデータやログ、電子メールなどが格納される。
ホームディレクトリとチルダ展開
引数をつけないでcdコマンドを実行すると、ホームディレクトリに移動することができる。
cd
また、チルダを用いることでもホームディレクトリへ戻ることができる。
コマンドラインのチルダ(~)は、シェルによりホームディレクトリのパスへと自動的に置き換えることができる。
シェルのこの機能のことをチルダ展開と呼ばれ、これを利用することでホームディレクトリ配下へのディレクトリへ移動することができる。
lsコマンドの使いかた
lsコマンドでファイルやディレクトリの一覧を確認することができるが、複数のファイルを指定するとき大変である。
そのために、「*」や「?」を用いることでファイル名の一部をパターンで指定することにより複数のファイルを指定することができる。
これをパス名展開と呼ばれている。
$ls ba*
$ ls .*html
?では、任意の1文字だけに対応する点が異なる。
例として、ba??と入力すると「ファイル名がbaから始まり、全体の長さが4文字」のファイルを表示させる。
lsコマンドのオプション
ファイル名だけでなく、ファイル属性などの詳細情報を同時に表示させることができる。
隠しファイルも含めたすべてのファイルを表示する
ファイル名の後ろにファイル種類を表す記号を追加し表示する。
指定した数値の横幅で表示するオプションである。
コマンドのオプションについて
- オプション指定の基本
オプションは2つ以上指定することができる。
この場合、別々にスペースを区切り記述すること、もしくは-の後ろにまとめて記述することができる。
ls -a -F
ls -aF
コマンドの引数とオプションを同時に指定する場合もある。
この場合は先にオプションを記述し、あとにコマンドの引数を書く。
例では、-aオプションと-Fオプションを指定しつつ、引数を/(ルートディレクトリ)にしている場合である。
$ ls -a -F /
- 引数を取るオプション
オプション自体が引数を取ることもある。
例として-wオプションにおいて以下のように記述することで、30桁で表示するように指定することができる。
$ls -w 30
この30はlsコマンドへの引数ではなく、-wオプションに対しての引数である。
また、引数を取るオプションではオプションと引数の間のスペースは省略することができる。
$ls -w 30
$ls -w30
- ロングオプション
一般的にオプションは「ハイフン + 英数字1文字」で指定することができるが、「--...」というハイフン2文字で始まるオプションもある。
例として次のオプション「--quote-name」ではファイル名をダブルクォーテーションで囲んで表示させることができる。
$ls --quote-name
ロングオプションは他のオプションと重複しない場合省略することができる。先ほどのコマンドの場合は以下のように省略して記述することができる。
$ ls --quote
widthのような引数を取るロングオプションでは、引数との間にスペースを入れるか、もしくは=記号で引数を指定する。
$ ls --width 30
$ ls --width=30