Linux でディレクトリを切り替えるとなると、誰もが間違いなく cd コマンドは確かに非常に便利ですが、次のディレクトリ間を頻繁に切り替える必要がある場合は、命が危ぶまれるかもしれません。 /home/alvin/projects/blogdemos/linux-system-programming/スレッド /home/alvin/projects/blogdemos/diff /home/harry/study/日本文化/日中交流/映画・テレビ産業/アクション映画 cd コマンドしか知らない場合は、気が狂うまで何度も cd を実行する必要があります。 この場合、ディレクトリを効率的に切り替えるにはどうすればよいでしょうか? Liang Xu は、 これら 3 つのコマンドは、実際には プログラミングの基礎知識を持つ学生は、 基本的な概念を確認した後、これら 3 つのコマンドを詳しく見ていきましょう。 ディレクトリスタックの内容を表示します: dirs まず、 |
オプション | 意味 |
---|---|
-p | 1行に1件のレコードを表示 |
-v | 各行にはレコードが表示され、スタック内のレコードのインデックスが表示されます。 |
-c | ディレクトリスタックをクリアする |
-p
と-v
オプションの違いは、 -v
オプションではスタック内の各レコードのインデックスが表示されることです。それ以外はまったく同じです。ディレクトリ スタックがあると仮定して、その内容を見てみましょう。
[alvin@VM_0_16_centos dir2]$ pwd /home/alvin/test/dir2 [alvin@VM_0_16_centos dir2]$ dirs -v 0 ~/テスト/dir2 1 ~/test/dir1 2 ~/test/dir3 3 ~/テスト
最上位の要素は常に現在のディレクトリと同じであることに注意してください。別のディレクトリでディレクトリ スタックを表示すると、最初の要素がそれに応じて変更されます。同様に、後ほど紹介するpushd
やpopd
を使用してディレクトリ スタックを操作すると、現在のディレクトリがディレクトリ スタックの最初の要素に対応するアドレスに切り替わります。
ディレクトリ スタックをクリアしたい場合は、 -c
オプションを使用します。
[alvin@VM_0_16_centos 差分]$ dirs -c [alvin@VM_0_16_centos 差分]$ dirs -v 0 ~/プロジェクト/ブログデモ/差分
ディレクトリスタックへのプッシュ: pushd
pushd コマンドが実行されるたびに、デフォルトで dirs コマンドが実行され、ディレクトリ スタックの内容が表示されます。 pushd には主にいくつかの用途があります。
1. pushd + ディレクトリ
pushd をディレクトリに直接使用すると、そのディレクトリに切り替えて、ディレクトリ スタックの一番上に配置します。例:
[alvin@VM_0_16_centos テスト]$ pushd dir1 ~/テスト/dir1 ~/テスト [alvin@VM_0_16_centos dir1]$ pushd ../dir2 ~/test/dir2 ~/test/dir1 ~/test [alvin@VM_0_16_centos dir2]$ pushd ../dir3 ~/test/dir3 ~/test/dir2 ~/test/dir1 ~/test [alvin@VM_0_16_centos dir3]$ dirs -v 0 ~/テスト/dir3 1 ~/test/dir2 2 ~/test/dir1 3 ~/テスト
2. pushd(パラメータなし)
パラメータなしで pushd を実行すると、ディレクトリ スタック上の上位 2 つのディレクトリが入れ替わります。前に強調したように、ディレクトリ スタックの最初の要素は現在のディレクトリに関連しているため、最初の要素が変更されると、それに応じて現在のディレクトリも切り替わり、その逆も同様です。
[alvin@VM_0_16_centos dir3]$ dirs -v 0 ~/テスト/dir3 1 ~/test/dir2 2 ~/test/dir1 3 ~/テスト [alvin@VM_0_16_centos dir3]$ pwd /home/alvin/test/dir3 [alvin@VM_0_16_centos dir3]$ pushd ~/test/dir2 ~/test/dir3 ~/test/dir1 ~/test [alvin@VM_0_16_centos dir2]$ pwd /home/alvin/test/dir2 #対応するディレクトリが変更されます [alvin@VM_0_16_centos dir2]$ dirs -v 0 ~/テスト/dir2 1 ~/test/dir3 #インデックス0と1の内容を入れ替える 2 ~/test/dir1 3 ~/テスト
**3. プッシュ +/-n **
pushd +/-n は、対応するインデックス値のディレクトリに直接切り替えることを意味します。プラス記号またはマイナス記号のどちらも使用できることに注意してください。プラス記号の場合は、ディレクトリ スタックの上から下に向かってカウントし、マイナス記号の場合は、ディレクトリ スタックの下から上に向かってカウントします。
次に、この記事の冒頭の質問に戻ります。長いパスを持つ 2 つ以上のディレクトリ間を頻繁に切り替える必要がある場合はどうすればよいでしょうか。
まず、pushd + directory を使用してこれらのパスをディレクトリ スタックに追加します。
次に、pushd +/-n を使用して、異なるディレクトリ間をすばやく切り替えます。具体的なデモンストレーションは次のとおりです。
[alvin@VM_0_16_centos dir2]$ pwd /home/alvin/test/dir2 [alvin@VM_0_16_centos dir2]$ dirs -v 0 ~/テスト/dir2 1 ~/test/dir3 2 ~/test/dir1 3 ~/テスト [alvin@VM_0_16_centos dir2]$ pushd +2 ~/test/dir1 ~/test ~/test/dir2 ~/test/dir3 [alvin@VM_0_16_centos dir1]$ pwd /home/alvin/test/dir1 [alvin@VM_0_16_centos dir1]$ dirs -v 0 ~/テスト/dir1 1 ~/テスト 2 ~/test/dir2 3 ~/test/dir3
ディレクトリスタックをポップする: popd
popd コマンドが実行されるたびに、デフォルトで dirs コマンドが実行され、ディレクトリ スタックの内容が表示されます。 popd の主な使い方は次のとおりです。
1. popd (パラメータなし)
パラメータなしで popd を実行すると、ディレクトリ スタックの最上位要素がポップされます。このとき、スタックの最上位要素が変更され、当然、現在のディレクトリもそれに応じて切り替わります。
[alvin@VM_0_16_centos dir3]$ dirs -v 0 ~/テスト/dir3 1 ~/test/dir1 2 ~/テスト 3 ~/test/dir2 [alvin@VM_0_16_centos dir3]$ ポップ ~/test/dir1 ~/test ~/test/dir2 [alvin@VM_0_16_centos dir1]$ dirs -v 0 ~/テスト/dir1 1 ~/テスト 2 ~/test/dir2
2. ポップ +/-n
ディレクトリ スタック内の n 番目の要素を削除します。同様に、プラス記号とマイナス記号は、上から下へ数えるか、下から上へ数えるかを示します。
[alvin@VM_0_16_centos dir1]$ dirs -v 0 ~/テスト/dir1 1 ~/テスト 2 ~/test/dir2 [alvin@VM_0_16_centos dir1]$ ポップ +1 ~/テスト/dir1 ~/テスト/dir2 [alvin@VM_0_16_centos dir1]$ dirs -v 0 ~/テスト/dir1 1 ~/test/dir2
Linux でディレクトリを効率的に切り替える方法についての記事はこれで終わりです。Linux でのディレクトリの効率的な切り替えの詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。
<<: Windows システムでの MySQL 8.0.21 インストール チュートリアル (図とテキスト)
1. まずmysqld.exeプロセスを停止します2. cmd を開き、mysql の bin ディ...
効果画像:実装コードは以下のとおりですビュー <canvas id="radar-c...
キャンバスを使用して、参照用の影付きのグラフィックとテキストを作成します。具体的な内容は次のとおりで...
最近のビジネスでは、オンライン トレーニング システムが特定のオンライン プレビュー ページに対する...
この記事では、Linux システム コマンドについて説明します。ご参考までに、詳細は以下の通りです。...
序文:テーブルをクリアしたいときは、truncate ステートメントをよく使用します。ほとんどの場合...
序文前回の記事では、主にグリッドシステムの基本原理を学び、簡単なケースを通してその原理を実践しました...
目次元に戻すログUNDOログの生成と破棄UNDOログの保存元に戻すログ機能トランザクションの原子性の...
序文tcpdump はよく知られたコマンドライン パケット分析ツールです。 tcpdump コマンド...
繰り返し: サイト全体で特定のページ デザイン スタイルを繰り返します。繰り返し要素としては、特定の...
目次1:mysql実行プロセス1.1: コネクタ1.2: キャッシュ1.3: アナライザー1.4: ...
方法 1: スクリプト方式を使用する:共通ヘッダー ファイル head.js または共通フッター フ...
1. それは何ですか? MySQL は最も人気のあるリレーショナル データベース管理システムです。W...
目次1. 現象2. 解決策3. 要約: 1. 現象1. 要件: 特定の表示ページをキャプチャしてアル...
プリミティブ値 -> プリミティブ型Number String Boolean undefin...