ファイルがあれば印刷しますone.txt
。~/Documents
cd ~/Documents
realpath one.txt
~/Documents/one.txt
。
しかし、別のディレクトリにあるファイルのパスを印刷するにはどうすればよいですか?たとえば、cd a/b
ディレクトリにファイルがあり、それをコマンドに渡して絶対パスを印刷するにはどうすればよいですか?two.txt
a2/b2
two.txt
two.txt
realpath two.txt
他のディレクトリで同様のことをしたいと思います。
答え1
realpath
現在のディレクトリへの相対パスを指定してください。
$ pwd
/home/myself/local/build/shell-toolbox
$ realpath ../../../.profile
/home/myself/.profile
ファイルがどこにあるかを尋ねないと、GNUrealpath
ユーティリティは私のファイルを見つけることができないか、ファイルの絶対パスを生成できません。.profile
あなたの場合は、名前付きファイルがいくつかある可能性があるため、two.txt
ファイルrealpath
に絶対パス名を指定するには、少なくとも現在のディレクトリへの相対パスを指定する必要があります。
Unixファイルシステムでは、ファイルは次のように一意に識別されます。パス名(相対的または絶対的)。 ㅏファイル名現在ディレクトリにあるファイルの1つ以外のファイルを一意に識別することはできません。
two.txt
ホームディレクトリまたはその下で呼び出されるすべての一般ファイルを見つけて相対パス名を取得するには、次の手順を実行します$HOME
。
find "$HOME" -type f -name two.txt