回答:
複雑なパスをcd
頻繁に処理する方法は次のとおりです。
mkdir ~/Links
ln -s /complexpath/there ~/Links
これはシンボリックリンクを作成します
~/Links/there
この新しい使用するには、Links
ログインシェルがある場合に、効率的にディレクトリをbash
自分でこのコマンドを含める~/.profile
(すべてのBourneスタイルのシェルで使用されますbash
、ksh
、zsh
:...)
CDPATH=~/Links:.
export CDPATH
これは、すべてのcd
について、シェルが2つのディレクトリ内を調べてローカルパス名を見つけることを意味します。
~/Links
.
テストするためにセッションを再起動する必要はありません。実行するだけです。
. ~/.profile
つまり、私を読んでください~/.profile
。(~/.bashrc
変更しない場合に同じ変数の初期化を繰り返す必要がないため、これを自分の中に置く必要はありません。)
テストが完了すると、セッションを再開できます;)。
これからは、行きたいと思うthere
たびにタイプしなければなりません:
cd there
cdora
するcd $ORACLE_HOME
と、このような...)
エイリアスを定義することは、長いコマンドを短い省略形にする非常に簡単な方法です。エイリアスを正しく設定したら、.bashrcファイル(またはその他の起動ファイル)にセクションを作成して、起動する新しいシェルごとにこれらのエイリアスを再入力する必要がないようにすることができます。
.bashrc:
alias ws4='ssh qsv-rhws4'
alias httpdlog='cd /var/log/httpd/'
alias EC2='ssh -i BMTestEC2.pem ec2-user@xxxxxxxx.compute.amazonaws.com'
等
ログアウトして再びログインするか(または単にを実行. ~/.bashrc
)、入力するだけでhttpdlog
CDを実行できます。またはws4
、実際にsshコマンドなどを実行します。
これにより、ホームディレクトリがごちゃごちゃに見えるような(大量の)空のリンクを作成する必要がなくなります。
autojumpとzに似ていますが、より良いIMHOであるfasdを強くお勧めします。ウェブサイトから:
Fasd(「高速」と発音が似ている)は、コマンドラインの生産性向上ツールです。Fasdは、POSIXシェルのファイルとディレクトリへの迅速なアクセスを提供します。これは、autojump、z、vなどのツールに触発されています。Fasdは、アクセスしたファイルとディレクトリを追跡しているため、コマンドラインですばやく参照できます。
fasdという名前は、デフォルトの推奨エイリアスf(files)、a(files / directories)、s(show / search / select)、d(directories)に由来します。
Fasdはファイルとディレクトリを「頻度」、つまり「頻度」と「最新性」の両方でランク付けします。「周波数」という用語は、Mozillaによって最初に作り出され、Firefox(リンク)で使用されました。
便利なシンボリックリンクを追加することは、1つまたは2つの特別なディレクトリでは問題ありませんが、非常にすぐに管理が面倒になります。はるかに優れた解決策は、この目的のために、およびその他のシェルで使用可能な環境変数CDPATH
を使用するbash
ことです。
CDPATH
コロンで区切られた(のようなPATH
)ディレクトリ名を探す場所のリストです。絶対パス名と相対パス名の両方を含めることができます。私は私のようなものに設定していexport CDPATH=".:..:$HOME/work/repos:$HOME/projects:<etc>"
ます。
これでcd pdftools
、どこからでも入力できるようになり、に移動し~/projects/pdftools
ます。(シンボリックリンクを使用するcd ~/pdftools
と、HOMEディレクトリにいなかった場合は入力する必要があります。)サブディレクトリにショートカットすることもできますcd pdftools/bin
。
..
私の中のCDPATH
私が入力できますcd sisterdir
代わりにcd ../sisterdir
、私はどこかで新しいディレクトリを作成するときに、期待できるとしてなど、CDPATH
彼らは自動的によって発見されますcd
新しいシンボリックリンクやエイリアスを作成する必要はありません- 。
この機能はbash_completion
、たとえばDebianシステムで配布されたファイルを使用するとさらに便利になります。私のOS Xボックスには付属していなかったので、コピーを取得しましたが、正常に動作します。(とそれを取得brew
、またはちょうどから手動でダウンロードしてくださいここに。)このファイルは、コマンドライン補完の強化を定義し、私が入力できるようにcd pdf<TAB>
し、pdftools
ディレクトリが見つかりから展開されてどこかにCDPATH
。
私はbashmarksを使用して、その場で簡単に「ブックマークをディレクトリに」作成するのが好きです。
https://github.com/huyng/bashmarksのreadmeを参照して ください。
注:あなたがbashmarkの3段階のインストールプロセスを追跡するために設置のgitが必要になります:http://git-scm.com/download/mac
幸運を!
または、魚の殻をインストールしてみることもできます。
これはコマンドの優れた予測です。また、大文字と小文字を区別せずに大文字と小文字を区別せずに入力できます。
魚の欠点は、独自のスクリプト言語があり、bash互換ではないことです。
「cd」と入力してから、フォルダをFinderからターミナルにドラッグし、フルパスで貼り付けます。おそらくそれほどエレガントではないかもしれませんが、いくつかの保存済みのショートカットではなく、すべてのフォルダで機能しますか?
git status
。私にもいくつかのエイリアスがあります.bash_profile
。正確にはあなたが求めているものではなく、関連しています。