你的位置:首页 > 操作系统

[操作系统]7.1 目录与路径


7.1.1  相对路径与绝对路径

  绝对路径:路径的写法一定由根目录/写起,例如/usr/share/doc这个目录。

  相对路径:路径的写法不是由/写起,例如由/usr/share/doc要到/usr/share/man下面时,可以写成“cd ../man”,这就是相对路径的写法。相对路径一直相对于目前工作的路径。

  对于文件名的正确性来说,绝对路径的正确性要比较好。在写程序(shell scripts)来管理系统的条件下,务必使用绝对路径的写法。如果使用相对路径在程序当中,则可能由于你执行的工作环境不同,会导致一些问题的发生。

 

7.1.2  目录的相关操作

  几个常见的处理目录的命令:

  * cd:切换目录

  *pwd:显示当前目录

  *mkdir:新建一个目录

  *rmdir:删除一个空的目录

  cd(切换目录,Change Directory)

  .       代表此层目录

  ..      代表上一层目录

  -       代表前一个工作目录 

  ~      代表“目前用户身份”所在的主文件夹

  ~account  代表account这个用户的主文件夹

  pwd(显示当前目录,Print Working Directory)

  -p     显示当前的路径,而非使用连接路径

  我们在使用这个命令的时候,可以加上-p这个参数,它可以让我们取得正确的目录名称,而不是以连接文件的路径来显示的。

  mkdir(创建新目录,make directory)

  -m     强制给予一个新的目录相关权限  例:mkdir -m 711 test

  -p    帮助你直接将所需要的目录(包括尚层目录)递归创建出来  例:mkdir test1/test2

  rmdir(删除“空”的目录,remove directory)

  -p    连同上层空的目录也被删除

  -r    连同目录下的所有文件都删除  例:rm -r test

 

  7.1.3  关于执行文件路径的变量:$PATH

  为什么我可以在任何地方执行/bin/ls这个命令呢?为什么我在任何目录下输入ls就一定可以显示出一些信息而不会说找不到该/bin/ls命令呢?这是因为环境变量PATH的帮助。

  当我们在执行一个命令的时候,举例来说“ls”好了,系统会依照PATH的设置去每个PATH定义的目录下查询文件名为ls的可执行文件,如果在PATH定义的目录中含有多个文件名为ls的可执行文件,那么闲查询到的同名命令先被执行。

  执行“echo $PATH”命令($后面跟的是变量),可以显示所有配置的PATH目录.“PATH="$PATH":/root”,将/root目录加入PATH变量