Linuxでディレクトリの絶対パスを取得する詳細ガイド

Linuxにおいて、ディレクトリの絶対パスを取得する方法は多くの場面で必要です。この記事では、その方法として`pwd`コマンドと`readlink`コマンドを用いた手法を詳細に説明します。コード例と共に、具体的な応用例を4つ以上紹介します。

目次

基本的な方法:`pwd` コマンド

`pwd`(Print Working Directory)コマンドは、現在の作業ディレクトリ(カレントディレクトリ)の絶対パスを表示します。

pwd  # 現在の作業ディレクトリの絶対パスを表示

`pwd` のオプション

– `-P`: シンボリックリンクを解決して表示します。
– `-L`: シンボリックリンクのまま表示します。

高度な方法:`readlink` コマンド

`readlink` コマンドは、指定したファイルやディレクトリへの絶対パスを取得できます。特に`-f`オプションを使うと、絶対パスを返してくれます。

readlink -f ./some_folder  # some_folderへの絶対パスを取得

`readlink` のオプション

– `-f`: カノニカルファイル名(絶対パス)を取得します。
– `-e`: ターゲットが存在する場合にのみ、カノニカルファイル名を取得します。

応用例

1. シェルスクリプトでの使用

シェルスクリプト内でディレクトリの絶対パスを取得するには、`readlink`が非常に有用です。

abs_path=$(readlink -f "./some_folder")  # 絶対パスを変数に格納

2. バックアップスクリプト

バックアップする際に、ターゲットディレクトリの絶対パスを取得しておくと安全です。

backup_dir=$(pwd)  # 絶対パスを変数に格納

3. ログファイルへの記録

作業ディレクトリがどこであったのかをログファイルに記録する場合もあります。

echo $(pwd) >> activity.log  # 絶対パスをログファイルに記録

4. 絶対パスに基づく条件分岐

特定のディレクトリにいる場合のみ、特定のコマンドを実行するといった条件分岐にも使えます。

if [ $(pwd) = "/home/user/special_folder" ]; then
  echo "You are in the special folder."
fi

まとめ

Linuxでディレクトリの絶対パスを取得する方法として、`pwd`と`readlink`が基本的なコマンドです。これらを使った多くの応用例も紹介しました。この知識を使い、Linux操作の幅を広げてください。

created by Rinker
オライリージャパン
¥3,080 (2024/11/21 17:52:11時点 Amazon調べ-詳細)

コメント

コメントする

目次