01. 概要 絶対パスと相対パスはシェル環境でよく使用され、それぞれに独自の用途があります。相対パスの方が便利な場合もあれば、絶対パスの方が便利な場合もあります。 02. 絶対パス名 絶対パスは **/** で始まる必要があります 絶対パスはファイル/ファイルの場所を指します。 いつでも絶対パスを使って必要なファイルを見つけることができます 例 例1: /ホーム/デン 例2: マニュアル 03. 相対パス名 相対パスは **/** で始まりません 相対パスは現在の場所を基準とし、目的地を指します。 通常、相対パスは絶対パスよりも短く、ファイルをすばやく見つけるためのショートカットとして使用できます。 例1: ../テスト/itcast 例2: 。/テスト 04. 相対パスの目的 では、相対パスと絶対パスの何が重要なのでしょうか?飲む!それは本当にすごいですね! etc、bin、man という 3 つのディレクトリを必要とするソフトウェアを作成したとします。ただし、人によってソフトウェアを異なるディレクトリにインストールしたい場合があります。A さんはソフトウェアを /usr/local/packages/etc、/usr/local/packages/bin、/usr/local/packages/man にインストールしますが、B さんはソフトウェアを /home/packages/etc、/home/packages/bin、/home/packages/man にインストールしたいとします。絶対パスが必要な場合、面倒になりますか?はい! このままでは、各ディレクトリ内の内容を一致させることが困難です。このとき、相対パスの書き方は特に重要です! さらに、私と同じように、ディレクトリの目的がわかるように長いパス名を記述したい場合、たとえば、ディレクトリが /cluster/raid/output/taiwan2006/smoke で、別のディレクトリが /cluster/raid/output/taiwan2006/cctm の場合、最初のディレクトリから 2 番目のディレクトリに移動するには、どのように記述するのがより便利でしょうか。 もちろんcd.../cctmの方が便利です!右! 05. 絶対パスの目的 ただし、ファイル名の正確さに関しては「絶対パスの方が正確ですよ~」とのこと。 一般的に言えば、システムを管理するためのシェル スクリプトを作成するときは絶対パスを使用することをお勧めします。 なんと言えばいいでしょうか?絶対パスで書くほうが面倒ではありますが、この書き方でも問題はないはずです。 プログラム内で相対パスを使用すると、実行している作業環境が異なるために問題が発生する可能性があります。 06. 発散的思考 質問: 相対パスが指定された場合、システムは対応する絶対パスをどのように識別しますか? 実際、相対パスは PATH 環境変数に基づいて絶対パスを見つけます。 たとえば、現在、itcast ユーザーのホーム ディレクトリである /home/itcast にいます。/bin/more にある more コマンドを使用して、その中の .bashrc ファイルのデータを表示したいとします。通常のコマンドの書き方は次のとおりです。 [itcast@localhost ~]$ もっと見る .bashrc PATH 変数の値は次のとおりです。 [deng@localhost ~]$ echo $PATH /usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/deng/.local/bin:/home/deng/bin [deng@localhost ~]$ more コマンドを実行すると、シェルは PATH 変数のパスに従って順番に検索します。一致するものが見つかると (この場合、一致するのは /bin/more です)、/bin/more .bashrc が実行されます。コマンドを実行する際に相対パスから絶対パスを検索する処理です。 したがって、現在のディレクトリで実行可能プログラムを実行するための形式が次のようになる理由がわかります。 [deng@localhost ~]$ ./test.sh test.sh を直接使用する代わりに。通常、PATH 変数には現在のパスが含まれていないためです。 ./ が追加されていない場合、相対パス形式のコマンドは絶対パスを見つけることができません。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: 経験豊富な人が、プロフェッショナルで標準化されたMySQL起動スクリプトの開発方法を紹介します。
最近、LAN 内のすべてのホスト名を一覧表示する必要があります (SMB プロトコル)。しかし、fi...
この記事では、参考までに、カルーセル効果の具体的なコードをJavaScript+CSSを使用して実装...
ローカルEclipse上にTomcatサーバーを作成する場合、 tomcaインストールディレクトリの...
展開環境: ここでは docker コンテナ、Linux システム、VmWare 仮想マシンが使用さ...
目次父から息子へ息子から父へクロスレベルコンポーネント(親から子孫)父から息子へpropsを通じて値...
1. リンク解除機能ハード リンクの場合、unlink はディレクトリ エントリを削除し、inode...
1. まず、お使いのマシンに応じて、MySQL 公式サイトから対応するデータベースをダウンロードしま...
ナビゲーション バー、固定トップ ナビゲーション バー、およびセカンダリ メニューの実装効果図の実装...
目次vモデル.sync微妙な違い機能シナリオを要約します。 vモデル <!--親コンポーネント...
この記事では、参考までに、簡単な計算機能を実装するためのJavaScriptの具体的なコードを紹介し...
Ubuntu コマンドライン ウィンドウで次の操作を実行します。 1. 仮想環境をインストールする...
この記事では、検証コードカウントダウンボタンを実装するためのVueの具体的なコードを例として紹介しま...
1. mysqlエクスポートファイル: SELECT `pe2e_user_to_company`....
SQLはテーブル内の重複レコードをすべて見つけます1. テーブルには id と name の 2 つ...
1. Windows10の組み込みLinuxサブシステムをインストールする1.1. Linuxサブシ...