2.6-2.9绝对路径和相对路径

2.6 绝对路径和相对路径

如何理解绝对路径和相对路径
  • 对于Linux而言,是以目录来组织整个结构的。最上层是根目录(/),如果一个路径是从根目录(/)开始,则这是绝对路径,比如(/usr,/usr/local)。

  • 而相对路径则是相对于当前目录的,以当前目录为基础,向下查找对应的目录。书写时直接输入对应的目录即可,表示为(usr,usr/local)。举例说明:如果当前目录在/usr下,local则表示的绝对路径为/usr/local,从/usr查找下一个为local的目录。

绝对路径是从/开始的,相对路径是从当前目录开始的

举例:如果当前我们在root里gaohanwei这个目录下查看1.txt这个文件

  • 绝对路径:ls /root/gaohanwei/1.txt

  • 相对路径:ls /1.txt

使用绝对路径的好处是不管我们当前处于哪个路径下都可以使用绝对路径找到要查看使用的目录。

pwd        查看当前处于哪个目录

2.7 CD命令

cd命令语法

cd [相对路径或绝对路径或特殊符号]

  • 说明: 不加参数时,默认切换到用户主目录,即环境变量HOME指定的目录,如root用户的HOME变量为/root,那么cd命令不带参数时便切换到/root目录下。

  • 特殊符号:

~表示用户主目录,即HOME变量指定的目录,如root用户的主目录为/root。

-表示前一个工作目录。

..表示上级目录。

.表示当前目录。

cd命令示例
  • 查看当前目录

[root@localhost ~]# pwd/root
  • 参数为绝对路径

[root@localhost ~]# cd /home  [root@localhost home]# pwd/home
  • 不加参数,默认切换到HOME变量指定的目录

[root@localhost home]# cd [root@localhost ~]# pwd/root
  • 中划线,表示前一个工作目录,这里的前一个目录是/home

[root@localhost ~]# cd -/home

[root@localhost home]# pwd/home
  • ~ 波浪线表示用户主目录,和不加参数时类似。

[root@localhost home]# cd ~    [root@localhost ~]# pwd/root

参数为相对路径,这里是相对于/root目录

[root@localhost ~]# cd ../var/spool/mail/[root@localhost mail]# pwd/var/spool/mail

2.8 创建和删除目录mkdir rmdir

mkdir创建目录

mkdir命令用来创建目录。该命令创建由dirname命名的目录。如果在目录名的前面没有加任何路径名,则在当前目录下创建由dirname指定的目录;如果给出了一个已经存在的路径,将会在该目录下创建一个指定的目录。在创建目录时,应保证新建的目录与它所在目录下的文件没有重名。

  • 功能:创建一个目录

  • 语法:mkdir [选项] dirname目录名

  • 选项:

    -Z
    设置安全上下文,当使用SELinux时有效

    -m
    <目标属性>或--mode<目标属性>建立目录的同时设置目录的权限

    -p
    可以是一个路径名称。此时若路径中的某些目录尚不存在, 加上此选项后, 系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。

    --version
    显示版本信息

举例:
  1. 建立多层文件

mkdir - p 1/2          在当前目录下创建1目录并在1目录下创建2目录

rmdir删除空目录命令
  • 功能:删除空目录

  • 语法:rmdir [选项] dirname

  • 说明:dirname表示目录名。该命令从一个目录中删除一个或多个子目录项。需要特别注意的是,一个目录被删除之前必须是空的。

  • 选项:

    p 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。如果整个路径被删除或者由于某种原因保留部分路径,则系统在标准输出上显示相应的信息。

    -v 显示指令执行过程

注意:子目录被删除之前应该是空目录。就是说,该目录中的所有文件必须用rm命令全部,另外,当前工作目录必须在被删除目录之上,不能是被删除目录本身,也不能是被删除目录的子目录。 虽然还可以用带有-r选项的rm命令递归删除一个目录中的所有文件和该目录本身,但是这样做存在很大的危险性。

要删除的空目录列表。当删除多个空目录时,目录名之间使用空格隔开。

举例:
  1. 删除一个空目录

rmdir /root/aaa               删除/root下的aaa这个空目录
  1. 删除多个空目录

rmdir /root/aaa /root/bbb     删除/root下的aaa和bbb这两个空目录
rm删除非空目录和文件命令
  • 选项:

    -i 删除前逐一询问确认。

    -f 即使原档案属性设为只读,也直接删除,无需逐一确认。

    -r 将目录及以下之文件全都逐一删除。

rmdir是删除目录命令,rm是用来删除非空的目录和文件命令

rm -rf可以删除所有目录和文件,不需要是空的,需要谨慎使用