Lから始まるLinux

2章59話
テキスト関連コマンド(その2)
2章60話 パス関連コマンド
もくじ
2章61話
バイナリ関連コマンド
パス関連コマンド
若木 みどり
お兄ちゃん! パスと変数は相性がいいよね! パスの指定は良く変わるので 変数に代入して 抽象的に扱うことが多いよ!
若木 しげる
パスに関する コマンドもたくさんあるんだ よく使うものを紹介するよ!
basename, dirname コマンド
若木 しげる
最初は basenamedirname だよ パスの一部分を切り出してくれるよ
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を学んだよ!
若木 しげる
後で話す「シェルスクリプト」ではパスをよく扱うよこれらのコマンドも使う機会が多いので使い方に慣れておこう!