UNIX - ls
ファイル・ディレクトリを表示。
ls ファイル・ディレクトリを表示
- ファイル・ディレクトリの一覧を表示する。ファイルを指定せず
% ls
とすると、カレントディレクトリにあるファイル・ディレクトリを表示する。
% ls file1 file2 file3
だと、指定したファイルの一覧を表示する。
% ls file? *.txt
などと、ワイルドカードを使うこともできる。詳細な情報を見たい場合は
% ls -l file1 file2 file3
とすればよい。
% ls dir1 dir2
dir3
のように、ディレクトリ名を指定すると、指定したディレクトリの下にあるファイル・ディレクトリを表示する。(ディレクトリの下ではなく)ディレクトリ自体の情報を見たいなら、
% ls -d dir1
とする。また、ls は「.」から始まるファイル・ディレクトリは表示しない。-a や
-A オプションを使うことで「.」から始まるファイルも表示させることができる。
必ず覚えておきたいのは、-l、-A
オプション。覚えておくと便利なのは -F オプション。当ページ管理人は
% alias ls "ls -F"
% alias l "ls
-lFA"
としている。これは csh・tcsh の書き方。sh・bash を使っているなら
% alias ls="ls -F"
% alias l="ls
-lFA"
とすればよい。
(コマンド alias)
-a 「.」 から始まるファイルも表示。「.」「..」も表示する。
-A 「.」
から始まるファイルも表示。「.」「..」は表示しない。
- root が ls を実行した場合、常に -A オプションが付けられたものとして動作する。
-l
ファイル、ディレクトリの詳細な情報を表示する
-T タイムスタンプを年月日時分秒まで表示 (要 -l オプション)
-o
ファイルフラグを表示。BSD 系のみ (要 -l オプション)
- (コマンド chflags)
-1 (マイナスエルじゃなくてマイナスイチ) 1行につき1つのファイルの情報を表示
-C マルチカラムで表示 (-1
の逆)。
-
% ls | more
などとすると、ls が出力先がパイプだと判断し、自動的に -1
を指定したのと同じように動作するが、-C を付けるとそれを抑制し、1行に複数のファイルを表示する。
-F
ファイルタイプの識別子を付ける。
- ディレクトリの後ろに「/」、シンボリックリンクの後ろに「@」、実行形式ファイルの後ろに「*」をつける
-L
シンボリックリンク自体ではなく、リンク先のファイルの情報を表示
-R 再帰的にディレクトリ以下のファイルを表示する。
- つまり ls -R / でシステムの全てのファイルが表示されることになる
-c
ファイルの変更日時ではなくファイルの属性を変更した日時を表示
-u ファイルの変更日時ではなく最後にファイルにアクセスした日時を表示
-d
ディレクトリを指定した場合、ディレクトリ以下のファイルではなくディレクトリ自体の情報を表示。
- ls -l /usr/bin は、ls -l /usr/bin/* と同じような動作をするが、ls -ld /usr/bin だと、
- drwxr-xr-x 2 bin bin 5120 Oct 7 05:26
/usr/bin
と、ディレクトリ自体の情報を表示する
-f ファイル名をソートせずに表示
-r
逆順にソートして表示
-t ファイルを変更した日時の順でソートする。最近どのファイルが更新されたか調べたいときは
-
% ls -lt | head
最近どのファイルが参照されたかを調べたいときは
% ls -lut | head
が便利。
-i ファイルの i-node
を表示
- (コマンド ln)
-s 各ファイルのファイルシステムブロックの使用量を表示 (512バイト単位)
- たとえ1バイトのファイルでも1ブロック (512バイト) を消費している。その消費量を表示する。ブロックの単位は環境変数 BLOCKSIZE
で設定できる。
(環境変数 BLOCKSIZE)
-k -s オプションが指定された場合、使用量を 1K バイト単位で表示する
-x
ファイルを横方向ではなく、縦方向にソートする
- (-x オプションは SystemV 系と GNU の ls のみ)。
-q
ファイル・ディレクトリ名の中に表示不可能な文字があった場合、`?'
という文字に置き換えて表示する。
このオプションはデフォルトで有効になっている。このおかげで日本語を含むファイル名を ls で表示しようとすると、????
などとなってしまう。この機能は、出力先がパイプやファイルだと抑制されるので、
-
% ls | less
% ls |
cat
などとすると、日本語ファイル名を表示できる。
(コマンド stat)