1. 程式人生 > >linux學習(六)絕對路徑、相對路徑、cd、mkdir、rmdir、rm

linux學習(六)絕對路徑、相對路徑、cd、mkdir、rmdir、rm

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