【Linux】lsコマンド-ファイル・ディレクトリを一覧表示する|初学者に向けた備忘録

Linux
スポンサーリンク
はづき
はづき

こんにちは!はづきです

文系から一部上場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詳細情報を含めて表示する
-11行あたり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コマンドについて紹介しました

みなさんのお役に立てば幸いです。最後まで読んでいただきありがとうございました

おしまい

コメント

タイトルとURLをコピーしました