Caution

お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。

UNIX(Linux)
入門編

  1. UNIX(Linux)とは
  2. ディストリビューションとは
  3. CentOSとMacOSとCUIについて
  4. 仮想化ソフトウェアを使ったCentOSのインストールとMacOSのCUI環境について
  5. ログインとrootユーザーとシャットダウン等について
  6. コマンドの構造と注意点について
  7. ファイルシステムとカレントディレクトリの移動と表示(cdとpwd)について
  8. 各主要ディレクトリの解説とディレクトリ等の内容表示(ls)について
  9. ちょっと高度なディレクトリの移動(cd)とパスについて
  10. 『ls』コマンドの応用(1)とドットファイルについて
  11. 『ls』コマンドの応用(2)
  12. タブキーを使った入力補完について
  13. ディレクトリの作成方法(mkdir)について
  14. ファイルの簡易作成(touch)とファイルについて
  15. 標準入出力とリダイレクション(>と>>)を使ったファイル生成とechoとcatについて
  1. ファイルとディレクトリの削除(rm)について
  2. ファイルとディレクトリのコピー(cp)について
  3. ファイルとディレクトリの移動と名前変更(mv)について
  4. viエディタとは
  5. viの基本的な使い方(1)
  6. viの基本的な使い方(2)
  7. ターミナル(sshとTera Term)を使ったリモート操作について
  8. ソフトウェアのインストール方法(yumとパッケージ管理ツール)について
  9. ユーザーの概要と確認と追加と切り替え(adduserとsu)について
  10. ユーザーのパスワードと削除と更新と管理者権限での実行(passwdとuserdelとusermodとsudo)について
  11. グループの概要と確認方法(groups)について
  12. グループの追加と削除と設定変更(groupaddとgroupdelとgroupmod)とユーザー追加方法について
  13. パーミッション(権限)について
  14. パーミッションの設定方法(chmodとchown)について
  1. トップページ
  2. UNIX(Linux)入門編 - 『ls』コマンドの応用(2)

『ls』コマンドの応用(2)

みなさまどうも。前回に続きましてもういっちょ『ls』コマンドについて色々とやっていきましょう。

今回最初に紹介するのは『-l』です。これも超重要オプションの1つになりますね。

この『-l』オプションを付けるとロング形式、つまり詳細情報付きで出力してくれるようになります。百聞は一見に如かずというわけでちょいと試してみましょう。

以下は『/』で『ls』を叩いてみました。

[root@localhost /]# ls
bin   dev  home  lib64       media  opt   root  selinux  sys  usr
boot  etc  lib   lost+found  mnt    proc  sbin  srv      tmp  var

はい、いつも通りな感じですね。んでもって『ls -l』を叩くとこうなります。

[root@localhost /]# ls -l
total 90
dr-xr-xr-x.  2 root root  4096  May 28 15:41 2018 bin
dr-xr-xr-x.  5 root root  1024  May 28 15:42 2018 boot
drwxr-xr-x. 19 root root  3600  May 31 12:40 2018 dev
drwxr-xr-x. 63 root root  4096  May 31 12:40 2018 etc
drwxr-xr-x.  2 root root  4096  Sep 23 20:50 2011 home
dr-xr-xr-x.  8 root root  4096  May 28 15:41 2018 lib
dr-xr-xr-x.  9 root root 12288  May 28 15:42 2018 lib64
drwx------.  2 root root 16384  May 28 15:41 2018 lost+found
drwxr-xr-x.  2 root root  4096  Sep 23 20:50 2011 media
drwxr-xr-x.  2 root root  4096  Sep 23 20:50 2011 mnt
drwxr-xr-x.  2 root root  4096  Sep 23 20:50 2011 opt
dr-xr-xr-x. 86 root root     0  May 31 12:40 2018 proc
dr-xr-x---.  4 root root  4096  May 31 21:26 2018 root
dr-xr-xr-x.  2 root root 12288  May 28 15:42 2018 sbin
drwxr-xr-x.  7 root root     0  May 31 12:40 2018 selinux
drwxr-xr-x.  2 root root  4096  Sep 23 20:50 2011 srv
drwxr-xr-x  13 root root     0  May 31 12:40 2018 sys
drwxrwxrwt.  3 root root  4096  Jun  1 03:13 2018 tmp
drwxr-xr-x. 13 root root  4096  May 28 15:41 2018 usr
drwxr-xr-x. 17 root root  4096  May 28 15:41 2018 var

先程とは打って変わってずらーーっと沢山の情報が出てきましたね。これが『-l』の効果です。

そして「『ドットファイル』とかも詳細情報付きで出力したいぜー(*'ω'*)」っていうやる気満々な時には『-a』も同時に指定、『-al』としてしまえばOKです。以下のような感じですね。

[root@localhost /]# ls -al
total 98
dr-xr-xr-x. 22 root root  4096  May 31 12:40 2018 .
dr-xr-xr-x. 22 root root  4096  May 31 12:40 2018 ..
-rw-r--r--.  1 root root     0  May 31 12:40 2018 .autofsck
dr-xr-xr-x.  2 root root  4096  May 28 15:41 2018 bin
dr-xr-xr-x.  5 root root  1024  May 28 15:42 2018 boot
drwxr-xr-x. 19 root root  3600  May 31 12:40 2018 dev
drwxr-xr-x. 63 root root  4096  May 31 12:40 2018 etc
drwxr-xr-x.  2 root root  4096  Sep 23 20:50 2011 home
dr-xr-xr-x.  8 root root  4096  May 28 15:41 2018 lib
dr-xr-xr-x.  9 root root 12288  May 28 15:42 2018 lib64
drwx------.  2 root root 16384  May 28 15:41 2018 lost+found
drwxr-xr-x.  2 root root  4096  Sep 23 20:50 2011 media
drwxr-xr-x.  2 root root  4096  Sep 23 20:50 2011 mnt
drwxr-xr-x.  2 root root  4096  Sep 23 20:50 2011 opt
dr-xr-xr-x. 86 root root     0  May 31 12:40 2018 proc
dr-xr-x---.  4 root root  4096  May 31 21:26 2018 root
dr-xr-xr-x.  2 root root 12288  May 28 15:42 2018 sbin
drwxr-xr-x.  7 root root     0  May 31 12:40 2018 selinux
drwxr-xr-x.  2 root root  4096  Sep 23 20:50 2011 srv
drwxr-xr-x  13 root root     0  May 31 12:40 2018 sys
drwxrwxrwt.  3 root root  4096  May 31 21:55 2018 tmp
drwxr-xr-x. 13 root root  4096  May 28 15:41 2018 usr
drwxr-xr-x. 17 root root  4096  May 28 15:41 2018 var

んでここからが重要なのですが上記の各項目の意味についてです。

この詳細情報は縦並びになってる表のような状態なわけでございますのでまず『drwxr-xr-x. 63 root root 4096 May 31 12:40 2018 etc』なんて書いてある部分の一番右側の項目に注目してみましょう。ここには「etc」とか「home」とか「var」とかが書いてありますね。これはお察しの通りファイル名とかディレクトリ名とかが記載されている部分になります。

続いてその左隣りの「May 28 15:41 2018」とかって部分がありますよね、こちらは更新時間が記載されている感じになります。まあこれも見たまんまな感じですね。

そしてここでちょいと小テクを紹介しておきたいのですが『ls』コマンドには『-t』オプションという子がおりましてこの子を使うと更新時間順に並び替える事ができます。

以下のような感じですね。以下は『-t』と『-l』を組み合わせて打ち込んでみました。

[root@localhost /]# ls -lt
total 90
drwxrwxrwt.  3 root root  4096  Jun  1 03:13 2018 tmp
dr-xr-x---.  4 root root  4096  May 31 21:26 2018 root
drwxr-xr-x. 19 root root  3600  May 31 12:40 2018 dev
drwxr-xr-x.  7 root root     0  May 31 12:40 2018 selinux
drwxr-xr-x  13 root root     0  May 31 12:40 2018 sys
dr-xr-xr-x. 86 root root     0  May 31 12:40 2018 proc
drwxr-xr-x. 63 root root  4096  May 31 12:40 2018 etc
dr-xr-xr-x.  5 root root  1024  May 28 15:42 2018 boot
dr-xr-xr-x.  2 root root 12288  May 28 15:42 2018 sbin
dr-xr-xr-x.  9 root root 12288  May 28 15:42 2018 lib64
dr-xr-xr-x.  2 root root  4096  May 28 15:41 2018 bin
dr-xr-xr-x.  8 root root  4096  May 28 15:41 2018 lib
drwxr-xr-x. 17 root root  4096  May 28 15:41 2018 var
drwxr-xr-x. 13 root root  4096  May 28 15:41 2018 usr
drwx------.  2 root root 16384  May 28 15:41 2018 lost+found
drwxr-xr-x.  2 root root  4096  Sep 23 20:50 2011 home
drwxr-xr-x.  2 root root  4096  Sep 23 20:50 2011 media
drwxr-xr-x.  2 root root  4096  Sep 23 20:50 2011 mnt
drwxr-xr-x.  2 root root  4096  Sep 23 20:50 2011 opt
drwxr-xr-x.  2 root root  4096  Sep 23 20:50 2011 srv

上から更新時間が新しい順に並んでいるのが確認できたと思います。これ結構便利なので覚えておくと良いかもです。

そしたら更に左側に「4096」とか「3600」とかって並んでるところありますよね。これはそのファイルとかディレクトリとかが使っているデータ量になります。

この表示で使われている単位はOSによって多少変わったりするのですがCentOSの場合はバイトになるのでこれを「キロバイトで表示させたいぜー」といった場合には『-lh』というように『-h』を付けてしまえばOKです。以下のような感じですね。こんな感じで「4.0k」といったようにキロバイトで表示してくれるようになります。

[root@localhost /]# ls -hl
total 90K
dr-xr-xr-x.  2 root root 4.0K  May 28 15:41 2018 bin
dr-xr-xr-x.  5 root root 1.0K  May 28 15:42 2018 boot
drwxr-xr-x. 19 root root 3.6K  May 31 12:40 2018 dev
...

ここでちょっと注意点なんですが『-h』オプションは『-l』オプションと同時に使わないと動いてくれません。ここちょっと忘れがちになる部分なので気を付けて下さい。以下みたいに『-h』とだけ打っても意味がなかったりします。

[root@localhost /]# ls -h
bin   dev  home  lib64       media  opt   root  selinux  sys  usr
boot  etc  lib   lost+found  mnt    proc  sbin  srv      tmp  var

なので覚えるとするならば『-lh』とセットで覚えてしまうと良いかもですね。

では続いてもういっちょ左側の部分に注目してみましょう。なにやら「root root」と書いてありますね。これは所有者とかを教えてくれてる部分になりまして左側が『所有者』、右側が『所有グループ』となります。

これなんのこっちゃってお話なんですが前の記事でも解説した通りUNIX系OSはWindowOSやMacOSと違い「1つのPC(デバイス)を複数人で操作するマルチユーザーシステム」が基本とされています。なので全てのファイルやディレクトリなどに対して「誰が所有者でどんな権限が与えられているのか」が厳密に決められており、このルールに反する場合は読み込みや書き込みに制限かかけられる感じになっています。

この権限周りについては結構ややこしいので先の記事で詳しく解説しますがとりあえず「root root」となっていたら「所有者がrootさんでグループはrootグループになるんだな(キリッ」という風にだけ読み解けるようにしておきましょう。

続いてさらに隣の部分なのですが「2」とか「5」とか「19」とかって数字が書いてありますね。これは「ハードリンクの数」を表しています。まあ通常使う分にはハードリンクの数はそこまで意識しなくてもOKなのでUNIX系OSの入門という段階ではシカトしちゃって良いかなと思います。もし気になる人は少々長ったらしいですが以下のNoteを読んでみて下さい。

ハードリンクとは一言で言うと「ファイル等を呼ぶ出す為の名前」って感じになりますね。世間だと「別名」とか「あだ名」とか「エイリアス」(別名とか偽名)って例えられている事が多いのですが著者的には「名前そのもの」ってイメージを持つと良いんじゃないかなって気がしています。

例えば「test.txt」ってファイルを作るとしますよね。このファイルは「test.txt」って名前が付いているわけなんですがこの名前自体がハードリンクと呼ばれるものになります。なので全てのファイルとディレクトリは「ハードリンクを必ず1つは持っている」という事になりますね。さらにUNIX系OSでは沢山のハードリンク(名前)を付けることが出来るような構造になっています。

そして沢山の名前を付けられるこのハードリンクな機能をどういう状況で使うのかと言われると一番よく使われるパターンが呼び出された名前によって処理を分岐させるように作られたコマンド(プログラム)ですね。

例えば1つのファイルで2つの機能を持つコマンド(プログラム)を作った時に「どっちの機能で実行させるか」っていう分岐をどのような方法で構築するかとなるとまず引数で指定させるってパターンが思いつきますよね。コマンド名が「hoge」で「open」と「close」っていう2つの機能を持っているとすると以下のような感じです。

[root@localhost /]# hoge open ここにファイルのパスとか
[root@localhost /]# hoge close ここにファイルのパスとか

これでも全然OKなのですが引数を指定するパターンだとタイピング数が多くなりがちだったりコマンドを使う側が引数の指定方法を忘れてしまったりっていう場合がちょいちょいあったりするので人によっては好まれなかったりします。

そんな時にハードリンクを使うと「複数の違う名前で同じファイルを呼び出しできる」ので「hoge」っていうファイルに「hop」と「hcl」ってハードリンクを付けて、そのプログラム内部で「どっちの名前で呼び出されたか」を判定して分岐させることで以下のように短いコマンドで目的の処理を実行させることが可能です。

[root@localhost /]# hop ここにファイルのパスとか
[root@localhost /]# hcl ここにファイルのパスとか

ちょっとした一例になりますがハードリンクはこんな使い方をされる事が多いです。

んで『ls -l』コマンドでなぜハードリンクの数が出力される仕様なのかというとファイル(データ)を削除したいと思った時にハードリンクが1つでも残っているとそのファイルは削除されない仕様だからでございます。つまりそのファイルを完全に削除するにはハードリンク数を0にする必要があったりするからでございます。

まだ紹介していないコマンドがいくつか登場しちゃうのですが例えば『echo』というコマンドと『>』を使って「aaaa」という内容が記述されたファイル「A」を作りますよね。

[root@localhost ~]# echo aaaa > A

んでもって中身を出力してくれるコマンドの『cat』をファイル「A」に対して実行させるとこうなります。

[root@localhost ~]# cat A
aaaa

「aaaa」って出力されていますね。

んでハードリンクを追加してくれるコマンド『ln』を使ってファイル「A」に「B」というハードリンクを追加します。

[root@localhost ~]# ln A B

これでこのファイルは「A」と「B」という2つの名前を持つようになりました。この状態で『ls -l』をするとこんな感じになります。

[root@localhost ~]# ls -l
total 32
-rw-r--r--. 2 root root     5  Jun 12 15:31 2018 A
-rw-r--r--. 2 root root     5  Jun 12 15:31 2018 B
...

「A」と「B」が別々に存在してるような扱いになっていますね。そしてハードリンクの数は「2」になっています。

ここで「B」に対しても『cat』をかけるとこうなります。

[root@localhost ~]# cat B
aaaa

「A」と「B」の本体(実体)となるファイル(データ)は同じなのでファイル「A」の時と同じく「aaaa」が出力されていますね。

ここでファイルを削除してくれるコマンド『rm』を使ってファイル「A」を削除してみます。

[root@localhost ~]# rm A

そしてもう一度『ls -l』を実行させるとこうなります。

[root@localhost ~]# ls -l
total 28
-rw-r--r--. 1 root root     5  Jun 12 15:31 2018 B
...

「A」は消えましたが「B」が残っていますね。つまり元々「A」と名付けられたファイルはまだ削除されてないってことになります。じゃあこのファイル(データ)を完全に削除するにはどうするのかというとファイル「B」も削除してハードリンク数を0にしてしまえばOKです。以下のような感じですね。

[root@localhost ~]# rm B
[root@localhost ~]# ls -l
total 24
...

ちょっとややこしいかもですがハードリンクっていうのはこういう動作になるわけです。

そして余談が長くなってしまって申し訳ないのですが「なぜハードリンク数を0にするとファイル(データ)が削除される仕様になっているのか」についてです。

ここでちょいとPCとかスマホとかのファイルシステムについて思いを馳せて頂きたいのですがどのファイル(データ)も名前は必ず1つ以上はついていてそれを使って操作するような流れになっていますよね。

逆に言うと名前が付いていないファイル(データ)はどうやっても呼び出すことが出来ない、つまりそのファイルは絶対に使う事が出来ないデータって事になるので「なら削除してしまえー」ってなっているような感じです。

ちなみに「ハードリンクの数が0にならない限り削除はされない」という仕様を利用して削除してはいけないファイルとかのバックアップとしてハードリンク機能を使う場合もあったりしますね。

削除してはいけないファイル「A」に「A.bk」っていうハードリンクを付けておけば間違えて「A」を削除してしまっても元ファイルは「A.bk」という名前で存在している事になるわけなのでとっても安心です。

「ファイルを複製しちゃえば良いんじゃね?」って思うかもですがファイルを複製するとその分のデータが増えてしまうのでストレージ容量に優しいのでございます。

では更に左側というか一番左側の部分です。ここには「drwxr-xr-x.」とか「dr-xr-x---.」とかって書いてあったりするのですがこの内部の一番左の文字の部分、上記のサンプルだと「d」って部分に注目です。

これはファイルの種類を表しており、「d」だと「ディレクトリですよー」って教えてくれています。んでこのファイルの種類はどういうのがあるのかというと

dディレクトリ
-ファイル
lシンボリックリンク

あたりになります。

他にもいくつか項目があり、念の為紹介しておくと

dブロックデバイス
cキャラクタデバイス
pパイプ
sソケット

って感じになりますが、最初に紹介した3つの「d」と「-」と「l」を覚えておけば大体なんとかなる感じですのでこの3つだけは覚えておくようにしましょう。

そして一番右側に「.」がついていますよね。「drwxr-xr-x.」とかの一番右側の部分です。これはなんじゃろなというと「SELinux」が有効化された状態で作られたディレクトリやファイルに「.」が付く感じになっています。「SELinux」っていうのはちょっとしたアクセス制御システムの1つになりますね。

ただ「SELinux」は主にCentOSなどのRedHat系のLinuxにしか導入されておらず、しかも他のソフトウェアの処理を邪魔してしまう場合がちょいちょいあったりで「SELinux」をオフにしてしまう場面も結構多かったりするのでこの「.」はシカトでOKでございます。必要になったら調べてみましょう。

そして一番肝心な真ん中の部分の解説です。「drwxr-xr-x.」だと「rwxr-xr-x」って部分ですね。これはアクセス権について表しています。

アクセス権というのは具体的に説明すると「該当ファイルやディレクトリ等を誰が読み出しできて誰が書き込み出来て誰が実行できるか」という情報でございましてそして大変心苦しいのですがこちらも結構ややこしいので先の記事で解説していきたいと思います。

先の記事で解説しますって項目が非常に多くて大変恐縮なのですがこういうのはコマンドと一緒に覚えたほうが覚えやすいのでのんびーり勉強して頂けたらなと思います。

『ls -l』を叩いた時に以下のように「total」っていうのが出てきます。日本語版だと「合計」なんて言葉になっていますね。

[root@localhost /]# ls -l
total 90
dr-xr-xr-x.  2 root root  4096  May 28 15:41 2018 bin
dr-xr-xr-x.  5 root root  1024  May 28 15:42 2018 boot
drwxr-xr-x. 19 root root  3600  May 31 12:40 2018 dev
drwxr-xr-x. 63 root root  4096  May 31 12:40 2018 etc
drwxr-xr-x.  2 root root  4096  Sep 23 20:50 2011 home
dr-xr-xr-x.  8 root root  4096  May 28 15:41 2018 lib
dr-xr-xr-x.  9 root root 12288  May 28 15:42 2018 lib64
...

この「total」はファイルとかディレクトリの合計数かと思ってしまいがちですが実は全くそんなことはなく、現在出力しているディレクトリとファイルで占有しているブロックの合計数となりますのでご注意下さい。

このブロックというのはなんなのかというとデータを管理する際の最小単位となります。PCとかでインストールされているOSくんはファイルシステムと呼ばれるデータ管理処理を使って情報を管理しているわけなのなのですがその際に使っている演算方法みたいな感じになりますね。

ここから先は完全に余談になるので興味無い方はすっ飛ばしてくれて構わないのですが、OSくんは「SSDやHDD等の内部ストレージのどの部分が使われていてどの部分が空いているか」という事を全て把握しています。

なんか「OSくんはそんな事まで把握しててまじぱねぇぜ...そこにシビれるあこがれるゥ!!(*'ω'*)」って思ってしまうかもですがこれを守っておかないと他のソフトウェアとかで使っていた部分を消してしまってデータが読み出せなくなってしまったりってことになるのでもーたいへんです。「とあるエディタを使ってテキストファイルを作ったら他のエディタで作ったテキストファイルがバグってたー!(:_;)」なんてなったら使い物になりませんよね。

んでこの際にある程度のデータを最小単位としてまとめて管理するようになっておりまして、このまとまりがブロックと呼ばれ、そのブロックの容量はブロックサイズなんて呼ばれます。CentOSだとブロックサイズは1024バイトになってる事が多いですね。

そしてなーぜ最小単位なんかを用意する必要があるのかというとそうしないと物理的に管理が不可能になるからですね。

通常のデジタルデータはバイナリデータ(0と1で表現できる2進数のデータ)で情報を保存しているわけなのですがその最小単位であるビットで昨今の「256GB」なんかを表記すると2199023255552ビットになります。日本語で言うとなると2兆1990億2325万5552個の領域があってそこに0か1が詰まってる感じですね。

ここで問題になるのがデータを保存する際に使われているのが0または1のパターンしか存在していないせいで「その領域が使われているか使われていないか」が直接見に行ったりしたところで全く判断が出来ないという事です。

なので実際に保存されているデータとは別にそのデータが使用している領域を管理する必要があって一般的なOSでは「内部ストレージに使用領域とかをメタデータとしてこっそり書き込んでおく」って感じになっています。

んでもってその領域が使われているかどうかのメタデータは「xxxの領域は使われています」って感じの情報になるわけでつまり最低でも「その領域の場所」、「その領域が使われているかどうか」の2つの情報を保存する必要がありバカ正直に全てのビット(領域)を管理しようするとそのメタデータは元々のデータ量よりも増えてしまうんですね。

2兆1990億2325万5552個の領域の使用済みか未使用かを管理するとなるとそりゃもーてえへんなデータ量になっちゃうのでございます。

この問題を解決するためにどうすれば良いかというとある程度のデータをまとめて管理するようにしてしまえば良いわけでこれがブロックと呼ばれるものになります。CentOSの場合だと1024バイト、つまり8192個のデータをワンセットとして管理することで1つ1つ使用済みかどうかを管理するよりもメタデータの容量は遥かに小さくすることができます。これで幸せになれそうですね。

と、長々と解説しましたがこれは完全に余談ですので「『ls -l』で出てくる『total』はファイルとかディレクトリの合計数じゃないんだな!(キリッ」とだけ覚えておいてください。

『ls』コマンドの引数にはディレクトリだけじゃなくファイルも指定する事ができます。こんな感じですね。

[root@localhost /]# ls -l text.txt
-rwxrwxrwt.  1 root root  4096  Jun  1 03:13 2018 test.txt

特定のファイルだけ詳細出力させたいって場合に便利なので覚えておくと良いかもです。

『ls』コマンドには『-r』オプションという子がいます。この子は出力順を逆にするという結構便利な子になります。

例えば『ls -lt』と打つと更新時間が新しい順の詳細情報が出てくるわけですが

[root@localhost /]# ls -lt
total 90
drwxrwxrwt.  3 root root  4096  Jun 13 03:19 2018 tmp
dr-xr-x---.  4 root root  4096  Jun 12 15:44 2018 root
drwxr-xr-x. 19 root root  3600  Jun 12 10:25 2018 dev
drwxr-xr-x.  7 root root     0  Jun 12 10:25 2018 selinux
drwxr-xr-x  13 root root     0  Jun 12 10:25 2018 sys
dr-xr-xr-x. 85 root root     0  Jun 12 10:25 2018 proc
drwxr-xr-x. 63 root root  4096  Jun 12 10:24 2018 etc
dr-xr-xr-x.  5 root root  1024  May 28 15:42 2018 boot
dr-xr-xr-x.  2 root root 12288  May 28 15:42 2018 sbin
dr-xr-xr-x.  9 root root 12288  May 28 15:42 2018 lib64
dr-xr-xr-x.  2 root root  4096  May 28 15:41 2018 bin
dr-xr-xr-x.  8 root root  4096  May 28 15:41 2018 lib
drwxr-xr-x. 17 root root  4096  May 28 15:41 2018 var
drwxr-xr-x. 13 root root  4096  May 28 15:41 2018 usr
drwx------.  2 root root 16384  May 28 15:41 2018 lost+found
drwxr-xr-x.  2 root root  4096  Sep 23 20:50 2011 home
drwxr-xr-x.  2 root root  4096  Sep 23 20:50 2011 media
drwxr-xr-x.  2 root root  4096  Sep 23 20:50 2011 mnt
drwxr-xr-x.  2 root root  4096  Sep 23 20:50 2011 opt
drwxr-xr-x.  2 root root  4096  Sep 23 20:50 2011 srv

これを『ls -ltr』と打つとこうなります。

[root@localhost /]# ls -ltr
total 90
drwxr-xr-x.  2 root root  4096  Sep 23 20:50 2011 srv
drwxr-xr-x.  2 root root  4096  Sep 23 20:50 2011 opt
drwxr-xr-x.  2 root root  4096  Sep 23 20:50 2011 mnt
drwxr-xr-x.  2 root root  4096  Sep 23 20:50 2011 media
drwxr-xr-x.  2 root root  4096  Sep 23 20:50 2011 home
drwx------.  2 root root 16384  May 28 15:41 2018 lost+found
drwxr-xr-x. 13 root root  4096  May 28 15:41 2018 usr
drwxr-xr-x. 17 root root  4096  May 28 15:41 2018 var
dr-xr-xr-x.  8 root root  4096  May 28 15:41 2018 lib
dr-xr-xr-x.  2 root root  4096  May 28 15:41 2018 bin
dr-xr-xr-x.  9 root root 12288  May 28 15:42 2018 lib64
dr-xr-xr-x.  2 root root 12288  May 28 15:42 2018 sbin
dr-xr-xr-x.  5 root root  1024  May 28 15:42 2018 boot
drwxr-xr-x. 63 root root  4096  Jun 12 10:24 2018 etc
dr-xr-xr-x. 85 root root     0  Jun 12 10:25 2018 proc
drwxr-xr-x  13 root root     0  Jun 12 10:25 2018 sys
drwxr-xr-x.  7 root root     0  Jun 12 10:25 2018 selinux
drwxr-xr-x. 19 root root  3600  Jun 12 10:25 2018 dev
dr-xr-x---.  4 root root  4096  Jun 12 15:44 2018 root
drwxrwxrwt.  3 root root  4096  Jun 13 03:19 2018 tmp

先程の結果が逆順で出力されていますね。これ結構便利なので覚えておくと良いかもです。

というわけで『ls』コマンドについては以上となります。多分このくらいをおさえておけばほぼほぼイケるはずなのでこれ以上覚える必要は無い...かもでございます。

次の記事では入力補完についてやっていきましょう。ではこの辺で失礼いたします。

この記事は桜舞が執筆致しました。

著者が愛する小型哺乳類

桜舞 春人 Sakurama Haruto

ISDN時代から様々なコンテンツを制作しているちょっと髪の毛が心配な東京在住のプログラマー。生粋のロングスリーパーで、10時間以上睡眠を取らないと基本的に体調が悪い。好きなだけ寝れる生活を送るのが夢。ゲームとスポーツと音楽が大好き。誰か髪の毛を分けて下さい。

記事の間違いや著作権の侵害等ございましたらお手数ですがまでご連絡頂ければ幸いです。