ティンクル☆ãã‚‹ã›ã„ã ー㙠Opening sin creditos
目次:
pushd
および
popd
は、ディレクトリスタックを操作したり、Linuxおよびその他のUnixライクなオペレーティングシステムで現在の作業ディレクトリを変更したりできるコマンドです。
pushd
と
popd
は非常に強力で便利なコマンドですが、過小評価されており、めったに使用されません。
このチュートリアルでは、
pushd
および
popd
コマンドを使用して、システムのディレクトリツリーをナビゲートする方法を示します。
ディレクトリスタック
ディレクトリスタックは、以前にナビゲートしたディレクトリのリストです。 ディレクトリスタックの内容は、
dirs
コマンドを使用して表示できます。
pushd
コマンドを使用してディレクトリに変更するとディレクトリがスタックに追加され、
popd
コマンドで削除されます。
現在の作業ディレクトリは、常にディレクトリスタックの一番上にあります。 現在の作業ディレクトリは、ユーザーが現在作業しているディレクトリ(フォルダ)です。コマンドラインを操作するたびに、ディレクトリ内で作業しています。
pwd
コマンドを使用すると、現在どのディレクトリにいるかを確認できます。
ファイルシステムをナビゲートするときは、
Tab
キーを使用してディレクトリの名前を自動補完します。 ディレクトリ名の最後にスラッシュを追加することはオプションです。
pushd
、
popd
および
dirs
はシェル組み込み関数であり、その動作はシェルごとにわずかに異なる場合があります。 コマンドのBash組み込みバージョンについて説明します。
pushd
コマンド
pushd
コマンドの構文は次のとおりです。
pushd
たとえば、現在のディレクトリをディレクトリスタックの最上部に保存し、
/var/www
変更するには、次のように入力します。
~$ pushd /var/www
成功すると、上記のコマンドはディレクトリスタックを出力します。
~
は、
pushd
コマンドを実行した
pushd
です。 チルダ記号
~
は、ホームディレクトリを意味します。
/var/www ~
pushd
最初に現在の作業ディレクトリをスタックの一番上に保存してから、指定されたディレクトリに移動します。 現在のディレクトリは常にスタックの一番上にある必要があるため、変更されると、新しい現在のディレクトリはスタックの一番上に移動しますが、スタックには保存されません。 保存するには、
pushd
から
pushd
を呼び出す必要があります。
cd
を使用して別のディレクトリに変更すると、スタックの一番上のアイテムが失われ、
スタックに別のディレクトリを追加しましょう。
/var/www$ pushd /opt
/opt /var/www ~
ディレクトリへのデフォルトの変更を抑制するには、
-n
オプションを使用します。 たとえば、
/usr/local
ディレクトリをスタックに追加し、スタックに変更しないようにするには、次のように入力します。
/opt$ pushd -n /usr/local
現在のディレクトリ(常に最上位にある)は変更されないため、
/usr/local
ディレクトリはスタックの最上位から2番目に追加されます。
/opt /usr/local /var/www ~
pushd
は、スタックの
Nth
ディレクトリにナビゲートできる
+N
と
-N
2つのオプションを受け入れます。
+N
オプションは、ゼロから開始して左から右にカウントするスタックリストの
Nth
要素に変更されます。
-N
を使用すると、カウントの方向は右から左になります。
オプションをわかりやすく説明するために、現在のディレクトリスタックを出力しましょう。
/opt$ dirs -l -v
出力には、ディレクトリスタックのインデックス付きリストが表示されます。
0 /opt 1 /usr/local 2 /var/www 3 /home/linuxize
上から下(または左から右)に数えると、ディレクトリのインデックスは
2
です。
pushd +2
下から上に数えると、
/var/www
ディレクトリのインデックスは
1
です。
pushd -1.
引数なしで使用すると、
pushd
は上位2つのディレクトリを切り替えて、新しい上位を現在のディレクトリにします。 これは、
cd -
コマンドを使用する場合と同じです。
popd
コマンド
popd
コマンドの形式は次のとおりです。
popd
引数なしで使用すると、
popd
はスタックからトップディレクトリを削除し、新しいトップディレクトリに移動します。
次のディレクトリスタックがあるとします。
/opt /usr/local /var/www /etc/nginx ~
/opt$ popd
出力には、新しいディレクトリスタックが表示されます。
/usr/local /var/www /etc/nginx ~
-n
オプションは、デフォルトのディレクトリ変更を抑制し、スタックから2番目のアイテムを削除します。
/opt$ popd -n
/usr/local /etc/nginx ~
pushd
と同じように、
popd
は、スタックの
Nth
ディレクトリを削除するために使用できる
+N
および
-N
オプションも受け入れます。
/opt$ popd +1
結論
通常、
cd
コマンドを使用して、あるディレクトリから別のディレクトリに移動します。 ただし、コマンドラインで多くの時間を費やす場合、
pushd
および
popd
コマンドを使用すると、生産性と効率が向上します。