しまかぜメモ

@kinunoriの雑なメモ

ファイル/シンボリックリンクのフルパスを表示する

ファイルのフルパスを取得する

readlink -f <フルパスを取得したいファイル名>

例:

$ pwd
/home/ec2-user
$ ls
amazon-ssm-agent.rpm  tmp
$ readlink -f amazon-ssm-agent.rpm
/home/ec2-user/amazon-ssm-agent.rpm
$ ln amazon-ssm-agent.rpm amazon-ssm-agent.rpm.lnk
$ ls -li
total 11492
 436736 -rw-rw-r-- 2 ec2-user ec2-user 5881471 Mar 29 03:33 amazon-ssm-agent.rpm
 436736 -rw-rw-r-- 2 ec2-user ec2-user 5881471 Mar 29 03:33 amazon-ssm-agent.rpm.lnk
1966084 drwxrwxr-x 2 ec2-user ec2-user    4096 Apr 28 09:59 tmp
$ readlink -f amazon-ssm-agent.rpm.lnk
/home/ec2-user/amazon-ssm-agent.rpm.lnk

注意点: ファイルが存在しない場合に実行すると、存在しないファイルのフルパスを返してしまうので注意が必要です

$ ls
amazon-ssm-agent.rpm  amazon-ssm-agent.rpm.lnk  tmp
$ readlink -f amazon-ssm-agent.rpm.test
/home/ec2-user/amazon-ssm-agent.rpm.test
$ ls
amazon-ssm-agent.rpm  amazon-ssm-agent.rpm.lnk  tmp

シンボリックリンクリンク元を取得する

フルパス取得の場合と同じです。

readlink -f <フルパスを取得したいファイル名>

例:

$ ln -s amazon-ssm-agent.rpm /home/ec2-user/amazon-ssm-agent.rpm.slink
$ ls
amazon-ssm-agent.rpm  amazon-ssm-agent.rpm.slink  tmp
$ readlink -f amazon-ssm-agent.rpm.slink
/home/ec2-user/amazon-ssm-agent.rpm

補足

所属会社のブログで投稿した内容です ファイル/シンボリックリンクのフルパスを表示する - ForgeVision Engineer Blog