概要
みなさんこんにちわ candleです。今回はcdとlsを組み合わせて、移動する度に中身を表示する方法を試してみましょう。そもそも、なぜこんなことにニーズがあるかというと、cdしてディレクトリを移動したらほぼ100%ディレクトリの中身を確認するでしょ。しないことなんてあるの?もうcdとlsはコンビでいいよと思ったからです。
エイリアスを作って新しいcdlsコマンドを作って、終わりでも良いのですが、
どうせなら、cdそのものにlsの機能をつけてしまおうと思います。
前提
Uinuxコマンドがある程度分かる人
macのPC環境
cdls関数を作る
ホームディレクトリの.bash_profileを開きます。どこでも良いので下の方に書き込んでいきます。
始めにcdls関数を作成します。cdls関数のコードは下のようになります。
function cdls() { # cdがaliasでループするので\をつける \cd "$@" && ls }
コメントアウトにもあるように、cdの前にバックスラッシュを入れないとaliasで呼び出した時に無限ループをするので、必ずバックスラッシュ を付けてください。
これでcdlsコマンドが作成出来ました。保存したら、試しにcdlsをつかってみます。
保存しても、直ぐに使えるわけではなく、ターミナルに設定を反映させる必要があります。
bash_profileの設定をターミナルに反映するには
source ~/.bash_profile
とコマンド打つ必要があります。
そしたら、ホームディレクトリから
cdls Documents
とやってドキュメントに移動してみます。
ホームディレクトリからDocumentsディレクトリに移動して中身が見えています。
cdコマンドにcdlsを紐付ける
正直、cdlsコマンドは面倒くさいのでエイリアスを使ってcdとcdlsを紐付けます。
.bash_profileに
alias cd=cdls
と書くだけです。これでcdにcdlsが紐付かれて、cdを打つだけで実質cdlsが使えます。
最終的な.bash_profileは下のようになります。
保存したら、前回と同じように
source ~/.bash_profile
で設定をターミナルに反映させて
同じようにcdコマンドを使ってみましょう。
cd Documents
どうでしょう、移動と同時に中身が見えるようになりました。
まとめ
cd からのlsなんて面倒臭いにほかなりません。この設定をすると慣れない内はcdの後にlsを打たないのに違和感を覚えますが、なれるとバリ速です。