UNIXコマンドのlsでディレクトリの中身を表示する方法【初心者向け】

UNIXコマンドの【ls】でディレクトリの中身を表示する方法を初心者向けに解説した記事。よく使うオプションを3つ紹介。全てのファイルを表示、ディレクトリを指定、ファイルの状態を表示することができます。パーミッションについても解説。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が1,000以上あります。

プログラミングをする際に最低限知っておきたいこととして、UNIXコマンドがあります。

今回は基本的な、lsコマンドの使い方を初心者向けに紹介します。

 

20160620

 

田島メンター!!ディレクトリの中身ってどうやってみるんでしたっけ・・・?

 

20163020-2

 

lsコマンドだね。

 

 

lsコマンドとは

ディレクトリの中身を表示するために、lsコマンドを使います。lsとはlist(リスト)の略称です。 よくIs(アイエス)やsl(エスエル)と間違える人がいますので注意しましょう。

ターミナルではWindowsなどのフォルダと異なり、現在のディレクトリにどのようなファイルが格納されているのか、 一目でわかるようになっていません。そのため、lsコマンドを用いる必要があります。

 

早速使ってみましょう。lsと入力して実行すると、ディレクトリに格納されているファイルの一覧が表示されます。

ls1-620x192

今回の例では、「Desktop」や「Public」といったディレクトリがあることがわかります。

基本的な使い方はこれだけです。

 

lsコマンドのオプション

lsコマンドにはいくつかのオプションがあります。今回はよく使う3つを紹介します。これらのオプションは組み合わせて同時に使用することが可能です。

 

-a

ls -aと入力して使います。aはallの略で、その名の通り全てのファイルを表示するオプションです。

このオプションを使うことで、隠しファイルも含めた全てのファイルが表示されます。Linuxには、「.(ドット)」から始まる隠しファイルが存在し、lsと入力するだけでは表示されません。

ls2-620x205

 

ls ディレクトリ名

lsコマンドの後ろにディレクトリ名を入れて実行すると、そのディレクトリの中身を表示します。ディレクトリは、絶対パス・相対パスどちらで入力しても構いません。

 

-l

ls -lで実行すると、格納されているファイル名だけではなく、状態も同時に表示されます。表示内容には、ファイルの権限(パーミッション)やオーナー名、更新日時などがあります。

実際に入力するとこのように表示されます。

ls3-620x269

左端にdと表示されていればディレクトリ、 されていなければファイルです。

その後ろの、2桁目から4桁目でファイルの権限(パーミッション)を記号で表示しています。1桁目が「ファイル所有者」のアクセス権、2桁目が「グループ」のアクセス権、3桁目が「その他のユーザー」のアクセス権となります。

記号の意味は下記の通りです。

記号 誰に
a すべてのユーザ
u 所有者
g グループ
o 他のユーザ
記号 付加・除去
+ 付加
除去
= 全クリア
記号 権限の種類
r 読み
w 書き
x 実行

例えば、先ほどの例の「Desktop」というディレクトリでは、2桁目から4桁目にrwxと表示されています。 これは、ファイル所有者は読み込み・書き込み・実行が可能、グループとその他のユーザーは全て不可ということになります。

一番下にある「Public」というディレクトリではどうでしょう。 ファイル所有者はrwx、グループと他のユーザーはr-xとなっています。 そのため、ファイル所有者は読み込み・書き込み・実行が可能、グループと他のユーザーは読み込みと実行のみが可能ということになります。

最初は難しいかもしれませんが、特にネットワークで作業をする際に使うので徐々に覚えていきましょう。

 

今回の記事は以上です。

他のUNIXコマンドを確認したい場合はUNIXコマンドの一覧をご覧ください。

 

20160620

 

-lオプションつけると色々な情報がみられるんですね!

 

20163020-2

 

そうだね。見慣れないと少し難しいかもしれないけどUNIXでは必須のコマンドだから覚えておいたほうが良いね。

20160620

 

はい♪

 

 

[お知らせ]TechAcademyでは、最短4週間でオリジナルWebサービスが開発できるオンラインブートキャンプを開催しています。開発しながらUNIXコマンドも学ぶことができます。