アンドロイド

Linuxのpushdおよびpopdコマンド

ティンクル☆くるせいだーす Opening sin creditos

ティンクル☆くるせいだーす Opening sin creditos

目次:

Anonim

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

/usr/local ~

結論

通常、 cd コマンドを使用して、あるディレクトリから別のディレクトリに移動します。 ただし、コマンドラインで多くの時間を費やす場合、 pushd および popd コマンドを使用すると、生産性と効率が向上します。

バッシュターミナル