相对路径与绝对路径
绝对路径:路径的写法一定由根目录/写起,例如/usr/share/doc这个目录。
相对路径:路径的写法不是由/写起,例如由/usr/share/doc要到/usr/share/man下面时,可以写成cd../man,这就是相对路径的写法。相对路径一直相对于目前工作的路径。
对于文件名的正确性来说,绝对路径的正确性要比较好。在写程序(shellscripts)来管理系统的条件下,务必使用绝对路径的写法。如果使用相对路径在程序当中,则可能由于你执行的工作环境不同,会导致一些问题的发生。
目录的相关操作
几个常见的处理目录的命令:
*cd:切换目录
*pwd:显示当前目录
*mkdir:新建一个目录
*rmdir:删除一个空的目录
cd(切换目录,ChangeDirectory)
. 代表此层目录
.. 代表上一层目录
- 代表前一个工作目录
~ 代表目前用户身份所在的主文件夹
~account代表account这个用户的主文件夹
pwd(显示当前目录,PrintWorkingDirectory)
-p 显示当前的路径,而非使用连接路径
我们在使用这个命令的时候,可以加上-p这个参数,它可以让我们取得正确的目录名称,而不是以连接文件的路径来显示的。
mkdir(创建新目录,makedirectory)
-m 强制给予一个新的目录相关权限 例:mkdir-m711test
-p 帮助你直接将所需要的目录(包括尚层目录)递归创建出来 例:mkdirtest1/test2
rmdir(删除空的目录,removedirectory)
-p 连同上层空的目录也被删除
-r 连同目录下的所有文件都删除 例:rm-rtest
关于执行文件路径的变量:$PATH
为什么我可以在任何地方执行/bin/ls这个命令呢?为什么我在任何目录下输入ls就一定可以显示出一些信息而不会说找不到该/bin/ls命令呢?这是因为环境变量PATH的帮助。
当我们在执行一个命令的时候,举例来说ls好了,系统会依照PATH的设置去每个PATH定义的目录下查询文件名为ls的可执行文件,如果在PATH定义的目录中含有多个文件名为ls的可执行文件,那么闲查询到的同名命令先被执行。
执行echo$PATH命令($后面跟的是变量),可以显示所有配置的PATH目录.PATH="$PATH":/root,将/root目录加入PATH变量