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指令格式来该执行指令。

目录
相关文章
|
3月前
|
Unix Linux 应用服务中间件
【Linux】Linux 系统编程——相对路径和绝对路径
【Linux】Linux 系统编程——相对路径和绝对路径
54 1
|
7月前
|
Linux
在Linux中使用tar命令打包绝对路径的问题
在Linux中使用tar命令打包绝对路径的问题
226 0
|
9月前
|
Linux
linux终端显示路径/绝对路径/相对路径
linux终端显示路径/绝对路径/相对路径
|
11月前
|
Linux
Linux文本编辑命令模式以及相对路径与绝对路径
今天介绍一下Linux中的文本编辑的命令模式以及相对路径和绝对路径的区别以及在Linux中添加文件(或者文件夹)的用法。
102 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命令)
162 0
linux第三课:目录文档操作命令(内含绝对/相对路径+1.pwd+2.cd+3.mkdir(创建目录)+4. rmdir(删除目录)+5. ls+6. cp+7.rm+8cat+9touch命令)
|
Linux
Linux绝对路径和相对路径直击本质
Linux绝对路径和相对路径直击本质
83 0
Linux绝对路径和相对路径直击本质
|
Shell 网络安全
02_Linux基础-文件系统层次结构-提示符-进程-命令格式-隐藏文件-通配符-绝对相对路径-{1..100}-ls-mkdir-其他基础命令
02_Linux基础-文件系统层次结构-提示符-进程-命令格式-隐藏文件-通配符-绝对相对路径-{1..100}-ls-mkdir-其他基础命令
120 0
02_Linux基础-文件系统层次结构-提示符-进程-命令格式-隐藏文件-通配符-绝对相对路径-{1..100}-ls-mkdir-其他基础命令
|
Linux Python
Python在Linux系统或者Debian系统下面访问不了其他文件目录,用绝对路径也不行
简单记录些具有参考意义的问题。方法永远比问题多。
Python在Linux系统或者Debian系统下面访问不了其他文件目录,用绝对路径也不行
|
Linux Python
Linux基础命令——绝对路径和相对路径
绝对路径和相对路径是路径的两种表现形式,应遵循最短路径原则(使用最短的路径操作某个文件或者目录)。 如果切换的目录离当前目录近可以使用相对路径 如果切换的目录离根目录近可以使用绝对路径 如果切换的目录离根目录和当前目录都一样那么使用绝对路径,因为这样路径很清楚和明确,方便阅读。
704 0
|
3天前
|
安全 网络协议 Linux
linux必学的60个命令
Linux是一个功能强大的操作系统,提供了许多常用的命令行工具,用于管理文件、目录、进程、网络和系统配置等。以下是Linux必学的60个命令的概览,但请注意,这里可能无法列出所有命令的完整语法和选项,仅作为参考