joppot

コピペで絶対動く。説明を妥協しない

mac unix

cdとlsを合体させて移動したら中身を表示する

投稿日:2013年12月13日 更新日:


abstract-96855_1280

概要

みなさんこんにちわ 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を打たないのに違和感を覚えますが、なれるとバリ速です。

スポンサードリンク

「為になったなぁ」と思ったら、シェアお願いします。

-mac, unix
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

ターミナルの設定ファイルを作る[.bash_profile]

概要 こんにちはcaldheです。今回はMacにあるターミナルの設定ファイルの作り方です。ターミナルを初期設定のまま立ち上げるとbashというシェルが動きます。シェルというのはUnixのインターフェイ …

ブルーライトカットソフト[ f.lux ]の使い方

概要 どうもみなさんこんにはcandleです。今回はf.luxの導入と使い方を説明したいと思います。 f.luxはブルーライトをなるべく減らすソフトウェアです。 f.luxはシークバーでブルーライトカ …

Pythonのライブラリをpipで管理する

概要 みなさんこんにちはcandleです。Pythonのライブラリを管理するpipの導入を行いましょう。 そもそも、pythonのライブラリとはなんでしょうか? pythonはすっごく便利なライブラリ …

Macのhostsとapache2.4でvirtualhostを使ってディレクトリごとにsubdomainを設ける

English 日本語 概要 みなさんこんにちはcandleです。今回はmacで簡単にサブドメインでプロジェクトを分ける方法を紹介します。 例えば、こんな状態の時に便利です。幾つかのwordpress …

Unixの画像処理ソフト「ImageMagick」をmacports経由でインストールする

概要 みなさんこんにちはcandleです。今回はImageMagickのインストールを行いましょう。 ImageMagicなのですが、これは画像を様々な要望に答えて処理してくれるソフトです。ターミナル …

  • English
  • 日本語

ベンチャー企業のCTOをやってます。大学時代にプログラミングを始め、javaから入門し、C++へて、PHPへと進み、会社ではRailsを使用。自動化が大好きなプログラマー