こんにちは、たねやつです。
この記事ではls
コマンドの基本的な使い方と例、オプションなどについて解説しています。
前の記事
直接的なつながりはありませんが、まだ前回まででRaspberry Piの初期セットアップを完了しました。ここからは超基本的なコマンドについての解説を進めていきます。
コマンドについて
ls
コマンドを使用することで任意のディレクトリ内のファイルとディレクトリを一覧表示することができます。エクスプローラーのようなGUIのない画面では現在位置に何があるかなどを確認してディレクトリを移動していきます。Linuxを触る人であればだれでも知っていなければならないコマンドの一つです😎
ls
はList
(リスト、一覧)から来ています。
現在のディレクトリ内の一覧表示
まずは単純にls
だけでコマンドを実行してみましょう!が、Raspberry Piの環境にログインした直後なら何も表示されません!!
$ ls $
まだ何もファイルやディレクトリを作成したりしていないので何も表示されないです。。。
一旦空のファイルを作成してみましょう。touch
コマンドを使用することで空のファイルを作成することができます。
$ touch file1 file2 file3 $ ls file1 file2 file3
これで表示できました!(笑)ちょっと面倒でしたが、ls
コマンド単体で実行すると自分の今いるディレクトリのファイルを表示することができます。
指定したディレクトリ内の一覧表示
次に指定したディレクトリの一覧を表示してみます。ls [内容を見たいディレクトリ]
で表示することができます。試しに初期設定などでよく出てきた/etc
ディレクトリのなかを見てみましょう。
$ ls /etc scadduser.conf fb.modes locale.alias plymouth services alternatives fstab locale.gen polkit-1 sgml ...
白と青と時々緑のファイルが表示されましたね!環境により色が異なるかもしれませんが、Raspberry Piの場合、白色がファイル、青色がディレクトリ、緑色が実行権限が与えられているファイルとなります。実行権限については別記事で紹介します。
指定したファイル名の一覧表示
ls [ファイル名]
で一致するファイル名の一覧表示ができます。これだけだと使い道はなさそうですが、アスタリスクと一緒に使用する(ワイルドカードを使用する)ことで、部分一致検索ができます。
例えば日付が書かれているログファイルが以下のようにあるとします。
... log-2018-01-11.tar.gz log-2018-01-21.tar.gz log-2018-02-01.tar.gz log-2018-02-11.tar.gz ...
そんなディレクトリの中で以下のように実行することでファイルを抽出することができます。
$ ls *2018-02* log-2018-02-01.tar.gz log-2018-02-11.tar.gz log-2018-02-21.tar.gz
コマンドライン上でファイル名を指定するだけであればタブキーを押せば予測で出すことができますが、一覧で出さなければならない時に便利です。
-l オプションで縦の一覧表示
-l
オプションを使用することで縦の一覧形式で表示することができます。
$ ls /etc -rw-r--r-- 1 root root 2981 Nov 13 21:58 adduser.conf drwxr-xr-x 2 root root 4096 Apr 19 15:52 alternatives drwxr-xr-x 3 root root 4096 Mar 8 15:14 apache2 ...
先ほどまではマトリクス形式で横と縦に表示されていましたが、今度は縦にズラズラっと表示されます。Windowsのエクスプローラーの詳細表示に似たような感じになっています。
さて、先ほどまでと違っていろいろ情報が追加されて表示されていると思います。
-rw-r--r-- 1 root root 2981 Nov 13 21:58 adduser.conf
左から、
- パーミション (ファイルに対して誰がどのような操作ができるか)
- リンクの数 (ファイルへのショートカットのようなものの数)
- 所有者名
- 所有グループ名
- (byte単位の)ファイルサイズ
- 最終更新日時
- ファイル名
となっています。わからない部分はそのままでも大丈夫です!後程別の記事でたっぷり解説します😍
更新日時なんかもまとめて表示できるのでこのコマンドをよく使う人も多いです。ファイル名が一か所にまとまって列挙されるのも見やすいポイントかと思います。
-a オプションで隠しファイルも表示
Linuxには、ファイルまたはディレクトリの名前の頭に.をつけると隠しファイルとして認識されるようになります。
実はこれはもともとはバグだったのですが現在でも慣習的に残ってしまっている使い方なんだそうです。。。(笑)
-a
オプションを使用することによってそのような隠しファイルも表示します。これをホームディレクトリ上で実行してみると先ほどのlsコマンドでは見えなかったファイルが出てきます。
$ cd ~ (ホームディレクトリに移動) $ ls -a . .. .bash_history .bash_logout .bashrc file1 file2 file3 .profile
.bashrc
などの隠しファイルと先ほど作成したファイルが表示されます。このような隠しファイル・ディレクトリに対して操作することも多々あるので、現場ではls -a
というコマンドだったりls -la
というコマンドが多用されます。私も普段からls -la
を使用しています。
しかし、毎回毎回ls -la
って打つの面倒くさくないですか?🤔🤔
エイリアスというコマンドの読み替えを設定できるので以下の記事を参考にしてみてください!
-h オプションでファイルサイズを見やすくする
最後に、たまに使用するのですがls -la
などで表示される一覧のファイルサイズはbyte単位で表示されているので、正確にどれぐらいのMBやKBなのかが一瞬では判断つきません。
-h
オプションを使用することでファイルサイズを人間が読みやすいように変換してくれます。
$ ls -la -rw-r--r-- 1 taneyats taneyats 3523 Apr 17 16:17 .bashrc $ ls -lah -rw-r--r-- 1 taneyats taneyats 3.5K Apr 17 16:17 .bashrc
横幅も若干スッキリするので上のエイリアスでの設定で追加しておいてもいいかもしれません。
最後に
以上が基本的なls
コマンドの使用方法となります。特にプログラムを作るためのコマンドではありませんが、CUI上では使わずには何もできない必須のコマンドですね!
もちろんプログラム上でもディレクトリ内に存在するファイル名を列挙できるという点を利用してファイルごとに処理を行うときなんかにこのコマンドの出力結果を使用したりもします。
次の記事
次回も、とてもとても基本的なコマンドのcd
と、絶対パス・相対パスについて解説します。
参考
以下のサイトの情報を引用・参考にしました。