リンクを使ったほうがいいかもしれません
ソフトリンク
シンボリックまたはソフト リンク (ファイルまたはディレクトリ、より柔軟で自己文書化)
# Source Link
ln -s /home/jake/doc/test/2000/something /home/jake/xxx
ハードリンク
ハードリンク (ファイルのみ、柔軟性が低く、自己文書化されていない)
# Source Link
ln /home/jake/doc/test/2000/something /home/jake/xxx
ディレクトリへのリンクを作成する方法
ヒント :自宅でリンクを表示する必要がない場合は、ドットで開始できます。;その後、デフォルトで非表示になり、次のようにアクセスできます
cd ~/.myHiddelLongDirLink
シェルオプション cdable_vars
があります :
cdable_vars
これが設定されている場合、 cd
への引数 ディレクトリではない組み込みコマンドは、値が変更先のディレクトリである変数の名前であると見なされます。
これを .bashrc
に追加できます :
shopt -s cdable_vars
export myFold=$HOME/Files/Scripts/Main
チルダを $HOME
に置き換えたことに注意してください;引用符はチルダの展開を妨げ、Bash はディレクトリ ~/Files/Scripts/Main
がないと文句を言います .
これを次のように使用できます:
cd myFold
いいえ $
必要。実際、それが要点です–他の回答cd "$myFold"
に示されているように シェルオプションなしで動作します。 cd myFold
myFold
のパスの場合にも機能します スペースが含まれています。引用は必要ありません。
これは通常、 _cd
のようにタブのオートコンプリートでも機能します bash_completion
の関数 cdable_vars
かどうか調べます が設定されています – しかし、すべての実装が同じ方法でそれを行うわけではないため、ソース bash_completion
が必要になる場合があります .bashrc
でもう一度 (または /etc/profile
を編集します) シェルオプションを設定します)。
他のシェルにも同様のオプションがあります。たとえば、Zsh (cdablevars
).
環境変数なので(エイリアスはbash
で定義が異なります) )、次のように評価する必要があります:
cd "${myFold}"
または:
cp "${myFold}/someFile" /somewhere/else
しかし、実際には、そのディレクトリに簡単に切り替えたい場合は、実際のを作成する方が簡単だと思います エイリアス (bash
のいずれか) .bashrc
のような起動ファイル )、キーストロークを節約できます:
alias myfold='cd ~/Files/Scripts/Main'
次に、( cd
なしで)使用できます ):
myfold
定義を取り除くには、 unalias
を使用します .次のトランスクリプトはすべてを示しています これらのうち実際に使用されているもの:
pax> cd ; pwd ; ls -ald footy
/home/pax
drwxr-xr-x 2 pax pax 4096 Jul 28 11:00 footy
pax> footydir=/home/pax/footy ; cd "$footydir" ; pwd
/home/pax/footy
pax> cd ; pwd
/home/pax
pax> alias footy='cd /home/pax/footy' ; footy ; pwd
/home/pax/footy
pax> unalias footy ; footy
bash: footy: command not found