Olivier Lalonde Asked: 2011-01-27 11:32:06 +0800 CST2011-01-27 11:32:06 +0800 CST 2011-01-27 11:32:06 +0800 CST 如何快速获取文件的完整路径以在终端中使用? 772 如何快速获取文件的完整路径以在终端中使用? command-line 7 个回答 Voted spennig 2011-01-27T12:27:18+08:002011-01-27T12:27:18+08:00 readlink -f foo.bar 或(先安装) realpath foo.bar Best Answer Olivier Lalonde 2011-01-27T11:32:58+08:002011-01-27T11:32:58+08:00 只需将文件拖放到终端中即可。 Sicco 2012-06-07T12:34:26+08:002012-06-07T12:34:26+08:00 所有好的答案;这是另一种情况的提示。 如果您正在使用 nautilus 浏览文件并且想要当前目录的完整路径,请按CTRL+L。这会将面包屑按钮暂时更改回旧式地址栏,从而允许您复制路径。 perseo22 2011-01-27T11:52:38+08:002011-01-27T11:52:38+08:00 如果它是可执行文件,则执行(在终端中): $ which your_executable 例如:$ which ls belacqua 2011-01-27T12:12:52+08:002011-01-27T12:12:52+08:00 除了拖动图标之外,还有几种方法可以在不使用 nautilus(或 thunar、konqueror 等)的情况下获取完整路径。然后,您将三次单击或单击拖动并复制,可能会将其保存在剪贴板管理器中*,然后将其粘贴到您需要的位置。 (pastie、klipper、glippy、glipper、病历) 您可以find在文件上方的目录中使用。(如果你不知道它在哪里,从你的 shell 放置你的地方开始,[通常]在你的主目录的顶部。) find . | egrep filename 您可以使用locate来获取文件名。(sudo updatedb如果最近没有这样做,请运行。) 使用 find 的一个更现实的例子是: $ find | egrep askubuntu | grep txt ./askubuntu-temp.txt ./drDocuments/web/meta.askubuntu.txt ./other/stuff/askubuntu.txt.iteration.1 ./other/stuff/askubuntu.txt.iteration.2 [...] 删除你不喜欢的,例如: find | egrep askubuntu | grep txt | egrep -v iteration find | egrep askubuntu | grep txt | egrep -v 'iteration|meta|other' locate 的使用方式大致相同,但 grep 通常更需要: locate myfile | egrep home | egrep -v 'mozilla|cache|local|bin|\.pyc|test' | grep \.py 这不是最有效的输入方式,但通常如果我丢失了一个文件,我会反复执行此操作,同时添加 grep 子句。 Sergiy Kolodyazhnyy 2017-01-14T05:57:05+08:002017-01-14T05:57:05+08:00 os.realpath()使用函数在python中轻松完成: $ python -c 'import os,sys;print(os.path.realpath(sys.argv[1]))' ./VirtualBox\ VMs/ /mnt/HDD/VirtualBox VMs 从相关答案中,您也可以使用readlink $ readlink -e ./out.txt /home/username/out.txt Juan Lanus 2017-01-09T06:26:47+08:002017-01-09T06:26:47+08:00 如果您只是在 Nautilus 中复制文件,则会复制完整路径。 然后将其粘贴到终端中。通过简单的粘贴,您可以获得: file:///home/juan/2017/agenda20170101.html 如果您右键单击并选择“粘贴文件名”,那么您会得到: '/home/juan/2017/agenda20170101.html' 如图所示。 这与 Windows 不同,后者复制文件内容而不是文件名。
或(先安装)
只需将文件拖放到终端中即可。
所有好的答案;这是另一种情况的提示。
如果您正在使用 nautilus 浏览文件并且想要当前目录的完整路径,请按
CTRL+L
。这会将面包屑按钮暂时更改回旧式地址栏,从而允许您复制路径。如果它是可执行文件,则执行(在终端中):
$ which your_executable
例如:
$ which ls
除了拖动图标之外,还有几种方法可以在不使用 nautilus(或 thunar、konqueror 等)的情况下获取完整路径。然后,您将三次单击或单击拖动并复制,可能会将其保存在剪贴板管理器中*,然后将其粘贴到您需要的位置。
(pastie、klipper、glippy、glipper、病历)
您可以
find
在文件上方的目录中使用。(如果你不知道它在哪里,从你的 shell 放置你的地方开始,[通常]在你的主目录的顶部。)find . | egrep filename
您可以使用
locate
来获取文件名。(sudo updatedb
如果最近没有这样做,请运行。)使用 find 的一个更现实的例子是:
删除你不喜欢的,例如:
locate 的使用方式大致相同,但 grep 通常更需要:
这不是最有效的输入方式,但通常如果我丢失了一个文件,我会反复执行此操作,同时添加 grep 子句。
os.realpath()
使用函数在python中轻松完成:从相关答案中,您也可以使用
readlink
如果您只是在 Nautilus 中复制文件,则会复制完整路径。
然后将其粘贴到终端中。通过简单的粘贴,您可以获得:
如果您右键单击并选择“粘贴文件名”,那么您会得到:
如图所示。
这与 Windows 不同,后者复制文件内容而不是文件名。