お兄ちゃん!
パスと変数は相性がいいよね!
パスの指定は良く変わるので
変数に代入して
抽象的に扱うことが多いよ!
パスに関する
コマンドもたくさんあるんだ
よく使うものを紹介するよ!
basename
, dirname
コマンド
最初は
basename
と dirname
だよ
パスの一部分を切り出してくれるよ
basename [オプション]... パス...
dirname [オプション]... パス...
コマンド | 切り出す部分 | つまり? |
---|---|---|
basename | パスの最後の要素 | ファイル名やディレクトリ名 |
dirname | パスの最後以外の要素 | 親ディレクトリのパス |
ふむふむ…ちょっと言葉だけどわかりにくいかも
実際に試してみよう!まずは
basename
からだよbasename /home/midori/diary
/home/midori/diary
のどの部分になるのかな?diary
なるほど!「パスの最後の要素」って こういう意味ね!
次は
dirname
だよdirname /home/midori/diary
パスの最後以外ということは?
/home/midori
おお!確かに親ディレクトリを切り出しているね!
realpath
コマンドrealpath
はパスを絶対パスに変換するよ!realpath [オプション]... パス...
相対パスは自分の位置で表記が変わっちゃうからね絶対パスの方が扱いやすい場面は結構あったよ!
以下のコマンドはどうなるかな?
realpath ~/diary
きっと
/home/midori/diary
を出力してくれるんだよね?/home/midori/diary
えへへ!もう「絶対パス」「相対パス」は 手慣れたものだよ!
which
コマンドwhich
はコマンドのパスを教えてくれるよ!which [オプション]... コマンド...
面白そう!ちょっと試してみたいな!
じゃあ
ls
の場所を調べてみようかwhich ls
想像は付くけど…
/bin/ls
やっぱり
/bin
にあるんだね!which
は見つかれば成功見つからなければ失敗を返すんだこれを利用してコマンドがあるかどうかを判別できるよ今回はパスに関するコマンド
basename
, dirname
, realpath
, which
を学んだよ!後で話す「シェルスクリプト」ではパスをよく扱うよ これらのコマンドも使う機会が多いので使い方に慣れておこう!