列出文件的完整路径,而不将其与相对路径绑定

列出文件的完整路径,而不将其与相对路径绑定

我可以做到这一点

root@server [/home/user/public_html]# ls /home/user/public_html/.htaccess 

但我想这样做

ls --switch .htaccess
/home/user/public_html/.htaccess

是否可以?

答案1

find与 结合使用pwd是一个很好的答案,但它会创建两个子 shell,并且不是必需的。有一个命令可以执行您想要的操作:

readlink -f .htaccess

输出

$ cd /tmp && touch foo
$ ls ./foo
./foo
$ readlink -f ./foo
/tmp/foo

答案2

您将必须使用findpwd

就像是:

find `pwd` -name .htaccess -maxdepth 1

或者

由此回答:

ls -d `pwd`/.htaccess

您可以使用该$PWD变量来删除不需要的子 shell:

find $PWD -name .htaccess -maxdepth 1
ls -d $PWD/.htaccess

也可以看看:

答案3

realpath为此目的而存在(查找规范的绝对路径):

$ realpath .htaccess
/home/user/public_html/.htaccess

相关内容