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