在Linux中,可以根据当前所在目录的位置来对文件进行操作。因此在对文件进行操作时,路径的指定尤为重要。书写文件路径时有两种表示方式:绝对路径和相对路径。
(1)相对路径
不书写完整路径,仅书写文件名,系统仅在当前目录下查找目标文件。
例如,cat f1表示查看当前所在的目录下f1文件的内容。
(2)绝对路径
书写从/开始到文件所在目录的完整路径。
例如,cat /mnt/d1/f1表示从“/”根目录下的mnt目录中找到d1目录,在d1目录下查看f1文件的内容。下面将以实验的方式演示以上两种路径表示方式的用法。
在/mnt/d1目录下创建f1文件,然后分别创建a/b/c目录,和x/y/z目录,操作如下:
cd /mnt
mkdir d1
ls
cd d1
touch f1
mkdir -p a/b/c x/y/z
然后使用tree命令查看/mnt/d1的文件结构,操作如下:
tree -C /mnt/d1
结果如下图所示:
进入/mnt/d1目录使用相对路径的方式移动f1文件到c目录中,注意相对路径要以当前所在目录来计算,操作如下:
pwd
mv f1 a/b/c
tree -C /mnt/d1
操作过程及其结果如下图所示:
可见移动命令mv相对于当前所在目录/mnt/d1,把其目录下的f1文件移动到了a/b/c目录下,路径的表示方式均以当前所在目录/mnt/d1来作为基准。
现在将c目录下的f1文件以绝对路径的表示方式移动到x/y/z目录中,操作如下:
mv /mnt/d1/a/b/c/f1 /mnt/d1/x/y/z
tree -C /mnt/d1
操作过程及其结果如下图所示:
可见移动命令mv使用绝对路径将f1文件移动到了x/y/z目录时,不会考虑操作者使用mv命令时所在的目录位置,操作的源文件和目标目录完全按照其从“/”根目录算起的位置来定位。
总而言之,Linux命令可以使用相对路径也可以使用绝对路径,相对路径和绝对路径的表示方式没有优劣之说,只有方便和不方便之说,使用者可以根据当前目录所在位置决定使用相对路径或绝对路径,接受多个参数的命令字相对路径和绝对路径混合使用也可以。