このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

ファイルやディレクトリを一覧表示する:lsコマンドの基本

lsコマンドは、Linuxで最も基本的かつ頻繁に使用されるコマンドの一つであり、ディレクトリ内のファイルやディレクトリを一覧表示するために使用します。ここでは、その基本的な使い方を解説します。

lsコマンドの基本的な使い方

 lsコマンドは、引数を指定しない場合、カレントディレクトリ内のファイルとディレクトリを表示します。一方、引数としてディレクトリやファイルを指定すると、その中に含まれるファイルやディレクトリを表示します。

コマンドの構文

ls [オプション] [ファイルまたはディレクトリ]

ディレクトリを引数にして実行

 引数としてディレクトリを指定すると、そのディレクトリ内のファイルやディレクトリを表示します。

例:ルートディレクトリ/の内容を表示

user01@ubuntu:~$ ls /
bin      dev   lib    mnt   run      srv  var
boot     etc   lib64  opt   sbin     sys
cdrom    home  media  proc  snap     tmp

ファイルを引数にして実行

引数としてファイルを指定すると、そのパスが表示されます。

例:/bin/cpファイルを指定

user01@ubuntu:~$ ls /bin/cp
/bin/cp

複数のディレクトリを指定して実行

引数は複数指定することができます。この場合、指定されたすべての引数に対して処理を行います。

例://varの内容を同時に表示

user01@ubuntu:~$ ls / /var
/:
bin      dev   lib    mnt   run      srv  var
boot     etc   lib64  opt   sbin     sys
cdrom    home  media  proc  snap     tmp

/var:
backups  lib    local  mail  opt   spool
cache    lock   log    metrics  run   tmp

ワイルドカード(*?)を使用したファイル指定

 lsコマンドで複数のファイルを指定したいとき、毎回すべてのファイル名を入力するのは大変です。そこで、bashにはファイル名の一部をパターンで指定するパス名展開という機能があります。これはワイルドカード展開ファイル名グロブとも呼ばれ、*(アスタリスク)と?(クエスチョンマーク)の記号を使用します。

パス名展開で使用される記号
記号説明
*任意の文字列
?任意の1文字
  • *は特によく使われ、任意の文字列に一致します。
  • ?は任意の1文字に一致します。

ファイルを作成して試してみる

まず、テスト用のファイルを作成します。

user01@ubuntu:~$ touch text1.txt text2.txt text3.txt text11.txt text12.txt text13.txt
*を使用した例

拡張子が.txtのファイルをすべて表示します。

user01@ubuntu:~$ ls *.txt
text1.txt  text11.txt  text12.txt  text13.txt  text2.txt  text3.txt

*.txtは、任意の文字列+.txtに一致するファイルを表示します。

?を使用した例

textに続く1文字.txtのファイルを表示します。

user01@ubuntu:~$ ls text?.txt
text1.txt  text2.txt  text3.txt

text?.txtは、text+任意の1文字+.txtに一致するファイルを表示します。text11.txtなどは一致しません。

不要なファイルの削除

作成したテスト用ファイルを削除します。

user01@ubuntu:~$ rm *.txt

まとめ

  • lsコマンドは、ファイルやディレクトリの一覧表示を行う基本的なコマンドです。
  • 引数なしで実行すると、カレントディレクトリの内容を表示します。
  • 引数にディレクトリやファイルを指定することで、その内容や情報を表示できます。
  • ワイルドカードを使用することで、複数のファイルを簡単に指定できます。

これらの機能を活用して、効率的にファイル管理を行いましょう。