Linux學習筆記10——Linux 檔案與目錄管理
一、目錄與路徑
如果是在寫程式 (shell scripts) 來管理系統的條件下,務必使用絕對路徑的寫法。 怎麼說呢?因為絕對路徑的寫法雖然比較麻煩,但是可以肯定這個寫法絕對不會有問題。 如果使用相對路徑在程式當中,則可能由於你執行的工作環境不同,導致一些問題的發生。
1,目錄的相關操作
到變換目錄的指令是cd,特殊的目錄:
有個有趣的問題,/(根目錄)是否有上層目錄?用ls -al查詢,發現根目錄確實是有上層目錄,cd ..發現還是在根目錄,即根目錄的上級目錄和當前目錄是一樣的。
常見的目錄相關指令:
cd:變換目錄
pwd:顯示目前的目錄
mkdir:建立一個新的目錄
rmdir:刪除一個空的目錄
cd (change directory, 變換目錄)
# pwd [-P]
-P :顯示出確實的路徑,而非使用連結 (link) 路徑。
cd /var/mail
pwd
pwd -P
為什麼會有這麼大差異?
因為這是個連結檔案。
mkdir [-mp] 目錄名稱
-m :設定檔案的許可權喔!直接設定,不需要看預設許可權 (umask) 的臉色~
-p :幫助你直接將所需要的目錄(包含上層目錄)遞迴建立起來!
在test下嘗試建立數個資料夾:
要想一次建立多級目錄,需要用-p
mkdir -p a1/b1/c1/d
建立許可權為rwx--x--x的目錄
當然如果沒有用-m則會採用預設許可權
不過在生成目錄時,不建議用-p,要是寫錯了就會很麻煩的。
rmdir (刪除“空”的目錄)
rmdir [-p] 目錄名稱
-p :連同“上層”“空的”目錄也一起刪除
一旦目錄非空,則會報錯。
[[email protected] test]# rmdir -p a1/b1/c1/d1/
# 瞧!利用 -p 這個選項,立刻就可以將 test1/test2/test3/test4 一次刪除~
# 不過要注意的是,這個 rmdir 僅能“刪除空的目錄”喔!
那如果要將所有目錄下的東西都殺掉呢?! 這個時候就必須使用“ rm -r test ”囉!不過,還是使用 rmdir 比較不危險!你也可以嘗試以 -p 的選項加入,來刪除上層的目錄喔!
2,關於可執行檔案路徑的變數: $PATH
我們查閱當前目錄的相關資訊,用ls就可以,為什麼我可以在任何地方執行/bin/ls這個指令呢?這是
因為環境變數 PATH 的幫助所致呀!
PATH(一定是大寫)這個變數的內容是由一堆目錄所組成的,每個目錄中間用冒號(:)來隔開, 每個目錄是有“順序”之分的。仔細看一下上面的輸出,你可以發現到無論是root還是其他使用者都有 /bin 或 /usr/bin 這個目錄在PATH變數內,所以當然就能夠在任何地方執行ls來找到/bin/ls可執行檔案囉!
如果要再PATH中再新增一個目錄,放置可執行檔案: