Linux绝对路径和相对路径

简介: 在 Linux 中,简单的理解一个文件的路径,指的就是该文件存放的位置。只要我们告诉 Linux 系统某个文件存放的准确位置,那么它就可以找到这个文件。指明一个文件存放的位置,有 2 种方法,分别是使用绝对路径和相对路径。我们知道,Linux 系统中所有的文件(目录)都被组织成以根目录“/”开始的倒置的树状结构绝对路径一定是由根目录 / 开始写起。例如,使用绝对路径的表示方式指明 bin 文件所在的位置,该路径应写为 /usr/bin,测试代码如下:[root@localhost ~]# binbash: bin: command not found <-- 没有找到[

在 Linux 中,简单的理解一个文件的路径,指的就是该文件存放的位置。

只要我们告诉 Linux 系统某个文件存放的准确位置,那么它就可以找到这个文件。指明一个文件存放的位置,有 2 种方法,分别是使用绝对路径相对路径

我们知道,Linux 系统中所有的文件(目录)都被组织成以根目录“/”开始的倒置的树状结构

绝对路径一定是由根目录 / 开始写起。例如,使用绝对路径的表示方式指明 bin 文件所在的位置,该路径应写为 /usr/bin,测试代码如下:

[root@localhost ~]# bin
bash: bin: command not found   <-- 没有找到
[root@localhost ~]# /usr/bin
bash: /usr/bin: is a directory   <-- 是一个文件

可以看到,如果仅传递给 Linux 系统一个文件名,它无法找到指定文件;而当将 bin 文件的绝对路径传递 Linux 系统时,它就可以成功找到。和绝对路径不同,相对路径不是从根目录 / 开始写起,而是从当前所在的工作目录开始写起。使用相对路径表明某文件的存储位置时,经常会用到前面讲到的 2 个特殊目录,即当前目录(用 . 表示)和父目录(用 .. 表示)。举个例子,当我们使用 root 身份登录 Linux 系统时,当前工作目录默认为 /root,如果此时需要将当前工作目录调整到 root 的子目录 Desktop 中,当然可以使用绝对路径,示例代码如下:

[root@localhost ~]# pwd     <-- 显示当前所在的工作路径
/root
[root@localhost ~]# cd /root/Desktop
[root@localhost Desktop]# pwd
/root/Desktop

注意,这里所使用的 pwd 和 cd 命令,目前只需知道它们的功能即可,具体用法会在后续文章中作详细讲解。

可以看到,通过使用绝对路径,我们成功地改变了当前工作路径。但除此之外,使用相对路径的方式会更简单。因为目前处于 /root 的位置,而 Desktop 就位于当前目录下,所以:

[root@localhost ~]# pwd    <-- 显示当前所在的工作路径
/root
[root@localhost ~]# cd ./Desktop
[root@localhost Desktop]# pwd
/root/Desktop

此代码中,./Desktop 表示的就是 Destop 文件相对于 /root 所在的路径。再举一个例子,如果以 root 身份登录 Linux 系统,并实现将当前工作目录由 /root 转换为 /usr 目录,有以下 2 种方式:

#使用绝对路径
[root@localhost ~]# pwd <-- 显示当前所在的工作路径
/root
[root@localhost ~]# cd /usr
[root@localhost ~]# pwd
/usr
#使用相对路径
[root@localhost ~]# pwd <-- 显示当前所在的工作路径
/root
[root@localhost ~]# cd ../usr <-- 相对 root,usr 位于其父目录 /,因此这里要用到 ..
[root@localhost ~]# pwd
/usr

总之,绝对路径是相对于根路径 / 的,只要文件不移动位置,那么它的绝对路径是恒定不变的;而相对路径是相对于当前所在目录而言的,随着程序的执行,当前所在目录可能会改变,因此文件的相对路径不是固定不变的。

在linux中,确定文件位置,有绝对路径(absolute)与相对路径(relative)两种表示方法:

1. 绝对路径:以根目录(/)开始的文件名或目录名称, 如 /lib/sudo/sudo_noexec.so;

2. 相对路径:相对于目前路径的文件名写法。 如 ./lib/sudo/ 或 ././lib/sudo/ 等。

由于指令的执行需要系统的支持,若你的执行文件放置在本目录,并且本目录没有加入PATH路径中,并非正规的执行文件目录(/bin, /usr/bin 等加入PATH路径中的目录为正规的执行文件目录),此时就需要在指令所在目录下严格按照./command指令格式来该执行指令。

相关文章
|
4月前
|
Linux Python
linux上根据运行程序的进程号,查看程序所在的绝对路径。linux查看进程启动的时间
linux上根据运行程序的进程号,查看程序所在的绝对路径。linux查看进程启动的时间
70 2
|
5月前
|
Linux
Linux部署06 ---相对路径绝对路径,想要切换到home下的文件 cd /home/itheima/Desktop cd Desktop,相对路径以当前目录为起点一种写法 不写/,相对是当前目录
Linux部署06 ---相对路径绝对路径,想要切换到home下的文件 cd /home/itheima/Desktop cd Desktop,相对路径以当前目录为起点一种写法 不写/,相对是当前目录
|
7月前
|
Unix Linux 应用服务中间件
【Linux】Linux 系统编程——相对路径和绝对路径
【Linux】Linux 系统编程——相对路径和绝对路径
139 1
|
Linux
在Linux中使用tar命令打包绝对路径的问题
在Linux中使用tar命令打包绝对路径的问题
297 0
linux终端显示路径/绝对路径/相对路径
linux终端显示路径/绝对路径/相对路径
|
Linux
Linux文本编辑命令模式以及相对路径与绝对路径
今天介绍一下Linux中的文本编辑的命令模式以及相对路径和绝对路径的区别以及在Linux中添加文件(或者文件夹)的用法。
142 0
|
Ubuntu Linux Shell
linux第三课:目录文档操作命令(内含绝对/相对路径+1.pwd+2.cd+3.mkdir(创建目录)+4. rmdir(删除目录)+5. ls+6. cp+7.rm+8cat+9touch命令)
linux第三课:目录文档操作命令(内含绝对/相对路径+1.pwd+2.cd+3.mkdir(创建目录)+4. rmdir(删除目录)+5. ls+6. cp+7.rm+8cat+9touch命令)
222 0
linux第三课:目录文档操作命令(内含绝对/相对路径+1.pwd+2.cd+3.mkdir(创建目录)+4. rmdir(删除目录)+5. ls+6. cp+7.rm+8cat+9touch命令)
|
Linux C++
linux C++ 获取文件绝对路径
提供ftp服务时需要获取文件绝对路径,这里记录一下。 1 #include 2 #include 3 #include 4 5 int main(){ 6 const char *file_name = "filename"; 7 char a...
3472 0
|
12天前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
97 6
|
13天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
52 3
下一篇
无影云桌面