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

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

関連記事

grepコマンドを使って正規表現を色々試してみるその2

概要 みなさんこんにちはcandleです。今回は前回に引き続き、正規表現を勉強していきましょう。 前提 unixを使用するので、多少、unixコマンドになれていること サンプル文章 今回は下の文章を用 …

mecabで文章を分かち書きする

概要 みなさんこんにちはcandleです。今回は「分かち書き」をしてみましょう。 分かち書きというのは文章を品詞毎に分ける事です。品詞とは名詞や動詞などのことです。 ちょっとみてみましょうか。 「私は …

Git diffで新規作成したファイル情報を表示させる

概要 みなさんこんにちはcandleです。今回はgitのdiffを使ってどの様なファイルが作成されたか確認する方法を紹介します。 gitのdiffは一般にファイルの差分を表示させたりするために使うもの …

Mac Yosemiteを購入したので、よく使うソフトウェアをインストールする

概要 みなさんこんにちはcandleです。 今回は私がよく使っているソフトウェアの紹介をします。主に「文章、ブログ、プログラミング、デザイン」に関わっている人に向けてになります。 Skitch1.0. …

Macのフォントをbrew-cask-fontsを使ってインストールし管理する

概要 みなさんこんにちはcandleです。今回はMacのフォントをbrew-cask-fontsを利用してインストールし管理する方法を紹介します。 macのフォントの管理は一般にFont Bookとい …

  • English
  • 日本語

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