オプションを使ってみる
前回のレッスンではcp で初めてコマンドのオプションというものを使ってみました。
Lesson 8 では少し過去に遡って、いままでに登場してきたコマンドのオプションを試してみましょう。
それでは ls のオプションからみていきます。
素のままの ls ではファイルとディレクトリの一覧を表示するだけでした。それだけでも便利なコマンドでしたよね?
1〜7のレッスンで何回も使ってきました。
さらにオプションを付け加えることで、もっと便利になりますよ。たとえば -l 。
-l でもっと詳しく
作業ディレクトリ(first_dir)に入って、いつもの ls に続いて ls -l と -l オプションを付けて命令してください。

ls のみのときよりズラズラっと出力が増えました。
今そこにあるファイルとディレクトリが一番右端に表示され、その前に個々のファイルに関する説明がスペース区切りでゾロっと表示されています。驚きました?(笑)
なんの説明もなしにゾロっと表示されるので初めてみたヒトは、何がなにやら?って感じかもしれません。Linux はこんなところも素っ気ないんです。
なので。現時点でなんとなく想像つきそうな情報を四角で囲ってみました。
とりあえずわかりそうなところから、わかっていきましょう!(笑)
頭文字d
まず、一番左端のピンクの部分。
これはファイルの種類を表しています。d がディレクトリというのはすぐわかると思います。
-(ハイフン)は、普通のファイルです。
普通のファイルなんだからf とかレギュラーのr とかにすればいいのに。って思ったかもしれません。
Lesson 5 でディレクトリもファイルの一種ってことを勉強しましたよね? 覚えていますか?
ディレクトリはちょっと特殊なファイルという意味を込めて、d というイニシャルを与えています。
ってことは・・・・。d 以外のちょっと特殊なファイルもあるのかな?
そうなんです。普通じゃないファイルはd 以外にも存在します。まだ登場していませんが(笑)。
でもまぁ今は、イニシャルのない普通のファイルとディレクトリの2種類が、カレントディレクトリにあるんだな。っていうことがオプション-l で知ることができた。くらいでいいと思います。
d や - の後ろに続くr、w、x、がズラズラ並んでいて気になるところですが、今はおいといて次の緑で囲った部分を説明します。
ユーザ名とグループ名
緑の四角の中は、これもなんとなく自分のことかな?って想像つくと思います。
ユーザ名については最初のレッスンで少し触れてます。その名前が表示されているのですが・・・
なんで? 2回も続けてhiro hiro のように出力されるんだろう? クドいなぁ。って思いませんか?
最初のhiro はユーザ名です。これは貴方が所有しているファイルという意味です。つまり、そのファイルは貴方がオーナー(所有者)ですよ。と言ってるわけです。
では、次のhiro は何でしょうか?
これは現段階で想像つかないと思いますが、グループ名なのです。
グループ??。なんじゃそりゃ?って感じですよね?(笑)
でもまぁ、今のところは「自分はhiro で、hiro っていうグループを持っていてそこに属しているんだな」ぐらいに思っておいて大丈夫です。
しかし・・・・。グループって聞くと・・・誰か自分以外の人間がパソコンの中にいるの?って思うかもしれませんね。
いますよ(笑)。アナタ以外の誰かが。
もし、貴方のパソコンをたとえば家族の誰かと共有していて、そのヒトのアカウントがあるなら、そのヒトもパソコンの中に存在することになります。これはわかりますよね?
そうした意図的に作ったアカウントのユーザの他にもたくさんのユーザがいます。
でもそれは、貴方が知ってる生身の誰かではなく、Linux をインストールした際にLinuxが用意した(例えばソフトウェアなど)誰かです。
Linux が元から用意した誰かは、キーボードを直接叩いたりする生身のユーザではないですから、安心してください(笑)。
ルートって誰?
さて、貴方以外の誰かでもうヒトリ、とても重要な人物がいます。
それはroot(ルート)です。
root ??? 誰?って思いますよね?
その答えは、もし今あなたが使っているPCが、あなた自身でLinux をインストールしたものなら、root はあなた自身でもあります。
root はスーパーユーザーとも言われます。読んで字のごとくスーパーなユーザーですから、なにやら特別な存在。って印象を受けます。
まさにそのとおりで、root はあなたがインストールしたLinuxシステムのなかで一番偉いユーザです。
最も偉いユーザですからシステム内に一人しか存在しません。なのでroot は王様とか唯一神とか言われたりもします。
しかし、何がどうエライのか??。
一言で言ってしまうと、「なんでもできちゃう」ってコトです。なんでも。というのはファイルに対して、なんでもです。
消してしまうことも、書き込むことも。制限ナシにです。
「そりゃそうだろ?w、自分でインストールしたんだから」って思いますよね?
でも、今あなたが普段使いで触っているLinux は、root の下に置かれる一般ユーザとしてのLinux なのです。
そして、Linux を学び始めたばかりのあなたは、「もしヘンなことしてシステムを壊してしまったら・・・どうしよう?」なんて、ちょっとオッカナビックリの手探りで操作していると思います。
でも今の貴方は、単なる「一般ユーザ」としてLinux を操作しているに過ぎないので、うっかりシステムを壊してしまうかもしれない大事なファイルを消したり、書き換えたりする権限までは持っていません。
しかし、そうした強い権限をroot は持っていて、あなたはそのroot になることもできるし、また、root の権限を一時的に借りて大事なファイルを操作することもできるのです。
なにしろ唯一神ですからね。嬉しくもあり怖くもある。って感じでしょうか?(笑)
root については大事なことなので、ことあるごとにお話していくつもりです。
ちょっと寄り道が長くなったので、root の話はここまでにして、先に進みます。
ls コマンドのオプション-l でファイルのユーザとグループがわかりました。
ユーザは自分だけじゃない。そして自分以外の誰かも存在していて、なにやらグループを組んでいる。っていうことも、なんとなくわかってきました。
タイムスタンプ
さて、最後。黄色で囲った部分の説明でLesson 8を締めくくろうと思います。
なにやら時刻が表示されているのがわかります。
これらはそのファイルが最後に更新あるいは修正された時刻を示しています。時間の情報って大事ですよね?
時間と一口に言っても、Linuxの世界には意外と種類があるもので、-l オプションで表示されるのは、今言ったようにファイルの内容を修正した時刻です。
これをmodify time(mtime) といいます。
じゃ、その他の時刻ってなに??って思いますよね?(笑)
今、それらすべてを説明しだすと混乱してしまうので、簡単に済ませますが、mtimeの他にアクセスした時刻(atime)、変更した時刻(ctime)が存在します。
a はaccess の頭文字、c はchange の頭文字です。
ンン??、-l オプションで表示される「更新・修正(mtime)」と「変更(ctime)」は何がどう違うの?? っていう疑問が湧くと思います。
大雑把に説明すると、ファイルに書かれた内容(中身)の修正がmodify で、前項で説明したファイルの所有者などを変更した場合がchange となります。
今は、超基本的でよく使うls コマンドのオプション-l の話ですから、とりあえずmtime を覚えましょう。
-l オプションでmtime を知ることができるんだな。ぐらいでOKです。
さて、表題にもあるタイムスタンプという単語ですが、どこかで一度見かけましたよね??
Lesson 06 で登場したtouch コマンドのところで、タイムスタンプのことに触れました。
あのときは空のファイルを作るためにtouch を使いました。その当時の現在時刻がスタンプつまり刻印されているのです。