GNU/Linux >> Linux の 問題 >  >> Linux

コマンドラインで相対パスを使用してファイルシステムをナビゲートする

仕事に行く途中で、最初に朝食のデリに立ち寄った場合、朝食後に家に帰らないので、旅を再開できます。代わりに、現在の場所に対してオフィスがどこにあるかを理解しているため、現在の場所から続行します。コンピュータの操作も同じです。ターミナルの作業ディレクトリを画像などのサブディレクトリに変更した場合 、ドキュメントにアクセスするためだけに、必ずしも家に帰る必要はありません。 。代わりに、相対を使用します パス。

Linuxターミナル

  • Linux用の上位7つのターミナルエミュレータ
  • Linuxでのデータ分析のための10個のコマンドラインツール
  • 今すぐダウンロード:SSHチートシート
  • 高度なLinuxコマンドのチートシート
  • Linuxコマンドラインチュートリアル

逆に、絶対パスは常にハードドライブの先頭から始まります。スラッシュ( / )だけでスタートに到達したことを知っています )ドライブのルートレベルが最大のコンテナであり、その中にすべてのフォルダとファイルを保持しているため、左側には何もありません。そのため、パス / home / seth (およびその短縮バージョン 、それはあまり明確ではありませんが、左端のスラッシュがないため)は絶対パスと見なされます。 ホームを含むハードドライブの基本レベルを表します ディレクトリ。sethが含まれています。 (私のユーザー名)。

スラッシュで始まるものはすべて絶対パスです。これは、現在の場所から2ブロック離れた場所に到達するために、12ブロック戻って家に帰るのとデジタル的に同等です。ただし、その事実は絶対パスが悪いという意味ではありません。絶対パスを使用する正当な理由はたくさんありますが、その中でも特に明確な理由があります。ドライブを絶対パスからナビゲートできる場合は、それをウェイファインダーとして使用します。オートコンプリートを使用すると、特にオートコンプリートを使用すると、相対パスを使用するのと同じくらい速くフルパスを入力できます。

とはいえ、相対パスは便利な場合があり、場合によっては重要です。たとえば、Webサーバーの絶対パスを確認することはできません。ウェブデザイナーがウェブフォントをローカルディレクトリに保持していることを知っていて、絶対パス /home/webdev/Public/www.example.com/fonts を使用して、開発用ノートパソコンでそれらのフォントにリンクしている場合 、コードが /var/www/example.com/fonts にプッシュされると、すべてのリンクが壊れます サーバー上で。

それに加えて、 cd ../Documentsと入力する方が本当に速くて簡単な場合があります cd / home / seth / Documentsの代わりに 。

相対パスは、2つの制御シーケンスを使用します:単一( )とダブル( .. )ドット。単一のドットは、移動しないことを意味します 。二重のドットは、一歩下がることを意味します 。これらのドットは、ドライブの内容にある程度精通していて、対応するパスを視覚化できる場合に最適に機能します。

各ディレクトリを家の中の部屋として視覚化すると役立つ場合があります。たとえば、写真の両方を含むホームディレクトリがあることを知っている およびドキュメント フォルダの場合、各サブディレクトリをホームからの一歩として視覚化できます:

ある部屋から別の部屋に移動するには、ステップバックを使用して共有エリアに戻る必要があります。 シーケンスを制御してから、もう一方に進みます。 pwd を使用すると、いつでも現在地を取得できます (作業ディレクトリの印刷)コマンド:

$ pwd
/home/seth/Pictures
$ cd ../Documents
$ pwd
/home/seth/Documents

単一のドットは動かないことを意味することを忘れないでください 、そしてそれはまさにそれを行います:

$ pwd
/home/seth
$ cd .
$ pwd
/home/seth

変化のない状態を表す特別なコマンドがあるのは奇妙に思えるかもしれませんが、それは便利な明示的なディレクティブです。たとえば、ディレクトリの内容を一覧表示してホームディレクトリに保存するカスタムアプリケーションを作成し、そのアプリケーションに愚かな名前を付けて再起動したとしますか? 、その場合、そのカスタムアプリケーションを使用するときはいつでも、コンピュータが正確に知っていることに注意する必要があります。 再起動 実行するコマンド。

バージョンを指定する1つの方法は、カスタムの不適切な名前のアプリケーションへの明示的なパスを提供することです。単一のドットは、すでにディレクトリにいるときに意図したパスから外れたくないという願望を強調します。

$ pwd
/home/seth
$ ./reboot
Documents/     Downloads/
Music/         Pictures/
Public/        Spheniscidae/
Videos/        Yugolothae/

単一のドット指定子が必要になる可能性があるもう1つの場合は、ツールがデフォルトで現在のディレクトリで引数を検索しない場合です。たとえば、 dnf コマンドは、インストールするように指示したパッケージが、リポジトリからダウンロードするために必要なパッケージであると想定します。すでにダウンロードしたもののローカルインストールを実行する場合は、現在のディレクトリ内のパッケージを1つのドットで指すことができるため、 dnf リポジトリで検索する代わりに、それを使用して動作します:

$ sudo dnf install ./example.rpm

単一のドットは、複数のレベルが含まれると予想されるパスのフィラー文字として役立つ場合があります。たとえば、フォントへのリンクをいくつか使用したウェブデベロッパーを例にとってみましょう。 かつては3ステップ前のディレクトリ。しかし最近、この開発者はフォントを移動しました HTMLと同じディレクトリにディレクトリを配置します。開発者が../../../fontsのすべてのインスタンスを置き換えない場合 ./././ fonts 、彼らのサイトは壊れます。

注: この例の場合、 ../../../ fontsを変更します ./ fontsへ は機能しますが、この例では、そうすると、フォントの前に3つのレベルが表示されることを期待するスクリプトが破損すると想定します。 ディレクトリ。

相対性理論は最初は混乱を招く可能性があるため、相対性理論の概念に慣れるまで、コンピュータをナビゲートするときは絶対性理論に固執してください。多くの人がそれらを便利だと思っていますが、他の人はそれらを使用していません。すべて相対的です。


Linux
  1. コマンドラインでsortを使用してソートする

  2. xclipを使用してLinuxコマンドラインでコピーして貼り付けます

  3. Linuxコマンドラインでのデータストリームの操作

  1. Linuxコマンドラインでのパイプの操作

  2. screenieを使用したコマンドラインでのマルチタスク

  3. LibreOffice、lprコマンドを使用してコマンドラインから印刷しますか?

  1. 既存の関数と同じ名前のパスで実行可能ファイルを実行しますか?

  2. ちょっとしたトリック:ランダムなファイルまたはファイル内の行を shuf で選択します

  3. Linux のコマンド ライン ツールを使用してマイク レベルを監視する