絕對路徑和相對路徑及cd、pwd、mkdir、rmdir、tree命令詳解
一、絕對路徑和相對路徑(由下圖進行講解)
絕對路徑:由根目錄開始(/)開始的文件名或者目錄名稱,我們通過絕對路徑切換到/man1文件處,所經過的路徑。
cat /root/usr/share/man/man1
如下圖
相對路徑:相對于當前路徑,以當前所在位置的相對路徑。例如,我現在在/sbin目錄下,我要訪問man1文件。相對路徑為
cat /usr/share/man/man1
如下圖 同理我們也可以用絕對路徑來訪問這個文件 cd /root/usr/share/man/man1 如下圖
那我們訪問一個文件或者目錄時最好用相對路徑還在絕對路徑? 這要看你所處的位置,如下圖的兩種情況,
1.我在share目錄中,我要訪問man1文件; 2.我在man目錄下要訪問test目錄。 我們可以發現第二種情況,我們要訪問test1目錄只有一種方式,使用絕對路徑。 這下應該能理解相對路徑和絕對路徑。至于我當前在share目錄下我要訪問man1文件,我應該用那種路徑。這需要看你訪問man1文件的目的等等,這里暫時不做詳細介紹。
二、cd命令
切換工作目錄 無論是作為一名管理員還是一名Linux普通的用戶,我們在使用Linux系統過程中,都會因為需要不停的切換工作目錄。這時候就需要用到cd這個命令。
1.使用方法:
cd destination e.g. 如上圖所示我們由切換到tmp目錄下的test1目錄下的1目錄下的2目錄下
[root@local ~]# cd /tmp/test1/1/2 [root@local 2]# pwd /tmp/test1/1/2
注意(均是雙引號里面為特殊目錄)
在這里面我們需要記住幾個特殊的目錄,可以幫助更加便捷的使用Linux。
1. "."代表是當前目錄的意思
2. ".."代表是上一級目錄的意思
cd .. 我們可以快速切換到上一級目錄,比使用相對路徑和絕對路徑都更加快速。
[root@local ~]# cd - /tmp/test1/1/2 [root@local 2]# cd .. [root@local 1]# cd - /tmp/test1/1/2 [root@local 2]# cd .. [root@local 1]# pwd /tmp/test1/1 [root@local 1]# cd .. [root@local test1]# pwd /tmp/test1 [root@local test1]# cd .. [root@local tmp]# pwd /tmp [root@local tmp]# cd .. [root@local /]# pwd /
3. "-"在剛剛使用過的工作目錄與現在的工作目錄進行來回切換
[root@local 2]# cd - /root [root@local ~]# cd - /tmp/test1/1/2 [root@local 2]# cd - /root [root@local ~]# cd - /tmp/test1/1/2
4. "~" 代表當前用戶家目錄
5. "~mageedu" 代表mageedu這個用戶的jiamu
root 用戶可以直接切入任何其他用戶的家目錄,而不需要密碼認證。
三、pwd命令
顯示當前工作目錄
[root@local 1]# pwd /tmp/1
-P 選項,顯示軟鏈接指向路徑而不顯示當前路徑。具體看下面的命令。
[root@local tmp]# ll total 0 lrwxrwxrwx. 1 root root 4 Jul 31 09:35 1 -> /dev [root@local 1]# pwd /tmp/1 [root@local 1]# pwd -P /dev
可以看到1目錄時個軟鏈接指向dev目錄,而pwd只是顯示的當前路徑,而加上-P顯示的就是軟鏈接指向的路徑。
注意:pwd命令一般的用法都是直接用命令而不跟著任何參數。
同時又相關的環境變量也能實現這個功能:
1.PWD(大寫) :顯示當前所在目錄
[root@local ~]# echo $PWD /root
2.OLDPWD(大寫):顯示上一次所在目錄
[root@local ~]# cd /tmp [root@local tmp]# cd /usr [root@local usr]# echo $OLDPWD /tmp
四、mkdir
創建一個目錄,這個命令也是管理Linux基礎的命令之一。請務必掌握
常用選項
-m, –mode=MODE,創建指定MODE的目錄,注意這個權限不需要減掉umask。如下圖
[root@local tmp]# ll total 0 drwxrwxrwx. 2 root root 6 Jul 31 10:24 test.dir [root@local tmp]# mkdir --mode=111 test.dir2 [root@local tmp]# ll total 0 drwxrwxrwx. 2 root root 6 Jul 31 10:24 test.dir d--x--x--x. 2 root root 6 Jul 31 10:25 test.dir2
-p, –parents 連續創建多個不存在的目錄,并且不會報錯。我們知道mkdir這個命令只能在存在的路徑中創建目錄,而我們有時候需要這樣創建,例如,在tmp目錄下面再創建1目錄,1目錄下再創建2目錄,2目錄下再創建3目錄,3目錄下再創建4目錄,4目錄下再創建5目錄。要求一次創建成功。這是就需要用過這個選項,具體見下圖。
[root@local tmp]# mkdir -p /tmp/1/2/3/4/5 [root@local tmp]# tree /tmp /tmp ├── 1 │ └── 2 │ └── 3 │ └── 4 │ └── 5
五、tree
上面的圖我們可以大概知道tree命令的用法。沒錯,tree命令就用來顯示目錄和文件的層級結構。
常用選項
-a 顯示所有文件和目錄,除了.和.. (常用)
[root@local tmp]# tree -a /root /root ├── anaconda-ks.cfg ├── .bash_history ├── .bash_logout ├── .bash_profile ├── .bashrc ├── .cache │ ├── abrt │ │ └── lastnotification │ └── dconf │ └── user ├── .config │ ├── abrt │ └── lftp ├── .cshrc ├── .dbus │ └── session-bus │ └── 7a8157e8e3f64383a8612754a1682bcb-9 ├── initial-setup-ks.cfg ├── .lesshst ├── .local │ └── share │ └── lftp │ ├── cwd_history │ ├── rl_history │ └── transfer_log ├── .tcshrc ├── .viminfo ├── .xauth3F8Xbp └── .xauth3fbnpT 11 directories, 18 files
-d 僅僅顯示目錄(常用和-L 一起使用)
[root@local tmp]# tree -d /root /root 0 directories
-L顯示幾級層數,和-d 一起使用
[root@local usr]# tree -L 1 -d /
/ ├── bin ├── boot ├── dev ├── etc ├── home ├── lib ├── lib64 ├── lost+found ├── media ├── mnt ├── opt ├── proc ├── root ├── sbin ├── selinux ├── srv ├── sys ├── tmp ├── usr └── var 20 directories
tree還有很多其他的命令,詳見man。常用的就是以上的選項
六、rmdir
這是一個很少用的命令,因為他的一起功能我們能通過rm 實現,因此就不在這里做過多介紹需要了解詳解man。
原創文章,作者:fighter,如若轉載,請注明出處:http://www.www58058.com/26965