【ls/dir】ファイル一覧を表示する ~今週のコマンド004

1+

金曜連載

今週のコマンド

この連載ではUNIXライクなOS(Linux,Macなど)や、Windowsのコマンドプロンプトで使えるコマンドを週に数個ずつ、紹介します。

第4回となる今回はディレクトリ中のファイルやディレクトリを表示するコマンド ls/dir を紹介します。

ページ内ジャンプ

lsコマンド(Linux,Mac)dirコマンド(Windows)[コラム]slコマンド(Linux,Mac)

 

構文(Linux,Mac)

Linux ls [オプション] [ディレクトリ]

指定した[ディレクトリ]の中のファイル・ディレクトリを表示する。(ディレクトリを与えないと作業ディレクトリ内を表示する)

オプション

たくさんありますが、ここでは使えそうなオプションを編集部セレクションでお届けします。

-a 先頭に「.」(ドット)があるファイルも含めて表示する(通常は表示されない)
-b シェルに表示できない文字を8進数で表示する
-c ファイルの更新日時順に並べる
-d [ディレクトリ]の中身の一覧ではなくディレクトリ自身を表示する
-k 「-l」オプションと併用時、ファイルのサイズをkb(キロバイト)で表示する
-l ファイルの詳細も表示する。(アクセス権限, ハードリンクの数, 所有者名, グループ名, ファイルのサイズ(バイト), 更新日時, 名前)
-r 逆順に並べて表示する
-t ファイルの更新日時順に表示する
-u ファイルへのアクセス時刻で並び替える(「-l」オプションと併用時は更新日時順)
-B バックアップファイル(ファイルの末尾に「~」)を表示しない
-S ファイルのサイズ順に並べて表示する
-X 拡張子順に並べて表示する
-1 1行に1ファイルずつ表示する
– -full-time 更新日時を詳しく表示する

使用例

#現在のディレクトリの中身を表示
$ ls
dir file1.txt file2.sys file3.inf

#先頭が「.」で始まる隠しファイルなども表示
$ ls -a
. .. .hidden.txt dir file1.txt file2.sys file3.inf

#ファイルの詳細を表示しつつ、更新日時順に表示
$ ls -l -c
合計 16
drwxr-xr-x 1 sXXXXXXX students 124 5月 24 20:54 dir
-rw-r–r– 1 sXXXXXXX students 34 5月 24 20:52 file1.txt
-rw-r–r– 1 sXXXXXXX students 10 5月 24 20:52 file2.sys
-rw-r–r– 1 sXXXXXXX students 5 5月 24 20:53 file3.inf

#ファイルの詳細を表示しつつ、ファイルサイズ順に表示
$ ls -l -S
合計 16
drwxr-xr-x 1 sXXXXXXX students 124 5月 24 20:54 dir
-rw-r–r– 1 sXXXXXXX students 34 5月 24 20:52 file1.txt
-rw-r–r– 1 sXXXXXXX students 10 5月 24 20:52 file2.sys
-rw-r–r– 1 sXXXXXXX students 5 5月 24 20:53 file3.inf

#ファイルの詳細を表示しつつ、拡張子順に表示
$ ls -l -X
合計 16
drwxr-xr-x 1 sXXXXXXX students 124 5月 24 20:54 dir
-rw-r–r– 1 sXXXXXXX students 5 5月 24 20:53 file3.inf
-rw-r–r– 1 sXXXXXXX students 10 5月 24 20:52 file2.sys
-rw-r–r– 1 sXXXXXXX students 34 5月 24 20:52 file1.txt

#ファイルの詳細を表示(更新日時を詳しく表示)
$ ls -l – -full-time
合計 16
drwxr-xr-x 1 sXXXXXXX students 124 2016-05-24 20:54:06.264952000 +0900 dir
-rw-r–r– 1 sXXXXXXX students 34 2016-05-24 20:52:35.795161000 +0900 file1.txt
-rw-r–r– 1 sXXXXXXX students 10 2016-05-24 20:52:48.422029000 +0900 file2.sys
-rw-r–r– 1 sXXXXXXX students 5 2016-05-24 20:53:00.022048000 +0900 file3.inf

#dirの中身を表示
$ ls dir
subfile.ppt.pptx
$


 

構文(Windows)

dirコマンドを使用します。

Windows dir [パス(省略可)]

(作業)ディレクトリに含まれるファイルとディレクトリを一覧表示します。

オプション

/A 指定した属性のファイルのみを表示する(delコマンドの時と同じ)
:D ディレクトリ :R 読み取り専用ファイル :H 隠しファイル :A アーカイブ :S システムファイル
/B ファイル名及びディレクトリ名のみを表示する
/W ファイル名及びディレクトリ名のみをを横に並べて表示する
/S ファイル名及びディレクトリ名のみを縦に並べて表示する
/T 表示する日時の種類を選択する
:C 作成日時 :A 最終アクセス日時 :D 更新日時
/O 並び替えする順番を選択する
:N 名前 :S ファイルのサイズ :E 拡張子 :D 日時 :Z グループ
/S サブディレクトリの中も表示する

 

使用例

@rem 作業ディレクトリにあるファイルとディレクトリを一覧表示
C:\dir>dir
ドライブ C のボリューム ラベルがありません。
ボリューム シリアル番号は XXXX-XXXX です

C:\dir のディレクトリ

2016/05/25 10:06 .
2016/05/25 10:06 ..
2016/05/25 10:06 0 config.inf
2016/05/11 09:30 dir1
2016/05/11 09:29 dir2
2016/05/11 09:29 dir3
2016/05/25 10:06 7 richText.rtf
2016/05/11 09:30 0 system.sys
3 個のファイル 7 バイト
5 個のディレクトリ 6,254,186,496 バイトの空き領域

@rem ディレクトリのみを一覧表示
C:\dir>dir /A:D
ドライブ C のボリューム ラベルがありません。
ボリューム シリアル番号は XXXX-XXXX です

C:\dir のディレクトリ

2016/05/25 10:06 .
2016/05/25 10:06 ..
2016/05/11 09:30 dir1
2016/05/11 09:29 dir2
2016/05/11 09:29 dir3
0 個のファイル 0 バイト
5 個のディレクトリ 6,254,166,016 バイトの空き領域

@ディレクトリ名・ファイル名のみを一覧表示
C:\dir>dir /B
config.inf
dir1
dir2
dir3
richText.rtf
system.sys

@rem ディレクトリ名・ファイル名を横に一覧表示
C:\dir>dir /W
ドライブ C のボリューム ラベルがありません。
ボリューム シリアル番号は XXXX-XXXX です

C:\dir のディレクトリ

[.] [..] config.inf [dir1] [dir2]
[dir3] richText.rtf system.sys
3 個のファイル 7 バイト
5 個のディレクトリ 6,254,100,480 バイトの空き領域

@rem ファイルの作成日時を表示
C:\dir>dir /T:C
ドライブ C のボリューム ラベルがありません。
ボリューム シリアル番号は XXXX-XXXX です

C:\dir のディレクトリ

2016/05/10 22:41 .
2016/05/10 22:41 ..
2016/05/25 10:06 0 config.inf
2016/05/11 09:29 dir1
2016/05/11 09:29 dir2
2016/05/11 09:29 dir3
2016/05/25 10:06 7 richText.rtf
2016/05/11 09:30 0 system.sys
3 個のファイル 7 バイト
5 個のディレクトリ 6,254,100,480 バイトの空き領域

@rem ファイルを拡張子順に表示
C:\dir>dir /O:E
ドライブ C のボリューム ラベルがありません。
ボリューム シリアル番号は XXXX-XXXX です

C:\dir のディレクトリ

2016/05/25 10:06 ..
2016/05/11 09:29 dir3
2016/05/11 09:30 dir1
2016/05/11 09:29 dir2
2016/05/25 10:06 .
2016/05/25 10:06 0 config.inf
2016/05/25 10:06 7 richText.rtf
2016/05/11 09:30 0 system.sys
3 個のファイル 7 バイト
5 個のディレクトリ 6,254,014,464 バイトの空き領域

@rem サブディレクトリの中も含めて、全て表示
C:\dir>dir /S
ドライブ C のボリューム ラベルがありません。
ボリューム シリアル番号は XXXX-XXXX です

C:\dir のディレクトリ

2016/05/25 10:06 .
2016/05/25 10:06 ..
2016/05/25 10:06 0 config.inf
2016/05/11 09:30 dir1
2016/05/11 09:29 dir2
2016/05/11 09:29 dir3
2016/05/25 10:06 7 richText.rtf
2016/05/11 09:30 0 system.sys
3 個のファイル 7 バイト

C:\dir\dir1 のディレクトリ

2016/05/11 09:30 .
2016/05/11 09:30 ..
2016/05/11 09:30 subdir
2016/05/11 09:30 0 word.txt
1 個のファイル 0 バイト

C:\dir\dir1\subdir のディレクトリ

2016/05/11 09:30 .
2016/05/11 09:30 ..
2016/05/11 09:30 0 secret.txt
1 個のファイル 0 バイト

C:\dir\dir2 のディレクトリ

2016/05/11 09:29 .
2016/05/11 09:29 ..
0 個のファイル 0 バイト

C:\dir\dir3 のディレクトリ

2016/05/11 09:29 .
2016/05/11 09:29 ..
0 個のファイル 0 バイト

ファイルの総数:
5 個のファイル 7 バイト
14 個のディレクトリ 6,253,932,544 バイトの空き領域

C:\


nicoslコマンドって?

lsコマンドって使う頻度高いですよね。しかしながらたまに「sl」と打ち間違えてしまうことがありませんか?そんなときに便利(?)なのが「sl」コマンドです。(Linux,Mac) このコマンドを実行するとシェル全体にSLのアスキーアートが表示されます。インストールする必要がありますが、入れておくとふとした時に笑わせてくれるかも!?

構文(Linux)

Linux sl [オプション]

オプション

-l 細長いSLを表示する。
-a 車内の客に「HELP!」と叫ばせる。
-F 上の方へSLを飛んでゆかせる。
※これらのオプションは組み合わせることもできます。お試しあれ。 sl
1+