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

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

関連記事

Mac OS MavericksにX11(Xquartz)をインストールする

概要 みなさんこんにちはcandleです。今回はX11のインストールを行います。MavericksからかMountain Lionからか忘れましたが、MacではX11が標準でインストールされなくなりま …

MacにPlantUML環境をbrewを使って構築する

概要 みなさんこんにちはcandleです。 今回はUMLを簡単に作成できるplantUMLの環境をMacに構築したいと思います。 私はUML作成ツールはこれまで、starUMLを使っていましたが、どう …

Finderにディレクトリのパスを簡単に表示する

概要 みなさんこんにちはcandleです。Macのfinderはパスが表示されません。ショートカットから移動すると、一つ上の階層に移動することもままなりません。 例えば、MAMPのhtdocsにショー …

Mac OS X Mavericks にruby on rails4の環境を構築する

概要 みなさんこんにちはcandleです。今回はruby on railsの永遠のテーマ環境構築と環境設定をやっていきましょう。 ruby on railsは近頃のwebアプリケーションではよく使われ …

Macportsのインストール

みなさんこんにちはcandleです。パッケージ管理ツールであるMacPortsのインストールと環境構築です。 前提 1、Xcodeがインストールされている MacPortsをインストールする前に、Ma …

  • English
  • 日本語

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