一、绝对路径与相对路径
1、绝对路径
(1)概念:
绝对路径是从文件系统的根目录(最高级别目录)开始定义文件或目录位置的完整路径。它不依赖于当前工作目录,总是指向文件系统中的一个确定位置。
(2)特点:
以根目录开始(在Linux 系统中,根目录是 /
,在 Windows 系统中根目录是驱动器号,比如 C:\),包含从根目录到目标文件或目录的所有子目录的路径。
(3)示例:
在Linux 系统中,/home/user/documents/file.txt
是一个绝对路径。
2、相对路径
(1)概念:
相对路径是相对于当前工作目录或特定起始目录的路径。它依赖于你当前所在的目录位置,并且没有从根目录开始。简单点来说,相对路径意指相对于目前工作目录的路径。
(2)特点:
不以根目录开始,而是以当前工作目录或指定的基目录为起点。
可以包含特殊的符号如 .
(表示当前目录)或 ..
(表示上一级目录)。
(3)示例:
在Linux系统中,如果当前目录是 /home/user/
,那么相对路径documents/file.txt
是指/home/user/documents/file.txt
。
3、两者比较
绝对路径适合在任何情况下使用,尤其是当需要确定访问文件或目录时。由于它是从根目录开始的,正确性比较好,所以不论你当前在哪个目录下,使用绝对路径总能精确地定位文件。
相对路径则更加灵活,适合在文件结构中已知相对位置的情况下使用,特别是在脚本或程序中,这样代码可以在不同环境下更容易地重用。换句话说,相对路径在不同目录之间的切换会更加灵活。
使用绝对路径或相对路径取决于上下文和需求。
二、特殊目录符号
.
:代表此层目录
..
:代表上一层目录
-
:代表前一个工作目录
~
:代表目前使用者身份所在的家目录
三、根目录与家目录
1、根目录:
在Linux系统中,根目录(Root Directory)是文件系统层次结构的最高层级,它由一个单独的斜杠/
表示。根目录是整个Linux文件系统的起点,所有其他文件和目录都在根目录下形成一个树状结构。
2、家目录:
在Linux操作系统中,家目录(Home Directory)是一个用户特定的目录,用于存储该用户的个人文件和配置文件。每个用户在系统中都有一个唯一的家目录,通常位于 /home
目录下,目录的名称与用户的用户名相同。例如,用户 john 的家目录通常是 /home/john
。当登录Linux系统后,每个账号都会处在自己的家目录中。
*家目录的路径
在命令行中,家目录通常可以用 ~
符号来表示。例如,~/Documents
表示的是用户家目录下的 Documents 目录。
*绝对路径的特殊写法:例如我要进入家目录下的/public_data/reference
,我可以写成cd ~/public_data/reference
四、处理目录命令
1、cd(Change Directory,切换目录)
(1)cd 相对路径或绝对路径
:直接切换路径,注意绝对路径和相对路径的写法,以及特殊目录符号的运用。
(2)cd ~用户名
:进入该用户的家目录。
(3)cd
:直接返回当前用户的家目录。
(4)cd ..
:返回上一层目录。
(5)cd -
:返回刚刚所在的目录,比如我从~/public_data/reference
目录切换到~/mambaforge
目录,当我输入cd -
时,就会返回~/public_data/reference
目录,并给出该目录的绝对路径。
2、pwd(Print Working Directory,显示目前所在目录)
(1)pwd
:单纯显示当前工作目录。
(2)pwd -p
:显示文件的实际目录,而不是它的链接文件的目录名。
refdata其实是一个链接
3、mkdir(Make Directory,建立新目录)
(1)mkdir 目录名称
:建立新目录名称,但此时只能一层一层建立,如mkdir /test1/test2/test3/test4
,则必须要保证/test1
,/test1/test2
,/test1/test2/test3
这三个目录均存在,才能建立/test1/test2/test3/test4
。
(2)mkdir -p 目录名称
,如在家目录中mkdir -p /test1/test2/test3/test4
则会自动帮我将/test1
, /test1/test2
,/test1/test2/test3
,/test1/test2/test3/test4
这四个目录逐级建好,并且如果某个目录本来存在,也不会报错。