一般的に私たちは使用します
cd ..
親ディレクトリに移動するため
cd ../../
親の親ディレクトリに移動します。と
cd ../../../../../
5番目の親ディレクトリ用。
これを行う簡単な方法はありますか?
私が使用しているシェルはkshです。
一般的に私たちは使用します
cd ..
親ディレクトリに移動するため
cd ../../
親の親ディレクトリに移動します。と
cd ../../../../../
5番目の親ディレクトリ用。
これを行う簡単な方法はありますか?
私が使用しているシェルはkshです。
この関数は Bash 用ですが、他の関数でも同様のことができます (これは ksh と zsh でそのまま機能する可能性があります)。
cdn () { pushd .; for ((i=1; i<=$1; i++)); do cd ..; done; pwd; }
使用例:
/some/dirs/and/subdirs$ cdn 3
/some/dirs/and/subdirs /some/dirs/and/subdirs
/some
/some$ popd
/some/dirs/and/subdirs$
cd
現在の作業ディレクトリの上の名前付きサブディレクトリに移動する関数は次のとおりです。
cdu () { cd "${PWD%/$1/*}/$1"; }
使用例:
/usr/share/atom/resources/app/apm/src/generator$ cdu apm
/usr/share/atom/resources/app/apm$ cdu resources
/usr/share/atom/resources$ cd -
/usr/share/atom/resources/app/apm$ cdu share
/usr/share
そして自分は怠け者だと思っていた...
かなり前にタイピングに飽きてしまっcd ..
たので、およそ 1988 年以来、私の標準的なエイリアス (および MSDOS/Windows のバッチ ファイル) の 1 つがup
. おそらく、概念を拡張する必要があります。
alias up='cd ..'
alias up2='cd ../..'
alias up3='cd ../../..'
alias up4='cd ../../../..'
alias up5='cd ../../../../..'
alias up6='cd ../../../../../..'
このようなエイリアスを設定する場合は注意が必要です。cd ../../../../..
. _ / から 2 つまたは 3 つのディレクトリしか下にない場合は、/ にたどり着きます。これを自分で試してみてください。
$ cd ~
$ pwd
/home/you
$ cd ../../../..
$ pwd
/
これは、/ の親ディレクトリが実際には / であるためです。
ファイル名を入力したり覚えたりしたくない場合は、NerdTreeのようなものでディレクトリをナビゲートできますか?
これは一般的に私が行う方法です。もちろん、ksh では、ナビゲーション キーを別のものに設定している場合があります。ksh を使用したときはk
、上向き矢印の代わりに vi スタイルに設定していました。
シェル スクリプトでは、明示的に記述したほうがよいでしょう。絶対パス名を使用できる場合は、そのようにして次のようなコマンドを実行します。
cd /webdata/cgi-bin
スクリプトを実行して別のディレクトリ内のファイルに作用する可能性がある場合は、次のように考えることができます。
TOPDIR="/webdata"
cd $TOPDIR/cgi-bin
しかし、本当にどちらもできない場合は、次のように .. チェーンに固執してください。
chmod +x *.py
cd ../../../cgi-bin
これは非常に明確です。現在の作業ディレクトリでアクションを実行し、3 レベル上に移動して cgi-bin ディレクトリを選択します。シェル スクリプトで実行していることを理解できる人であれば、これに従うのに何の問題もありません。スクリプトが非常に複雑な場合は、次のようなコメントを追加すると役立ちます。
# change to TOPDIR/cartsys/production/code/python
cd python
chmod +x *.py
cd ../../../cgi-bin
これは、コード ディレクトリにいて、1 レベル下の Python に変更したことを意味します。したがって、ディレクトリ階層のどこにいたかを忘れた読者には、3 レベル上にカウントアップするのに役立つリマインダーが表示されます。
cd ..
<up arrow><ENTER>
<up arrow><ENTER>
<up arrow><ENTER>
<up arrow><ENTER>
この種のcd
操作を簡素化するためにエイリアスを定義できます。
現在のディレクトリと目的の場所との関係を十分に確認../../../..
する必要があるため、などのエイリアスを使用するとエラーが発生しやすいことに注意してください。
絶対パスを使用することをお勧めしますalias
cd /
ファイルシステムのルートに移動し、cd ~
ホームディレクトリに移動するために使用します。
例: ログ ディレクタに移動するには、単に実行しますcd /var/log
。
Bourne タイプのシェル ( を含むksh
) の場合、シェル関数を記述できます。
cdup() {
set -- "${1-1}"
while test "$1" -gt 0; do
cd ..
set -- "$(($1-1))"
done
}