Linux的目錄與路徑 一

2021-06-28 12:35:35 字數 3143 閱讀 5692

linux的目錄與路徑

絕對路徑:路徑是由根目錄 / 開始的       eg :  /user/share/doc

相對路徑:相對於目前工作目錄的路徑   eg:  當由/user/share/doc到/user/share/man下時,可以寫成 "cd ../man"

相對路徑簡單,但只能針對當前的工作目錄

絕對路徑準確,但是寫的內容較多

linux系統上常見的一些符號

在開始操作目錄前,先給大家介紹一些大家在linux系統上常見的一些符號

. 代表此層目錄

.. 代表上一層目錄

- 代表前乙個工作目錄

~ 代表目前使用者所在的主資料夾

~account  代表account這個使用者的主資料夾(account是個賬號名稱)

注:1、根目錄/下的.與..是代表同乙個目錄。也就是說..所代表的也就是.

2、這裡的-與我們前面su -(相當於su -l)是不同的意思,大家要理解。

常見的處理目錄的命令

cd:改變目錄(change directory)

pwd:顯示當前目錄(print working directory)

mkdir:建立乙個新的目錄(make directory)

rmdir:刪除乙個空的目錄(remove directory)

cd 改變目錄

cd ~fanfan

進入fanfan使用者的主資料夾

cd ~

進入當前使用者的主資料夾

cd和cd ~是一樣的

cd ..

進入上層目錄

cd -

回到剛才的目錄(前面的目錄)

pwd 顯示目前所在的目錄

這個命令的使用時機是當你不知道你所在的目錄是哪個的情況下,可以直接用pwd顯示出當前的工作目錄。這裡有個重要的引數就是-p,這個引數可以顯示出真實的工作目錄。這是針對連線而言的。

[root@japie japie]# cd /var/mail/

[root@japie mail]# pwd

/var/mail

[root@japie mail]# pwd -p

/var/spool/mail

[root@japie mail]# ls -ld /var/mail

lrwxrwxrwx. 1 root root 10 dec 15 22:35 /var/mail -> spool/mail

通過上面我們可以看出來,/var/mail這個目錄是個連線檔案,真正的目錄是/var/spool/mail,這就是-p引數的意義。

mkdir 建立新目錄

兩個重要的引數

-m : 設定mask的值,而不依據系統預設的umask值來建立目錄 (mask與umask是不同的含義哦!特別注意)

-p : 遞迴建立目錄(預設的情況下,目錄是需要一層層來建立的)

[root@yufei ~]# umask

0022

[root@japie ~]# mkdir test

[root@japie ~]# mkdir -m 700 test1

[root@japie ~]# ls -ld test*

drwxr-xr-x 2 root root 4096 feb  9 21:35 test

drwx------ 2 root root 4096 feb  9 21:36 test1

通過上面的對比,我想各位已經明白了-m引數的意義了。

下面我們再來看看這個-p引數的意思

[root@japie ~]# mkdir test/test/test

mkdir: cannot create directory `test/test/test': no such file or directory

[root@japie ~]# mkdir -p test/test/test

發現已經在test目錄下建立了test/test這兩個目錄,如果不用-p引數,就要一層層來建立。

rmdir 刪除空目錄

也有個-p引數,意義也是一樣的,連同上層的空目錄一起刪除

我們還是以/root裡面的test/test/test為例

[root@japie ~]# touch test/test/test/file

[root@japie ~]# rmdir test/test/test/

rmdir: failed to remove `test/test/test/': directory not empty

如果目錄裡面有資料夾的話,那麼rmdir是刪除不了的,他會有提示「directory not empty」

[root@japie ~]# rm -f test/test/test/file

[root@japie ~]# rmdir test/test/test/

這時候只刪除了最底層的test目錄,還有test/test這兩個目錄沒有刪除,想要連同上層的空目錄一起刪除的話,可以加上-p引數。

[root@japie ~]# mkdir test/test/test

[root@japie ~]# rmdir -p test/test/test/

這時候把最底層的test目錄的上層所有的空目錄全部刪除了。當前目錄沒有了test目錄了。

正如我們開頭所說的一樣,我們在執行命令的時候並沒有用命令的絕對路徑就能直接執行,這就是路徑的變數$path所起的作用。

[root@japie ~]# echo $path

/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

我們看到,這個path裡面包括了這些目錄,所以,當我們在執行命令的時候,系統會在這些目錄裡面查詢所要執行的命令,找到後就執行了。目錄之間用「:」號分隔的。如果說,乙個命令可能在多個目錄裡面,那麼執行哪個呢?其實,就是先找到者先執行。如果在這些目錄裡面都找不到的話,那麼就會發現乙個「command not found」的提示,告訴你,找不到命令哈!

關於path的幾個注意事項

1 不同使用者的path是不同的,預設能夠執行的命令也不同

2 path可以通過path="$path":/root來新增,其中root為新增的目錄

3 為了安全起見,不建議將''."加入path的查詢目錄中

Linux目錄與路徑

絕對路徑 正確度較好 相對路徑 目錄間切換簡便 特殊目錄 表示當前目錄 表示當前目錄的上一層目錄 表示當前的工作目錄 表示當前使用者身份所在的家目錄 count 表示count使用者的家目錄 根目錄的上層與根目錄是同乙個目錄。目錄指令 1.cd 變換目錄 change directory cd 直接...

linux目錄與路徑

絕對路徑 路徑的學法一定由根目錄 寫起。如 user share doc。相對路徑 目錄不由 寫起。如 user share doc要切換到 user share man時可以寫為 cd man 這樣就是行對路勁的寫法。代表此層目錄 代表上層目錄 代表前乙個工作目錄 代表 目前使用者 所在的主資料夾...

Linux學習(4) 目錄與路徑

相對路徑與絕對路徑 絕對路徑 路徑的寫法一定由根目錄 寫起,例如 usr share doc 這個目錄 相對路徑 不是由 寫起,例如由 usr share doc 到 usr share man 下這個目錄,可以寫 cd man。指的是當前工作目錄下的路徑。一些特殊的目錄,可以幫助我們快速操作 代表...