一、绝对路径
就是从根开始的,如:/root、/usr/local。
二、相对路径
相对于当前路径的,比如我们在当前路径下建立了一个a.txt。
[root@iZ25lzba47vZ ~]# pwd
/root
[root@iZ25lzba47vZ ~]# ls
1.cap 33.txt Application iptables.bak oneinstack shellscripts
1.ipt a.php Document.pdf npm-debug.log ruanwenwu syncwithgit.sh
[root@iZ25lzba47vZ ~]# touch a.txt
[root@iZ25lzba47vZ ~]# ls
1.cap 33.txt Application Document.pdf npm-debug.log ruanwenwu syncwithgit.sh
1.ipt a.php a.txt iptables.bak oneinstack shellscripts
[root@iZ25lzba47vZ ~]#
三、cd命令
cd命令的意思是change directory,即更换目录。
[root@iZ25lzba47vZ ~]# pwd
/root
[root@iZ25lzba47vZ ~]# cd ruanwenwu/
[root@iZ25lzba47vZ ruanwenwu]# pwd
/root/ruanwenwu
[root@iZ25lzba47vZ ruanwenwu]#
cd命令的几个常用参数:
切换到上一级目录:
[root@iZ25lzba47vZ ruanwenwu]# pwd
/root/ruanwenwu
[root@iZ25lzba47vZ ruanwenwu]# cd ..
[root@iZ25lzba47vZ ~]# pwd
/root
[root@iZ25lzba47vZ ~]#
切换到家目录
[root@iZ25lzba47vZ ~]# cd /data/
[root@iZ25lzba47vZ data]# pwd
/data
[root@iZ25lzba47vZ data]# cd ~
[root@iZ25lzba47vZ ~]# pwd
/root
切换到上一个目录(类似于遥控器换台)
[root@iZ25lzba47vZ ~]# pwd
/root
[root@iZ25lzba47vZ ~]# cd /data/
[root@iZ25lzba47vZ data]# pwd
/data
[root@iZ25lzba47vZ data]# cd ~
[root@iZ25lzba47vZ ~]# pwd
/root
四、mkdir
mkdir命令用来创建目录。
创建一个目录:
[root@iZ25lzba47vZ ~]# mkdir 1
[root@iZ25lzba47vZ ~]# ls
1 1.ipt a.php a.txt iptables.bak oneinstack shellscripts
1.cap 33.txt Application Document.pdf npm-debug.log ruanwenwu syncwithgit.sh
创建某时给默认的权限
[root@iZ25lzba47vZ ~]# mkdir -m 777 2
[root@iZ25lzba47vZ ~]# ls -lt
total 1920
drwxrwxrwx 2 root root 4096 Oct 24 00:05 2
drwxr-xr-x 2 root root 4096 Oct 24 00:04 1
-rw-r--r-- 1 root root 0 Oct 23 23:58 a.txt
drwxr-xr-x 5 root root 4096 Sep 11 12:59 Application
drwxr-xr-x 3 root root 4096 Apr 24 20:11 shellscripts
-rwxr-xr-x 1 root root 599 Apr 10 2017 syncwithgit.sh
-rw-r--r-- 1 root root 8242 Mar 26 2017 npm-debug.log
-rw-r--r-- 1 root root 0 Mar 26 2017 33.txt
-rw-r--r-- 1 root root 36 Mar 10 2017 a.php
-rw-r--r-- 1 root root 296 Mar 1 2017 iptables.bak
-rw-r--r-- 1 root root 0 Mar 1 2017 1.ipt
-rw-r--r-- 1 tcpdump tcpdump 24 Mar 1 2017 1.cap
drwxrwxrwx 2 root root 4096 Nov 5 2016 ruanwenwu
drwxr-xr-x 7 root root 4096 Feb 21 2016 oneinstack
-rw-r--r-- 1 root root 1909424 Feb 21 2016 Document.pdf
可以看到,给了默认权限的2目录和1目录的权限是不一样的。默认的1的权限是755。
连续创建目录:
[root@iZ25lzba47vZ ~]# mkdir 3/4/5
mkdir: cannot create directory ‘3/4/5’: No such file or directory
[root@iZ25lzba47vZ ~]# mkdir -p 3/4/5
[root@iZ25lzba47vZ ~]# ls
1 1.ipt 3 a.php a.txt iptables.bak oneinstack shellscripts
1.cap 2 33.txt Application Document.pdf npm-debug.log ruanwenwu syncwithgit.sh
[root@iZ25lzba47vZ ~]# tree 3
-bash: tree: command not found
[root@iZ25lzba47vZ ~]# yum install tree
[root@iZ25lzba47vZ ~]# tree 3
3
└── 4
└── 5
可以看到,不加p参数,是不可以连续创建的。
五、rmdir
rmdir的用途是删掉目录。他的功能比较鸡肋,它只能删除空的目录。
删除空的目录5:
[root@iZ25lzba47vZ ~]# rmdir 3/4/5
[root@iZ25lzba47vZ ~]# tree 3
3
└── 4
在4下创建文件,然后再试图去删掉4:
[root@iZ25lzba47vZ ~]# touch 3/4/aa.txt
[root@iZ25lzba47vZ ~]# rmdir 3/4
rmdir: failed to remove ‘3/4’: Directory not empty
rmdir有个p参数,可以连续删除多个目录,和mkdir的p参数对应,但是也只能删除空目录:
[root@iZ25lzba47vZ ~]# rmdir -p 3/4
rmdir: failed to remove ‘3/4’: Directory not empty
删除4目录下的aa.txt,然后再试一次:
[root@iZ25lzba47vZ ~]# rm 3/4/aa.txt
rm: remove regular empty file ‘3/4/aa.txt’? y
[root@iZ25lzba47vZ ~]# rmdir -p 3/4
[root@iZ25lzba47vZ ~]# tree 3
3 [error opening dir]
0 directories, 0 files
六、rm命令
rm命令用来删除文件和目录。
在上面的例子里我们已经看到,rm不加任何参数时,系统会给出提示。如果加f参数就不会了:
[root@iZ25lzba47vZ ~]# mkdir 3
[root@iZ25lzba47vZ ~]# touch 3/a.txt
[root@iZ25lzba47vZ ~]# rm 3/a.txt
rm: remove regular empty file ‘3/a.txt’? n
[root@iZ25lzba47vZ ~]# rm -f 3/a.txt
那么rm删除目录是怎样的呢?
[root@iZ25lzba47vZ ~]# touch 3/a.txt
[root@iZ25lzba47vZ ~]# rm 3
rm: cannot remove ‘3’: Is a directory
看来,rm不能直接删除目录,但是加上r参数后就可以了:
[root@iZ25lzba47vZ ~]# rm 3
rm: cannot remove ‘3’: Is a directory
[root@iZ25lzba47vZ ~]# rm -rf 3
[root@iZ25lzba47vZ ~]# ls -ld 3
ls: cannot access 3: No such file or directory