linux學習(六)絕對路徑、相對路徑、cd、mkdir、rmdir、rm
阿新 • • 發佈:2017-10-24
director shell script local mkdir -p create deb blog 目錄
一、絕對路徑
就是從根開始的,如:/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
linux學習(六)絕對路徑、相對路徑、cd、mkdir、rmdir、rm