Linuxでlsコマンドを使用する方法

lsコマンドの使用方法がわからない場合、ストレージ上のファイルに関連する詳細情報を取得するのは難しいです。ここでは、Linuxでのlsコマンドに関連するすべてのものと、それに使用されるいくつかのさまざまなフラグについて説明します。

Linuxでのlsコマンド

lsコマンドは、現在の作業ディレクトリに存在するすべてのファイルとフォルダを一覧表示するために使用されます。同じコマンドを使用して、ファイルに関するさまざまな情報を取得することもできます。これはすでにGNUコアユーティリティパッケージに含まれているため、使用するためにシステムに追加のパッケージをインストールする必要はありません。

lsを他のbashコマンドと連鎖させることもできます。たとえば、 grepステートメントをlsでパイプすると、特定のファイルのディレクトリを検索およびフィルタリングできます。

lsコマンドの使用方法

lsコマンドの基本的な構文は次のとおりです。

 ls [options] [directory]

このコマンドの最も簡単な使用法の1つは、現在の作業ディレクトリ内のすべてのファイルとフォルダーを一覧表示することです。

 ls

システムのルートディレクトリで前述のステートメントを実行すると、次のような出力が表示されます。

 bin dev home lib64 mnt proc run srv tmp var
boot etc lib lost+found opt root sbin sys usr

特定のディレクトリ内のファイルの一覧表示

(現在の作業ディレクトリではなく)別のフォルダに属するファイルを一覧表示するには、コマンド名とともにディレクトリパスを渡す必要があります。

 ls [directory]

/ bootディレクトリに存在するすべてのファイルのリストを取得するには:

 ls /boot

出力には、指定されたディレクトリ名に存在するファイルとフォルダが表示されます。

 EFI grub initramfs-linux-fallback.img initramfs-linux.img vmlinuz-linux

コマンドで-Fフラグを使用すると、すべてのディレクトリの最後に/文字が追加されます。

 EFI/ grub/ initramfs-linux-fallback.img initramfs-linux.img vmlinuz-linux

パス名をスペース文字で区切ることにより、複数のディレクトリを渡すこともできます。

 ls /boot /usr
 Output
/boot:
EFI grub initramfs-linux-fallback.img initramfs-linux.img vmlinuz-linux
/usr:
bin etc include lib lib32 lib64 local sbin share src

ルートディレクトリ内のファイルを一覧表示する

ルートディレクトリには、システム上の他のすべてのディレクトリとファイルが含まれています。これは、コンピュータのディレクトリ階層の最上位のフォルダです。ルートディレクトリは通常、 /文字で示されます。

 ls /

コマンドを入力するときにどのディレクトリにいるかは関係ありません。上記のコマンドは、ルートディレクトリ内に存在するすべてのサブフォルダとファイルを一覧表示する出力を生成します。

親ディレクトリのファイルを一覧表示する

Linuxの親ディレクトリは、現在のディレクトリの上のディレクトリです。例として/ usr / binを取り上げましょう。ここで、 / binは現在の作業ディレクトリであり、 / usrは親ディレクトリです。

親ディレクトリ内のすべてのファイルのリストを取得するには:

 ls ..
 bin etc include lib lib32 lib64 local sbin share src

別の..を追加すると、親ディレクトリの親ディレクトリに移動します。たとえば、 / var / log / oldは現在の作業ディレクトリです。 ls ..は、 / logディレクトリに存在するフォルダを一覧表示しますが、 ls ../ ..は、 / varディレクトリに含まれるすべてのファイルとフォルダの一覧を提供します。

 ls ../..
 cache db empty games lib local lock log mail opt run spool tmp

ホームディレクトリのファイルを一覧表示する

Linuxのホームディレクトリは文字で示されます。したがって、ホームディレクトリで利用可能なコンテンツを一覧表示するには、次のようにします。

 ls ~

ディレクトリのみを一覧表示(ファイルなし)

何らかの理由でディレクトリに存在するフォルダのみを一覧表示する場合は、デフォルトのlsコマンドで-dフラグを使用します。

 ls -d /home

サブディレクトリを持つファイルを一覧表示する

lsコマンドで*文字を使用すると、現在の作業ディレクトリ内のすべてのファイルとフォルダのリストが、サブディレクトリとともに提供されます。

 ls *

ファイルを再帰的にリストする

デフォルトのコマンドで-Rフラグを使用すると、ディレクトリ内に存在するすべてのファイルとフォルダが最後のレベルまで一覧表示されます。

 ls -R

再帰フラグと一緒にディレクトリパスを渡すこともできることに注意してください。これは、 ls / usr / home-Rが有効なコマンドであることを意味します。

ファイルとそのサイズを一覧表示する

すべてのファイルの名前とそのサイズを取得するには、コマンドで-sフラグを使用します。

 ls -s /yay-git
 total 2944
4 pkg 4 src 4 yay 2932 yay-git-10.1.2.r0.g7d849a8-2-x86_64.pkg.tar.zst

関連: Mvコマンドを使用してLinuxでファイルを移動する

詳細情報を含むリストファイル

-lフラグを使用すると、Linuxディレクトリのコンテンツのリストと各エントリの詳細な説明を取得できます。次の情報が出力に含まれています。

  1. ファイルとフォルダーのアクセス許可
  2. リンク数
  3. コンテンツ所有者
  4. グループオーナー
  5. コンテンツサイズ
  6. ファイル名
  7. 最終変更日時
ls -l
 total 2944
drwxr-xr-x 3 sharmadeepesh sharmadeepesh 4096 Feb 8 13:53 pkg
drwxr-xr-x 4 sharmadeepesh sharmadeepesh 4096 Feb 8 13:52 src
drwxr-xr-x 7 sharmadeepesh sharmadeepesh 4096 Feb 8 13:54 yay
-rw-r--r-- 1 sharmadeepesh sharmadeepesh 2998674 Feb 8 13:53 yay-git-10.1.2.r0.g7d849a8-2-x86_64.pkg.tar.zst

最初の列は、ファイルとフォルダーのアクセス許可用に予約されています。最初の文字はファイルのタイプを示し、次の9文字はファイルのアクセス許可を示します。

よく目にするさまざまな種類のファイル:

  1. 通常のファイル(-)
  2. 特別なファイルをブロックする(b)
  3. キャラクタースペシャルファイル(c)
  4. ディレクトリ(d)
  5. シンボリックリンク(l)
  6. ネットワークファイル(n)
  7. FIFO(p)
  8. ソケット

ファイルのパーミッションについて言えば、次の文字が出力で使用されます。

  1. 読み取り可能(r)
  2. 書き込み可能(w)
  3. 実行可能(x)

一例としてr–の-のは、D RW-Rを見てみましょう。最初の文字は、エントリがディレクトリであることを示しています。次の2文字は、現在のユーザーが読み取りおよび書き込み権限を持っていることを示します。残りの文字は、他のユーザーのファイル権限に関する情報を提供します。

読み取り可能なサイズのファイルを一覧表示する

-sコマンドは、各エントリに関連付けられた数値を提供します。そして当然のことながら、この値の意味がわからないでしょう。したがって、ファイルとそのサイズを読みやすい方法で一覧表示するには、コマンドとともに-lhフラグを使用します。

 ls -lh
 total 2.9M
drwxr-xr-x 3 sharmadeepesh sharmadeepesh 4.0K Feb 8 13:53 pkg
drwxr-xr-x 4 sharmadeepesh sharmadeepesh 4.0K Feb 8 13:52 src
drwxr-xr-x 7 sharmadeepesh sharmadeepesh 4.0K Feb 8 13:54 yay
-rw-r--r-- 1 sharmadeepesh sharmadeepesh 2.9M Feb 8 13:53 yay-git-10.1.2.r0.g7d849a8-2-x86_64.pkg.tar.zst

出力では、バイト(B)、メガバイト(MB)、ギガバイト(GB)、およびテラバイト(TB)のサイズ指定子が使用されます。

隠しファイルを一覧表示する

デフォルトのlsコマンドは、出力に隠しファイルを含めません。ユーザーによって非表示に設定されているコンテンツを一覧表示するには、lsコマンドで-aフラグを渡します。

 ls -a

Grepコマンドを使用したlsのパイピング

grepコマンドは、特定の正規表現に従うパターンを照合するために使用されます。システムに存在するファイルを検索するために、このコマンドをlsと連鎖させることができます。ルートディレクトリに次のように入力します。

 ls | grep l

これにより、l文字で始まるすべてのファイルとフォルダーが一覧表示されます。 grepを使用して、拡張子に従ってファイルをフィルタリングすることもできます。

時間と日付でファイルを並べ替える

すべてのファイルを一覧表示し、作成/変更の日時に従って並べ替えるには、 -tフラグとlsを使用します。

 ls -t

サイズでファイルを並べ替える

-Sフラグを使用すると、ファイルとフォルダーをファイルサイズに従って並べ替えることができます。

 ls -S

デフォルトでは、ファイルは降順でソートされます(最大のファイルが最初に)。ただし、 -Sフラグを指定してrを追加することにより、この動作を簡単に元に戻すことができます。

 ls -Sr

ファイルを一覧表示し、出力をファイルに送信する

>文字を使用すると、lsコマンドの出力を任意のファイルに送信できます。

 ls > ls-output.txt

後で、ターミナルでcat ls-output.txtと入力すると、新しく作成されたファイルの内容を読み取ることができます。

lsコマンドを使用したディレクトリの内容の表示

lsコマンドは、Linuxユーザーに提供される最も強力なコマンドの1つです。ターミナルでコマンドを最大限に活用するには、連鎖コマンドを一緒に学習してみてください。 lsを使用してファイル移動するためにmvコマンドをパイプすることもできます

Linuxに慣れるための一番のヒントは、いくつかの基本的なコマンドを覚えておくことです。これは確かにあなたのシステムを使用している間、はるかに効率的かつ迅速になるのに役立ちます。