Linux/Unix中的绝对路径vs相对路径
什么是路径
在一个操作系统的文件系统中,路径是到达一个文件或一个目录的一条唯一的路线。到达一个文件的路径是由‘/’以及字母-数字组成的。
什么是绝对路径
绝对路径被定义为从根目录开始的一条通向文件或目录的路径。换句话说,绝对路径即从实际文件系统的/目录开始的一条完整路径。(译者注:绝对路径是唯一的)
关于绝对路径的栗子
/var/ftp/pub
/etc/samba.smb.conf
/boot/grub/grub.conf
对于每一个Linux/Unix机器来说,你看到的那些以‘/’开始的路径即以根目录开始的路径就是绝对路径。
什么是相对路径
相对路径被定义为跟当前工作路径(pwd)有关的路径。假设我目前处于/var/log 然后我想切换/var/log/kernel 这个目录下。我可以使用相对路径的概念切换到kernel目录下
使用相对路径切换到/var/log/kernel 通过使用相对路径
pwd
/var/log
cd kernel
提示:如果你
注意道在kernel之前没有‘/’,即表明它是个相对路径相对于当前工作目录。
使用绝对路径切换到/var/log/kernel.
cd /var/log/kernel
提示:我们可以在任何目录下使用绝对路径,但是当你想使用相对路径时,你必须确定当前工作目录下是否存在目标目录。
对于同一个操作使用绝对路径和相对路径的栗子
一号栗子:当前工作目录是/abc/xyz,我想删除/abc/xyx/read/hello.txt 这个文件。
使用相对路径:
rm read/hello.txt
使用绝对路径:
rm /abc/xyz/read/hello.txt
2号栗子:当前工作目录是/etc/samba,现在我想切换到/etc这个目录
使用相对路径:
cd ..
使用绝对路径:
cd /etc
3号栗子:当前工作目录是/var/ftp,现在我想切换到/var/log
使用相对路径:
cd ../log
使用绝对路径:
cd /var/log
4号栗子:当前工作目录是/etc/lvm,现在我想切换到/opt/oradba
使用相对路径:
cd ../../opt/oradba
使用绝对路径:
cd /opt/oradba
5号栗子:当前工作目录是/usr/local,现在我想删除当前工作目录下的abc.txt文件,我要怎么做呢?
使用相对路径:
rm abc.txt
使用绝对路径:
rm /usr/local/abc.txt
希望对你理解绝对路径和相对路径之间的差异有帮助。
原文请戳这里