Bash で絶対パスを取得する
- Bash で絶対パスを取得する方法
- Linux のファイルのルート ディレクトリ
-
readlink
コマンドを使用して Linux で絶対パスを取得する -
realpath
コマンドを使用して Linux で絶対パスを取得する -
find
コマンドを使用して Linux で絶対パスを取得する
この Bash の記事では、Linux で絶対パスを取得するさまざまな方法を学習します。 また、ファイルの絶対パスを取得するためのいくつかの異なる Linux コマンドについても学習します。
始める前に、Linux オペレーティング システムにおける 絶対
パスと 相対
パスの基本的な概念を理解する必要があります。
Bash で絶対パスを取得する方法
オペレーティング システムの構成要素は、ファイルとフォルダーです。 Linux ユーザーとして、いくつかのファイルおよびディレクトリ アクションを操作します。
ファイルのパス全体を見つけることは、そのようなプロセスの 1つです。 ファイルの完全なパスは、絶対パスまたは正規パスとも呼ばれます。
ファイルやフォルダを探すためのアドレスをパスと呼びます。 絶対パスは、任意の場所から目的のファイルを取得できる完全なアドレスまたは場所です。
一方、アクティブな作業ディレクトリに関する相対パスが確立されます。
パスは、ディレクトリまたはファイルへの参照です。 Linux には、絶対パスと相対パスの 2 種類のパスがあります。
現在の作業ディレクトリによって相対パスが決まります。 一方、絶対パスは、ファイルまたはディレクトリへの完全なパスです。
Bash には、スクリプトのアドレス全体を取得する方法がいくつかあります。 realpath
や readlink
を使用したり、小さなカスタム スクリプトを記述したりすることもできます。
相対アドレスを使用すると、アドレス全体を簡単に取得できます。
パス全体は、ルート ディレクトリから明示的に指定されます。 /
は、どれがどれであるかを簡単に知る方法です。
相対パスは /.
で始まりません。 (ルートフォルダー)。 この記事では、Bash でスクリプトの絶対パスを見つける方法について説明します。
この記事では、ファイルまたはフォルダーのパス全体を特定するためのさまざまな方法について説明します。
Linux のファイルのルート ディレクトリ
ファイル システムの最上位ディレクトリは、Linux のルート ディレクトリまたは絶対ディレクトリです。 ルート ディレクトリは、スラッシュ /
で示されます。
スラッシュ /
で始まるフル パスを使用して、ファイル システム内の任意のファイルまたはディレクトリの場所を記述することができます。
このフル パスは絶対パスと呼ばれます。つまり、ファイル システムのルートまたは絶対先頭から実行する必要があるすべてのステップを示します。
cd
コマンドを使用する
Linux オペレーティング システムの cd
(ディレクトリの変更) コマンドは、現在の作業ディレクトリを変更するために使用されます。
$ cd /tmp
mkdir
コマンドを使用する
次に、mkdir
コマンドを使用し、その後に新しいディレクトリに付けたい名前を付けます。
$ mkdir -p dir11/dir12/dir13/dir14/dir15
touch
コマンドを使用してディレクトリを作成する
新しいディレクトリを作成した後、touch
コマンドを使用してファイルを作成、変更、または修正します。
コード例:
$ touch dir11/dir12/file12.txt
$ touch dir11/dir12/dir13/dir14/file14.txt
$ touch dir11/dir12/dir13/dir14/dir15/file15.txt
コードの出力:
$ tree /tmp/dir11/
/tmp/dir11/
└── dir12
├── dir13
│ └── dir14
│ ├── dir15
│ │ └── file15.txt
│ └── file14.txt
└── file12.txt
上記の例では、4つのディレクトリと 3つのファイルを作成しました。 絶対ディレクトリは dir11/dir12/dir13/dir14/dir15/file15.txt
です。
Linux でのファイルの相対パス
絶対パスは理解しやすいですが、特に深くネストされたディレクトリを操作している場合は、扱いにくい場合があります。
ここで相対パスが役に立ちます。 さらに、上記のコードを見ると、相対ディレクトリ パスは dir13/file12.txt
です。
readlink
コマンドを使用して Linux で絶対パスを取得する
readlink
コマンドを使用して、ファイルの完全なアドレスを取得できます。 readlink
は、シンボリック リンクまたは正規ファイルのパスを取得するためによく使用されます。
ただし、readlink
は相対パスから絶対パスを計算することもできます。 どのような場合でも、readlink
にフラグを付ける必要があります。
そのような場合、f
フラグが最も一般的に使用されます。
readlink
コマンドは、正規のファイル名のリストを返します。 ファイルのパス全体を見つけるには、このコマンドの -f
引数を利用できます。
これらはディレクトリであり、これらのディレクトリにはファイルがあります。 必要なファイルの絶対パスを取得できます。
コード例:
$ cd /tmp/dir11/dir12/dir13/dir14/dir15/
パスを取得したいファイル名を書きます。
$ readlink -f file15.txt
readlink -f
をファイル名とともに使用した後、ファイルの正確なパスを取得しました。これは次のとおりです。
/tmp/dir1/dir2/dir3/dir4/dir5/file5.txt
コードの出力でわかるように、必要なファイルの絶対パスを取得します。
realpath
コマンドを使用して Linux で絶対パスを取得する
別の方法として、realpath
コマンドを使用して、Linux でファイルの絶対パスを取得できます。
コード例:
$ cd /tmp/dir11/dir12/dir13/dir14/
$ realpath file14.txt
ファイル file14.txt
のパスは次のとおりです。
/tmp/dir1/dir2/dir3/dir4/file4.txt
ご覧のとおり、realpath
コマンドを使用すると、Linux でファイルの目的の絶対パスを取得できます。
find
コマンドを使用して Linux で絶対パスを取得する
find
コマンドを使用して、ディレクトリの構造または階層を見つけることができます。 Linux では、find
コマンドを使用して、ファイルの絶対パスまたは場所を出力できます。
以下のコードを使用して、file14.txt
の絶対パスを見つけます。
$ cd /tmp/dir11/
$ find $PWD -type f -name file14.txt
また、ファイル file14.txt
の絶対パスは次のとおりです。
/tmp/dir11/dir12/dir13/dir14/file14.txt
上記のコード出力からわかるように、ターミナルで find
コマンドを使用して、必要なファイルの絶対パスを取得します。
この記事が、Linux オペレーティング システムでファイルの絶対パスを取得する方法を理解するのに役立つことを願っています。
My name is Abid Ullah, and I am a software engineer. I love writing articles on programming, and my favorite topics are Python, PHP, JavaScript, and Linux. I tend to provide solutions to people in programming problems through my articles. I believe that I can bring a lot to you with my skills, experience, and qualification in technical writing.
LinkedIn