Linuxコマンドのlsコマンドの使い方について書いています。
lsコマンドを使うと、指定したパスやカレントディレクトリのファイルやフォルダなどを確認することができます。
MacやUbuntuなど、Linux系のOSを使っているとよく使うコマンドのひとつかと思います。
今回載せているコマンドはMac OSのバージョン13.2.1で確認しました!
ターミナルの使い方については、こちらに書きました。
lsコマンドの使い方
lsコマンドを使うと、現在のディレクトリ配下のファイルやフォルダを確認できます。
特にオプションを付けずに、ターミナルで下記のように実行します。
$ ls
そうすると、このように現在位置(カレントディレクトリ)の配下のファイルやディレクトリが表示されます。
$ ls
test.md test.txt testDirectory
/Users/xxx/testという位置で実行しました。
testディレクトリの配下のファイルやフォルダが確認できました。(testDirectoryがディレクトリで他はファイルです)
このように、ディレクトリに配置されているファイルやサブディレクトリを確認することができます。
また、下記のようにパスを渡すと、そのディレクトリ配下にあるファイルやサブディレクトリを表示してくれます。
$ ls /usr/local/bin
次に、オプションをつけてlsコマンドを使ってみます。
lsコマンドを使ったサンプル9つ!
よく使いそうなものから、lsコマンドのオプションを使ってみました。
下記の構造のディレクトリとファイルを使って、実行した結果も一緒に載せています。
├── .test_file
├── test.md
├── test.txt
└── testDirectory
├── sub.txt
└── test2.md
詳細を表示する
-lオプションをつけると、詳細情報を表示することができます。
$ ls -l
実行すると、下記のように表示されました。
$ ls -l
total 8
-rw-r--r-- 1 xxx staff 0 5 17 13:57 test.md
-rw-r--r-- 1 xxx staff 12 5 17 15:39 test.txt
drwxr-xr-x 4 xxx staff 128 5 17 15:15 testDirectory
一番左から、下記のように情報が並んでいます。
・ハードリンク数
・所有者
・所有グループ
・サイズ
・更新日時
・ファイル/ディレクトリ名
ファイルタイプやパーミッションなどについては、@ITのこちらの記事がわかりやすいです。
ディレクトリのみ表示する
ディレクトリ名のみを表示したいときには、grepコマンドと組み合わせると良いです。
$ ls -F | grep /
-Fオプションを使うと、ディレクトリの名前の後ろに「/」をつけてくれます。
grepコマンドで、この「/」がついているディレクトリのみ表示します。
実行すると、下記のようにディレクトリのみ表示されました。
$ ls -F | grep /
testDirectory/
ファイル名のみ表示する
ファイル名のみを表示したいときにも、grepコマンドと組み合わせると良いです。
$ ls -F | grep -v /
先ほどと同じで、-Fオプションを使うと、ディレクトリの名前の後ろに「/」をつけてくれます。
さらにgrepコマンドの-vオプションで除外すると、ファイル名のみが表示されます。
実行すると、このようにファイルの一覧が表示されます。
$ ls -F | grep -v /
test.md
test.txt
隠しファイルを表示する
隠しファイルも表示したいときには-aオプションを使います。
$ ls -a
こうすると「.」から始まる隠しファイルを無視せずに表示してくれます。
実行すると、このように「.」から始まるファイルも表示されます。
$ ls -a
. .. .test_file test.md test.txt testDirectory
サブディレクトリの中を確認したい
-Rオプションを使うと、サブディレクトリの中も再帰的に表示してくれます。
再帰表示なので、階層が深いディレクトリがあるところで使うときには注意です。
$ ls -R
実行すると、下記のようにサブディレクトリの下に置いているファイルも表示されました。
$ ls -R
test.md test.txt testDirectory
./testDirectory:
sub.txt test2.md
日付順に見たい
-tを使うと、新しく作った順に表示されます。
$ ls -tl
わかりやすくするために-tオプションと一緒に、-lオプションも使っています。
これで、新しく作った順にファイルやディレクトリが並びます。
$ ls -tl
total 8
drwxr-xr-x 4 xxx staff 128 5 17 15:15 testDirectory
-rw-r--r-- 1 xxx staff 9 5 17 13:57 test.txt
-rw-r--r-- 1 xxx staff 0 5 17 13:57 test.md
古い順にしたい
古い順にしたい場合には、-rオプションを足します。
-rオプションはソート順を反転させてくれます。
実行すると、下記のように古く作られた順になりました。
$ ls -tlr
total 8
-rw-r--r-- 1 xxx staff 0 5 17 13:57 test.md
-rw-r--r-- 1 xxx staff 9 5 17 13:57 test.txt
drwxr-xr-x 4 xxx staff 128 5 17 15:15 testDirectory
ファイルサイズ順にしたい
ファイルサイズ順に並べるときには-Sオプションを使います。
$ ls -lS
わかりやすくするために、-lオプションも一緒に使いました。
こうすると、下記のようにファイルサイズ順に並びます。
$ ls -lS
total 8
drwxr-xr-x 4 xxx staff 128 5 17 15:15 testDirectory
-rw-r--r-- 1 xxx staff 12 5 17 15:39 test.txt
-rw-r--r-- 1 xxx staff 0 5 17 13:57 test.md
逆順にしたいときは、先ほどと同じで-rオプションを使います。
$ ls -lSr
縦表示にしたい
縦表示にしたいときには-1オプションを使います。
英字のlではなく、数字の1になります。
そのまま使うと、横並びで表示されますが、-1を使うと下記のように表示されました。
$ ls -1
test.md
test.txt
testDirectory
lsコマンドのオプション一覧(表)
今回使ったオプションを表にしてみました。
| オプション値 | 内容 |
|---|---|
| -l | 詳細情報を表示してくれる。(ファイルタイプ/パーミッション・所有者など) |
| -F | タイプ識別子をつける。ディレクトリには末尾に/をつけてくれる。 |
| -a | 隠しファイルを無視せずに表示してくれる。 |
| -R | サブディレクトリまで再帰的に表示する。 |
| -t | 時刻で新しい順で、並び替えて表示する。 |
| -r | 現在の並びを逆順にする。 |
| -S | ファイルサイズ順に大きいものから表示される。 |
| -1 | 1ファイルにつき1行で表示する(縦並びになる) |
他のオプションなど、詳細はmanコマンドを実行し確認してみてください。
lsコマンドの使い方まとめ
今回はlsコマンドの使い方について書きました。
記事の内容をまとめると、下記のようになります。
・ディレクトリのみやファイルのみを検索するときには、grepコマンドと合わせて使った。
・`-l`や`-a`などのいろんなオプション値が存在する。
それぞれのオプションは組み合わせて使うことができます。
必要に応じて、いろんなオプションを組み合わせて使っていきましょう。

コメント