こんにちは!はづきです
文系から一部上場IT企業に就職し、エンジニアをやっています
この記事はLinuxのlsコマンドについての備忘録です
lsコマンドはファイルやディレクトリのリストを一覧表示するコマンドです
基本操作や頻繁に使用するオプションの実行例を紹介します。ぜひご参考ください
※この記事は初心者向けに平易に解説しています。正確な理解をしたい人は専門書・専門家をあたっていただければと思います。また、この記事の情報におけるCPの動作結果については自己責任でお願いします。
※本サイトにはプロモーション・広告が含まれています(はづきのブログより)
lsコマンドの基本操作
lsコマンドはファイルやディレクトリのリストを一覧表示するコマンドです
基本操作としては「ls」と入力して実行すればOKです。カレントディレクトリ配下にあるファイルやディレクトリを表示することができます
上記の画像のようにカレントディレクトリがworkである状態で「ls」を実行した結果が以下になります
hazuki@hazukiBlog:~/work$ pwd #workがカレントディレクトリ
/home/hazuki/work
hazuki@hazukiBlog:~/work$ ls #lsを実行
dir1 dir2 file1 storage
#隠しファイルの表示は「-a」オプションを付ける必要がある
lsコマンドのオプション
lsコマンドには多くのオプションが用意されています
この記事では使用頻度の高いオプションを15種類紹介します。また、特によく使うものについては実行例を示しながら解説します
(使用頻度についてははづき調べです。完全に私の主観です。。)
lsコマンドのオプション一覧【15種類】
実行環境があればぜひ以下のオプションを付けて試してみてください
オプション名 | 機能説明 |
-a | 隠しファイルを含めてすべて表示する |
-l | 詳細情報を含めて表示する |
-1 | 1行あたり1つのディレクトリ/ファイルで表示する (縦に並べて表示する) |
-r | 逆順で表示する(他のソートオプションと併用) |
-t | 更新日が新しい順にソートして表示する |
-i | 「iノード番号(※1)」を表示する ※1.ファイルを管理するのに使われている数値 |
-m | カンマで区切って表示する |
-h | ファイルサイズを適切な単位を用いて表示する(-lと併用) |
-k | ファイルサイズを1KB単位で表示する(-lと併用) |
-X | 拡張子をアルファベット順にソートして表示する |
-S | ファイルサイズの大きい順にソートして表示する |
-F | タイプ識別子(*/=>@|)を付けて出力する ・通常ファイル:なし ・ディレクトリ:/ ・実行可能ファイル:* ・シンボリックリンク:@ |
-R | ディレクトリ内を再帰的に表示する |
-Q | ダブルクオート(")で囲んで表示する |
-L | シンボリックリンクのリンク先(論理名)の情報で表示する |
-a:隠しファイルを含めてすべて表示する
aは隠しファイルも表示させるオプションです
「.」から始まるファイルは「隠しファイル/ディレクトリ」と呼ばれ、オプションなしの「ls」コマンドでは表示させることができません
以下で実行例を紹介します
hazuki@hazukiBlog:~/work$ ls #オプションなしのls実行例
dir1 dir2 file1 file2 storage2
hazuki@hazukiBlog:~/work$ ls -a #aオプション付きのls実行例
. .. .dotDir dir1 dir2 file1 file2 storage
#↑隠しディレクトリ「.dotDir」が表示された
-l:詳細情報を含めて表示する
lオプションは一覧表示するファイル/ディレクトリの詳細情報を表示するオプションです
以下が実行例です
hazuki@hazukiBlog:~/work$ ls #オプションなしのls実行例
dir1 dir2 file1 file2 storage
hazuki@hazukiBlog:~/work$ ls -l
total 12
drwxr-xr-x 2 hazuki hazuki 4096 Jun 13 16:52 dir1
drwxr-xr-x 2 hazuki hazuki 4096 Jun 13 16:52 dir2
-rw-r--r-- 1 hazuki hazuki 410 Jun 21 17:54 file1
-rw-r--r-- 1 hazuki hazuki 0 Jun 13 07:59 file2
lrwxrwxrwx 1 hazuki hazuki 11 Jun 13 13:21 storage -> ../storage/
実行例の読み方について解説します
ざっくりとでも何を指しているかがわかっていると良いかと思います
-1:縦一列で表示する
1オプションは縦一列に表示するコマンドです
以下で実行例を紹介します
hazuki@hazukiBlog:~/work$ ls #オプションなしのls実行例
dir1 dir2 file1 file2 storage
hazuki@hazukiBlog:~/work$ ls -1 #1オプションを指定
dir1
dir2
file1
file2
storage
hazuki@hazukiBlog:~/work$ ls -1a #1オプションとaオプションを併せて指定
.
..
.dotDir
dir1
dir2
file1
file2
storage
-S:ファイルサイズ順に表示する
Sオプションはファイルサイズの大きい順で表示するコマンドです
Sオプションではファイルサイズ自体は見れないので、-lオプションと併せて使用することが多いです
以下で実行例を紹介します
hazuki@hazukiBlog:~/work$ ls #オプションなしのls実行例
dir1 dir2 file1 file2 storage
hazuki@hazukiBlog:~/work$ ls -S #Sオプションを指定
dir1 dir2 file1 storage file2
hazuki@hazukiBlog:~/work$ ls -lS #Sオプションとlオプションを併せて指定
total 12
drwxr-xr-x 2 hazuki hazuki 4096 Jun 13 16:52 dir1
drwxr-xr-x 2 hazuki hazuki 4096 Jun 13 16:52 dir2
-rw-r--r-- 1 hazuki hazuki 410 Jun 21 17:54 file1
lrwxrwxrwx 1 hazuki hazuki 11 Jun 13 13:21 storage -> ../storage/
-rw-r--r-- 1 hazuki hazuki 0 Jun 13 07:59 file2
-R:ディレクトリ中身も含めて表示する
Rオプションはディレクトリの中身も含めてすべて表示するオプションです
以下で実行例を紹介します。下の画像のようにworkをカレントディレクトリとして、その配下のファイル/ディレクトリを-Rオプションで表示します
hazuki@hazukiBlog:~/work$ ls -R
.:
dir1 dir2 file1 file2 storage #カレントディレクトリ配下の一覧表示
./dir1: #dir1配下の一覧表示
childDir file4 file5
./dir1/childDir: #childDir配下の一覧表示
file7
./dir2: #dir2配下の一覧表示
file6
-r:逆順に表示する
rオプションは表示する順番を逆にするオプションです
Sオプションなどと組み合わせて使うことで、昇順・降順を切り替えることができます
以下で実行例を紹介します。Sオプションではファイルサイズの大きい順で表示されていますが、rオプションを付けることで小さい順で表示できます
#ファイルサイズの大きい順で表示
#lオプションとSオプション
hazuki@hazukiBlog:~/work$ ls -lS
total 12
drwxr-xr-x 3 hazuki hazuki 4096 Jun 21 19:46 dir1
drwxr-xr-x 2 hazuki hazuki 4096 Jun 21 19:46 dir2
-rw-r--r-- 1 hazuki hazuki 410 Jun 21 17:54 file1
lrwxrwxrwx 1 hazuki hazuki 11 Jun 13 13:21 storage -> ../storage/
-rw-r--r-- 1 hazuki hazuki 0 Jun 13 07:59 file2
#rオプションでファイルサイズの小さい順で表示
hazuki@hazukiBlog:~/work$ ls -lSr
total 12
-rw-r--r-- 1 hazuki hazuki 0 Jun 13 07:59 file2
lrwxrwxrwx 1 hazuki hazuki 11 Jun 13 13:21 storage -> ../storage/
-rw-r--r-- 1 hazuki hazuki 410 Jun 21 17:54 file1
drwxr-xr-x 2 hazuki hazuki 4096 Jun 21 19:46 dir2
drwxr-xr-x 3 hazuki hazuki 4096 Jun 21 19:46 dir1
任意の文字列に一致するファイル/ディレクトリを表示する
lsコマンドはパス名展開が有効なコマンドなので、任意の文字列を指定してファイル/ディレクトリを表示することができます
パス名展開は以下のような記号を使うことで、文字列を指定します
記号 | 効果 |
* | 任意も文字列を意味する |
? | 任意の1文字を意味する |
イメージは以下のような感じです
- 「ls d*」→ dから始まるファイル/ディレクトリが表示されます
- 「ls d???」→ dから始まる4文字のファイル/ディレクトリが表示されます
実際に実行例を紹介します
hazuki@hazukiBlog:~/work$ ls
abc.html def.html dir1 dir2 file1 file2 storage2
hazuki@hazukiBlog:~/work$ ls f* #「f」から始まるものを表示
file1 file2
hazuki@hazukiBlog:~/work$ ls f???? #「f」から始まる5文字のものを表示
file1 file2
hazuki@hazukiBlog:~/work$ ls *.html #拡張子が「.html」のものを表示
abc.html def.html
今回はLinuxのlsコマンドについて紹介しました
みなさんのお役に立てば幸いです。最後まで読んでいただきありがとうございました
おしまい
コメント