如何在命令行中从相对路径获取绝对路径
how to get absolute path from relative path in command line
我运行这个命令"httpd -d ./inst2 -k start"启动Apache Server,我可以通过"ps -ef | grep httpd"看到这个命令行。我的问题是如果我不知道绝对路径,有没有办法得到“./inst2”的绝对路径?
谢谢
您可以通过检查伪符号 link /proc/PID/cwd
来尝试 GUESS 绝对路径是什么,其中 PID
可以从ps
输出:ls -l /proc/PID/cwd
。但请注意,它只是当前工作目录,您的路径可能会根据任何其他目录进行解析,因此这只是一个猜测。
另一种选择,如果你的程序使用这个相对路径打开一些文件,而实际上你需要确定这些文件的完整路径,你可以使用/proc/PID/fd
伪目录枚举某些进程当前打开的文件: ls -l /proc/PID/fd
。但是,当然,文件可以在执行 ls
时已经关闭。而且我不知道如果打开的文件被移动到其他地方会显示什么。
要获取 file/directory 的绝对路径,甚至可以在 linux.
上执行以下命令
- 找到 $HOME -type f -name "inst2" (for file)
- 找到 $HOME -type d -name "inst2" (对于目录)
这可以为您提供任何文件或目录的绝对路径。
如果该文件不在您的家中,请在命令前使用 sudo 并将 $HOME 替换为 /.
我运行这个命令"httpd -d ./inst2 -k start"启动Apache Server,我可以通过"ps -ef | grep httpd"看到这个命令行。我的问题是如果我不知道绝对路径,有没有办法得到“./inst2”的绝对路径?
谢谢
您可以通过检查伪符号 link /proc/PID/cwd
来尝试 GUESS 绝对路径是什么,其中 PID
可以从ps
输出:ls -l /proc/PID/cwd
。但请注意,它只是当前工作目录,您的路径可能会根据任何其他目录进行解析,因此这只是一个猜测。
另一种选择,如果你的程序使用这个相对路径打开一些文件,而实际上你需要确定这些文件的完整路径,你可以使用/proc/PID/fd
伪目录枚举某些进程当前打开的文件: ls -l /proc/PID/fd
。但是,当然,文件可以在执行 ls
时已经关闭。而且我不知道如果打开的文件被移动到其他地方会显示什么。
要获取 file/directory 的绝对路径,甚至可以在 linux.
上执行以下命令- 找到 $HOME -type f -name "inst2" (for file)
- 找到 $HOME -type d -name "inst2" (对于目录)
这可以为您提供任何文件或目录的绝对路径。 如果该文件不在您的家中,请在命令前使用 sudo 并将 $HOME 替换为 /.