Jea*_*ean 669 unix linux file path
有没有一种简单的方法可以打印完整的路径file.txt?
file.txt = /nfs/an/disks/jj/home/dir/file.txt
Run Code Online (Sandbox Code Playgroud)
该 <command>
dir> <command> file.txt
Run Code Online (Sandbox Code Playgroud)
应该打印
/nfs/an/disks/jj/home/dir/file.txt
Run Code Online (Sandbox Code Playgroud)
fil*_*mor 1092
使用readlink:
readlink -f file.txt
Run Code Online (Sandbox Code Playgroud)
lll*_*lll 187
我想你正在使用Linux.
我发现了一个名为realpathcoreutils 8.15 的实用工具.
realpath file.txt
/data/ail_data/transformed_binaries/coreutils/test_folder_realpath/file.txt
Run Code Online (Sandbox Code Playgroud)
根据@ styrofoam-fly和@ arch-standton的评论,realpath单独不检查文件是否存在,解决此问题添加e参数:realpath -e file
ZeR*_*emz 75
以下通常可以解决问题:
echo $(cd $(dirname "$1") && pwd -P)/$(basename "$1")
Run Code Online (Sandbox Code Playgroud)
jco*_*ctx 31
我知道这有一个更简单的方法,但是如果我能找到它就会变得愚蠢......
jcomeau@intrepid:~$ python -c 'import os; print(os.path.abspath("cat.wav"))'
/home/jcomeau/cat.wav
Run Code Online (Sandbox Code Playgroud)
jcomeau@intrepid:~$ ls $PWD/cat.wav
/home/jcomeau/cat.wav
Run Code Online (Sandbox Code Playgroud)
小智 24
find $PWD -type f | grep "filename"
Run Code Online (Sandbox Code Playgroud)
要么
find $PWD -type f -name "*filename*"
Run Code Online (Sandbox Code Playgroud)
Ste*_*ven 12
如果您与文件位于同一目录中:
ls "`pwd`/file.txt"
Run Code Online (Sandbox Code Playgroud)
替换file.txt为目标文件名.
Nat*_*hat 10
"Copy as Path"realpath yourfile 按照许多人的建议获取文件的完整路径.您可以使用fpn(完整路径名)脚本:
% pwd
/Users/adamatan/bins/scripts/fpn
% ls
LICENSE README.md fpn.py
% fpn *
/Users/adamatan/bins/scripts/fpn/LICENSE
/Users/adamatan/bins/scripts/fpn/README.md
/Users/adamatan/bins/scripts/fpn/fpn.py
Run Code Online (Sandbox Code Playgroud)
fpn不是一个标准的 Linux 包,但它是一个免费和开放的 github 项目,你可以在一分钟内设置它。
我知道这是一个古老的问题,但仅在此处添加信息:
Linux命令which可用于查找命令文件的文件路径,即
$ which ls
/bin/ls
Run Code Online (Sandbox Code Playgroud)
有一些注意事项;请参阅https://www.cyberciti.biz/faq/how-do-i-find-the-path-to-a-command-file/。
| 归档时间: |
|
| 查看次数: |
857852 次 |
| 最近记录: |