Webとデザインのあれこれ

プログラミングとUIデザインの学習記録です。

Terminalの基本を覚える #2(Part3-5)

本記事は主に下記の内容を扱います。Linuxコマンドの中でも、ディレクトリ関連は頻繁に使用するのでしっかり理解したいですね。

  • cdコマンドについて
  • ディレクトリ構造と相対パスについて
  • オプションの使い方
  • 引数の使い方
  • 便利なコマンド紹介
  • コマンドで音声読み上げ

ディレクトリについて

フォルダとほぼ同義で、階層構造を持ちます。

ディレクトリの移動

cdコマンドとは

cdは”change directory”の略です。指定したディレクトリへの移動が可能です。 ディレクトリ名を引数として渡します。 cdコマンドは/usr/binのプログラムで、/usr/binはPATHで設定されているのでディレクトリは省略してOKです。

f:id:b_leiu:20190131130025p:plain

/binディレクトリに移動できているかは下記のpwdコマンドで確認しましょう。

pwdコマンドとは(復習です!)

pwdは"print working directory"の略です。現在のディレクトリ「カレントディレクトリ」を表示します。
/binのプログラムですので、こちらもコマンド名のみで実行可能ですね。

f:id:b_leiu:20190131130143p:plain

実行結果は・・・

f:id:b_leiu:20190131130237p:plain

移動が確認できました。ではファイル一覧を表示してみましょう。

f:id:b_leiu:20190131141858p:plain

そうすると・・・

実行結果

f:id:b_leiu:20190131142241p:plain

以下のように、/binフォルダ内をFinderで見るのと同じです。

f:id:b_leiu:20190131142325p:plain

上記のように、lsコマンドは何も渡さない場合、カレントディレクトリのファイル一覧を表示します。 では、lsコマンドの別の使い方を見ていきましょう。

lsコマンド(オプションの使用)

今回はlsコマンドの-aオプションを使用します。
オプションって?→引数の中で、ハイフン(-)から始まるもの。デフォルトと異なる動作をして欲しい場合に使用。

aオプション
  • .(ドット)で始まるディレクトリやファイルを表示する。

f:id:b_leiu:20190131143749p:plain

実行結果

f:id:b_leiu:20190131143857p:plain

先程lsコマンド単体で実行した場合やFinderで見た画面と異なりますね。ドットから始まるファイル、いわゆる「ドットファイル」が確認できます。
「.」は現在のディレクトリ、「..」は一つ上の階層のディレクトリです。 つまり、現在のディレクトリと違う階層のディレクトリが表示されているだけです。
ディレクトリとその階層について用語を少しまとめます。

ディレクトリ構造とパスについて

 
記号 名称 意味
/ ルートディレクト ディレクトリ構造のトップ
. カレントディレクト現在のディレククトリ
.. ディレクト 1つ上の階層

cdコマンドを使用すると、ディレクトリ内の探索ができます。 ディレクトリ内には1番上の階層「ルートディレクトリ」の下に、たくさんのディレクトリやプログラムのファイルがぶらさがっており、 このようなディレクトリ構造の全体を「tree」と言います。

先程/binフォルダ内にドットファイルが表示されていましたが、カレントディレクトリと一つ上の階層のフォルダが表示されていただけですね。

1つ上の階層に移動するためには、以下のようにコマンドします。

f:id:b_leiu:20190131145430p:plain

2つ上の階層に移動するなら・・・ f:id:b_leiu:20190131145518p:plain

このようにカレントディレクトリより相対的に場所をたどる指定方法を
相対パス」と呼びます。 自分の今いる場所から移動していくのですね。

cdコマンドやlsコマンドをうまく使用すると、ディレクトリ全体の構造とその中のファイル構成がよくわかります。

引数とオプションについて

引数とオプションについて補足します。

引数

  • 複数の文字列を引数に指定してOK

f:id:b_leiu:20190131151403p:plain

実行結果

f:id:b_leiu:20190131151431p:plain

オプションに特にガイドラインはありません。

オプション

  • ガイドラインが複数存在する
  • ハイフンが1つのショートネームオプションと2つのロングネームオプションがあります
  • lsやcdなどのコマンドは歴史が古く、このガイドラインは当てはまらない場合もあります
  • わからない場合、manコマンドを使用しましょう
$ command -a -b -c foo #オプションは複数指定可能
$ command -f / tmp/ foo #ファイルを開く-fオプションがある場合、文字を渡すことも可能
$ command --name #ハイフン2つから始まるオプション(=ロングネームオプション)
$ command --file= / tmp/ foo #ロングネームオプションに文字を渡す場合、イコール(=)をつけます
$ command -a --file= / tmp/ foo #ショートネームオプションとロングネームオプションは混在可能です
$ command -- version #コマンドのバージョン番号が表示されます

わからないことがある場合、ーhあるいは--helpオプションを使用するか、下記のようにマニュアルを利用しましょう。

$ man ls

f:id:b_leiu:20190131161926p:plain

マニュアルを確認して読むのが手っ取り早いですし、理解も進みそうですね!qキーで終了します。

便利コマンドです

curlコマンド

  • 引数に指定したコンテンツを簡単に取得できます

f:id:b_leiu:20190131163815p:plain

-oオプションにファイル名を渡すと、ファイルとしてコンテンツを保存できます。

f:id:b_leiu:20190131173246p:plain

lsで確認すると、「google.html」というファイル名できちんと保存されていますね。

f:id:b_leiu:20190131173346p:plain

openコマンド

  • 引数にURLやディレクトリやファイル名を指定すると、名前の通り開いてくれます
$ open .

.を渡すと、カレントディレクトリを開いてくれます。

最後に

SayKana – Mac用音声合成プログラム

このようなプログラムがあります。/usr/local/bin/saykanaというコマンドがインストールされます。 ディレクトリ名は省略して実行できます。

引数にひらがなかカタカナを指定すると、自動で読み上げてくれます!

f:id:b_leiu:20190131174448p:plain

「ねこねこねこねこねこ」と読み上げてくれます。

長くなりましたが、ディレクトリ関連のコマンドと便利なコマンドなどを 取り上げました。