👴
lsコマンドのオプションなんだっけな
どうもoreoです。
よく使うls
コマンドですが、オプションをいつも忘れるので、ここで一度纏めておきます。
1 概要
1-1 基本的な使い方
ls
コマンドを使うとファイルやディレクトリを一覧表示することができます。
例として、以下のようなディレクトリ構成を考えます。
├── .hidden
├── sample1.txt
├── sample2.txt
├── sample3.css
├── sample4.html
└── test
├── test1.txt
├── test2.txt
└── test3.txt
ls
コマンドを実行するとカレントディレクトリ配下の一覧が見れます。
$ ls
sample1.txt sample2.txt sample3.css sample4.html test
ファイルを指定するとパスが返ってきます。
$ ls sample1.txt
sample1.txt
$ ls test/test1.txt
test/test1.txt
存在しないファイル名やファイルパスを渡すとエラーになります。
$ ls sample100.txt
ls: sample100.txt: No such file or directory
1-2 ワイルドカードについて
シェルにはワイルドカードと呼ばれる機能があり、複数のファイルを指定する時に便利です。例えば、*
は任意の文字列を表し、?
は任意の1文字を表します。txtファイルだけを確認したい場合は、ls
コマンドと組み合わせて*.txt
で検索できます。
$ ls *.txt
sample1.txt sample2.txt
1-3 よく使いそうなオプション
-a
オプション
ファイル名が.
で始まる隠しファイルを含めて一覧表示してくれます。
$ ls -a
. .hidden sample2.txt sample4.html
.. sample1.txt sample3.css test
-l
オプション
ファイルの詳細情報も表示してくれます。
$ ls -l
total 32
-rw-r--r-- 1 hogeuser staff 19 11 2 09:49 sample1.txt
-rw-r--r-- 1 hogeuser staff 114 11 2 09:49 sample2.txt
-rw-r--r-- 1 hogeuser staff 56 11 2 09:49 sample3.css
-rw-r--r-- 1 hogeuser staff 270 11 2 09:49 sample4.html
drwxr-xr-x 6 hogeuser staff 192 11 2 08:39 test
-R
オプション
サブディレクトリの中身も全て表示してくれます
$ ls -R
sample1.txt sample2.txt sample3.css sample4.html test
./test:
test1.txt test2.txt test3.txt
-1
オプション
縦一列で表示してくれます。
$ ls -1
sample1.txt
sample2.txt
sample3.css
sample4.html
test
1-4 その他オプション
-h
オプション
人が読める形で容量を表示します。-l
や-s
と組み合わせて使います。ちなみに-s
は容量を表示するオプションです。
$ ls -l -h
total 32
-rw-r--r-- 1 hogeuser staff 19B 11 2 09:49 sample1.txt
-rw-r--r-- 1 hogeuser staff 114B 11 2 09:49 sample2.txt
-rw-r--r-- 1 hogeuser staff 56B 11 2 09:49 sample3.css
-rw-r--r-- 1 hogeuser staff 270B 11 2 09:49 sample4.html
drwxr-xr-x 6 hogeuser staff 192B 11 2 08:39 test
👆のコマンドは、ls -lh
でも同じ結果になります。
-r
オプション
逆順で表示してくれます。
$ ls -r
test sample4.html sample3.css sample2.txt sample1.txt
-t
オプション
最新の更新時間順で表示してくれます。
$ ls -t
sample3.css sample4.html test sample2.txt sample1.txt
-S
オプション
サイズの大きい順に表示してくれます。
$ ls -S
sample4.html test sample2.txt sample3.css sample1.txt
-m
オプション
コンマ区切りで表示してくれます
$ ls -m
sample1.txt, sample2.txt, sample3.css, sample4.html, test
3 最後に
手を動かして纏めてみると忘れないですね。
4 参考
Discussion