お兄ちゃん!
パスと変数は相性がいいよね!
パスの指定はよく変わるので
変数に代入して
抽象的に扱うことが多いよ!
パスに関する
コマンドもたくさんあるよ
よく使うものを紹介するね!
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を学んだよ!後で話すパスをよく扱うよこれらのコマンドも使う機会が多いので使い方に慣れておこう!