[Linux] lsコマンドの使い方 – ファイルやディレクトリのリストを取得

lsコマンドは、Linuxでファイルやディレクトリのリストを表示するために使用されます。

基本的に、lsと入力するだけでカレントディレクトリ内のファイルやディレクトリが一覧表示されます。

オプションを追加することで、表示内容をカスタマイズできます。

例えば、ls -lで詳細情報(パーミッション、所有者、サイズ、タイムスタンプなど)を表示し、ls -aで隠しファイルも含めて表示します。

ls -Rはサブディレクトリも再帰的に表示します。

この記事でわかること
  • lsコマンドの基本的な使い方
  • 各種オプションの活用法
  • コマンドの組み合わせ技
  • エイリアス設定による効率化
  • 出力結果のカスタマイズ方法

目次から探す

lsコマンドとは

lsコマンドは、LinuxやUnix系のオペレーティングシステムで使用される基本的なコマンドの一つで、ファイルやディレクトリのリストを表示するために使われます。

このコマンドを実行することで、現在の作業ディレクトリ内に存在するファイルやフォルダの情報を簡単に確認することができます。

lslist の略で、シンプルながら非常に強力な機能を持っています。

lsコマンドは、さまざまなオプションを指定することで、表示内容をカスタマイズすることが可能です。

たとえば、詳細な情報を表示したり、隠しファイルを含めたり、特定の条件でソートしたりすることができます。

これにより、ユーザーは必要な情報を効率的に取得できるため、日常的なファイル管理において非常に役立つツールとなっています。

lsコマンドの基本オプション

-lオプション:詳細表示

-lオプションを使用すると、ファイルやディレクトリの詳細情報をリスト形式で表示します。

表示される情報には、ファイルのパーミッション、リンク数、所有者、グループ、サイズ、最終更新日時、ファイル名が含まれます。

これにより、ファイルの属性を一目で確認できます。

$ ls -l
drwxr-xr-x 2 user group 4096 Jan  1 12:00 directory
-rw-r--r-- 1 user group  123 Jan  1 12:00 file.txt

-aオプション:隠しファイルの表示

-aオプションを指定すると、通常は表示されない隠しファイル(ドットファイル)も含めてすべてのファイルを表示します。

隠しファイルは、名前の先頭にドット(.)が付いているファイルです。

これにより、設定ファイルや隠しディレクトリを確認することができます。

$ ls -a
.  ..  .hidden_file  file.txt

-Rオプション:再帰的な表示

-Rオプションを使用すると、指定したディレクトリ内のすべてのサブディレクトリとその内容を再帰的に表示します。

これにより、階層構造を持つディレクトリの内容を一度に確認することができます。

$ ls -R
.:
dir1  dir2  file.txt
./dir1:
file1.txt
./dir2:
file2.txt

-hオプション:人間に読みやすい形式でサイズを表示

-hオプションを指定すると、ファイルサイズを人間に読みやすい形式(KB、MBなど)で表示します。

これにより、サイズの感覚をつかみやすくなります。

$ ls -lh
-rw-r--r-- 1 user group 1.2K Jan  1 12:00 file.txt

-tオプション:更新日時順に並べ替え

-tオプションを使用すると、ファイルやディレクトリを最終更新日時の新しい順に並べ替えて表示します。

これにより、最近変更されたファイルを簡単に見つけることができます。

$ ls -lt
total 8
-rw-r--r-- 1 user group 1.2K Jan  1 12:00 file2.txt
-rw-r--r-- 1 user group 1.0K Jan  1 11:00 file1.txt

-Sオプション:ファイルサイズ順に並べ替え

-Sオプションを指定すると、ファイルやディレクトリをサイズの大きい順に並べ替えて表示します。

これにより、大きなファイルを特定しやすくなります。

$ ls -lS
total 8
-rw-r--r-- 1 user group 2.0K Jan  1 12:00 large_file.txt
-rw-r--r-- 1 user group 1.0K Jan  1 11:00 small_file.txt

-rオプション:逆順で表示

-rオプションを使用すると、通常の表示順序を逆にして表示します。

たとえば、アルファベット順で表示する場合、ZからAの順に並べ替えられます。

これにより、特定の条件での逆順表示が可能になります。

$ ls -r
file2.txt  file1.txt

lsコマンドの応用オプション

–colorオプション:色付きで表示

--colorオプションを使用すると、ファイルやディレクトリの種類に応じて色分けして表示します。

これにより、視覚的にファイルの種類を区別しやすくなります。

たとえば、ディレクトリは青、実行可能ファイルは緑で表示されます。

$ ls --color
directory  file.txt  executable

-dオプション:ディレクトリ自体を表示

-dオプションを指定すると、ディレクトリの内容ではなく、ディレクトリ自体の情報を表示します。

これにより、特定のディレクトリの詳細を確認することができます。

$ ls -d directory
directory

-iオプション:inode番号を表示

-iオプションを使用すると、各ファイルやディレクトリのinode番号を表示します。

inode番号は、ファイルシステム内でファイルを一意に識別するための番号です。

これにより、ファイルの管理やトラブルシューティングに役立ちます。

$ ls -i
123456 file.txt
123457 directory

-Fオプション:ファイルタイプを表示

-Fオプションを指定すると、ファイル名の後にファイルの種類を示す記号が付加されます。

たとえば、ディレクトリにはスラッシュ(/)、実行可能ファイルにはアスタリスク(*)が付加されます。

これにより、ファイルの種類を一目で確認できます。

$ ls -F
directory/  file.txt  executable*

–sortオプション:カスタムソート

--sortオプションを使用すると、表示するファイルのソート方法を指定できます。

たとえば、--sort=sizeを指定すると、ファイルサイズ順に並べ替えられます。

これにより、特定の条件での表示が可能になります。

$ ls --sort=size
file1.txt  file2.txt  directory

–time-styleオプション:タイムスタンプの表示形式を指定

--time-styleオプションを使用すると、ファイルのタイムスタンプの表示形式をカスタマイズできます。

たとえば、--time-style=long-isoを指定すると、長いISO形式で表示されます。

これにより、タイムスタンプの見やすさを向上させることができます。

$ ls --time-style=long-iso
total 8
-rw-r--r-- 1 user group 2023-01-01 12:00 file.txt

lsコマンドの組み合わせ技

lsコマンドとgrepの組み合わせ

lsコマンドとgrepコマンドを組み合わせることで、特定のパターンにマッチするファイルやディレクトリをフィルタリングして表示できます。

たとえば、特定の拡張子を持つファイルだけを表示したい場合に便利です。

$ ls | grep ".txt"
file1.txt
file2.txt

lsコマンドとsortの組み合わせ

lsコマンドの出力をsortコマンドと組み合わせることで、表示内容をさらにカスタマイズできます。

たとえば、ファイル名をアルファベット順に並べ替えたり、サイズ順に並べ替えたりすることができます。

$ ls -l | sort -k 5 -n

lsコマンドとfindの組み合わせ

lsコマンドとfindコマンドを組み合わせることで、特定の条件に基づいてファイルを検索し、その結果を表示することができます。

findコマンドで見つけたファイルをlsコマンドで詳細表示することが可能です。

$ find . -name "*.txt" -exec ls -l {} \;

lsコマンドとxargsの組み合わせ

lsコマンドの出力をxargsコマンドと組み合わせることで、複数のファイルに対して一括でコマンドを実行できます。

たとえば、特定のファイルを削除する場合などに便利です。

$ ls | grep ".tmp" | xargs rm

lsコマンドのエイリアス設定

エイリアスの作成方法

エイリアスを作成することで、lsコマンドにオプションを付けた状態で簡単に実行できるようになります。

エイリアスは、シェルの設定ファイル(通常は~/.bashrc~/.bash_profile)に追加します。

以下の形式でエイリアスを定義します。

alias ll='ls -l'

この例では、llと入力することでls -lが実行されるようになります。

エイリアスを作成した後は、設定ファイルを再読み込みするか、シェルを再起動する必要があります。

よく使うエイリアスの例

以下は、lsコマンドに関連するよく使われるエイリアスの例です。

これらを設定することで、作業効率が向上します。

スクロールできます
エイリアス名コマンド内容説明
llls -l詳細表示
lals -a隠しファイルも表示
lls -lh人間に読みやすい形式で表示
ltls -lt更新日時順に表示
lsdls -d */ディレクトリのみ表示

エイリアスの永続化方法

エイリアスを永続化するためには、シェルの設定ファイルにエイリアスを追加する必要があります。

以下の手順で永続化を行います。

  1. お好みのテキストエディタで設定ファイルを開きます。
nano ~/.bashrc
  1. エイリアスを追加します。
alias ll='ls -l'
  1. 設定ファイルを保存して閉じます。
  2. 設定を反映させるために、以下のコマンドを実行します。
source ~/.bashrc

これで、シェルを再起動することなく、エイリアスが使用できるようになります。

lsコマンドの実行結果のカスタマイズ

環境変数LS_COLORSの設定

LS_COLORS環境変数を設定することで、lsコマンドの出力における色のカスタマイズが可能です。

この変数は、ファイルの種類に応じた色を指定するために使用されます。

色の設定は、シェルの設定ファイル~/.bashrc~/.bash_profileに追加します。

export LS_COLORS='di=34:fi=0:ln=36:pi=33:so=32:bd=46;34:cd=46;34;1'

この例では、ディレクトリ(di)を青(34)、通常のファイル(fi)をデフォルト(0)、シンボリックリンク(ln)をシアン(36)で表示するように設定しています。

設定後は、シェルを再起動するか、設定ファイルを再読み込みする必要があります。

デフォルトの表示形式を変更する方法

lsコマンドのデフォルトの表示形式を変更するには、エイリアスを使用してカスタマイズすることができます。

たとえば、常に詳細表示を行いたい場合は、以下のように設定します。

alias ls='ls -l --color=auto'

この設定により、lsと入力するだけで詳細表示が行われ、色分けも適用されます。

設定を永続化するためには、シェルの設定ファイルに追加する必要があります。

lsコマンドの出力をファイルに保存する方法

lsコマンドの出力をファイルに保存するには、リダイレクト機能を使用します。

>を使って出力を指定したファイルに書き込むことができます。

既存のファイルに上書きする場合と、>>を使って追記する場合があります。

$ ls -l > output.txt
$ ls -a >> output.txt

これにより、output.txtファイルにlsコマンドの結果が保存されます。

ファイルの内容を後で確認することができ、必要に応じて他のコマンドと組み合わせて利用することも可能です。

lsコマンドのトラブルシューティング

lsコマンドが動作しない場合の対処法

lsコマンドが動作しない場合、まずはコマンドが正しくインストールされているか確認します。

Linuxのほとんどのディストリビューションでは、lsは基本的なコマンドとして標準でインストールされていますが、何らかの理由で削除されている可能性もあります。

以下の手順で確認します。

  1. コマンドのパスを確認します。
which ls

正常にインストールされていれば、パスが表示されます。

表示されない場合は、システムに問題があるか、コマンドが削除されている可能性があります。

  1. シェルを再起動してみます。

環境変数や設定が影響している場合があります。

  1. システムのパッケージマネージャを使用して、coreutilsパッケージを再インストールします(lsコマンドはこのパッケージに含まれています)。
sudo apt-get install --reinstall coreutils

lsコマンドの出力が多すぎる場合の対処法

lsコマンドの出力が多すぎて見づらい場合、いくつかの方法で出力を制限できます。

以下の方法を試してみてください。

  1. ページャを使用する: lessmoreコマンドと組み合わせて、出力をページ単位で表示します。
ls -l | less
  1. 出力をフィルタリングする: grepコマンドを使用して、特定のパターンにマッチするファイルのみを表示します。
ls | grep ".txt"
  1. オプションを使用する: -1オプションを使って、1行に1ファイルずつ表示することもできます。
ls -1

lsコマンドでパーミッションエラーが出る場合の対処法

lsコマンドを実行した際にパーミッションエラーが表示される場合、表示しようとしているディレクトリやファイルに対するアクセス権が不足していることが原因です。

以下の対処法を試してみてください。

  1. sudoを使用する: 管理者権限でコマンドを実行することで、アクセス権の問題を回避できます。
sudo ls -l /restricted_directory
  1. パーミッションを確認する: ls -lコマンドを使用して、ファイルやディレクトリのパーミッションを確認します。
ls -l /path/to/directory
  1. パーミッションを変更する: 必要に応じて、chmodコマンドを使用してパーミッションを変更します。

ただし、これには管理者権限が必要な場合があります。

sudo chmod 755 /path/to/directory

これらの手順を試すことで、lsコマンドのトラブルシューティングが行えます。

よくある質問

lsコマンドでファイルのサイズが異なるのはなぜ?

lsコマンドで表示されるファイルのサイズが異なる場合、いくつかの要因が考えられます。

まず、ファイルシステムのブロックサイズによって、実際のサイズと表示されるサイズが異なることがあります。

ファイルがブロックサイズの倍数でない場合、余分なスペースが加算されることがあります。

また、-hオプションを使用している場合、サイズが人間に読みやすい形式(KB、MBなど)で表示されるため、実際のバイト数とは異なる印象を与えることがあります。

lsコマンドで表示されるファイルの順番を変更できますか?

はい、lsコマンドでは表示されるファイルの順番を変更することができます。

いくつかのオプションを使用することで、ファイルを特定の基準でソートできます。

たとえば、-tオプションを使用すると、最終更新日時順に並べ替えられ、-Sオプションを使用すると、ファイルサイズ順に並べ替えられます。

また、-rオプションを組み合わせることで、逆順に表示することも可能です。

lsコマンドで特定のファイルだけを表示する方法は?

特定のファイルだけを表示するには、lsコマンドとgrepコマンドを組み合わせる方法が一般的です。

たとえば、特定の拡張子を持つファイルを表示したい場合、以下のようにします。

ls | grep ".txt"

また、ワイルドカードを使用して特定のパターンにマッチするファイルを表示することもできます。

たとえば、すべての.jpgファイルを表示するには、次のようにします。

ls *.jpg

これにより、指定した条件に合致するファイルのみを簡単に表示することができます。

まとめ

この記事では、lsコマンドの基本的な使い方から応用オプション、エイリアス設定、実行結果のカスタマイズ方法、トラブルシューティングまで幅広く解説しました。

これにより、ファイルやディレクトリの管理がより効率的に行えるようになります。

今後は、これらの知識を活用して、日常の作業をスムーズに進めてみてください。

  • URLをコピーしました!
目次から探す