3.Linux檔案和目錄的管理
1.目錄的相關操作
命令 | 含義 |
cd | 變換目錄(change directory) |
pwd | 顯示當前目錄 |
mkdir | 建立一個新的目錄 |
rmdir | 刪除一個空的目錄 |
rm -rf | 刪除,-r代表遞迴,比如刪除資料夾下所有檔案,-f ,強制刪除 |
其他一些必備知識:
符號 | 含義 |
. | 代表當前目錄 |
.. | 代表上一層目錄 |
~ | 代表目前使用者身份的家目錄 |
~yuan | 代表yuan這個使用者的家目錄(yuan是一個賬戶名稱) |
1.1.cd(變換目錄)
例子:
現在我擁有一個普通的使用者:yuangege,我們再做一些實驗開看看:
cd-的用法:
1.2.建立一個目錄(mkdir)和刪除一個目錄(rmdir)
使用命令:mkdir + 目錄名,比如建立一個名為test01的目錄:mkdir test01
進入test01的資料夾,再建立一個目錄在建立三個資料夾,可以同時建立多個目錄,分別命名為:test011,test012,test013:
現在試著直接回到root的家目錄,然後使用命令rmdir刪除test01的目錄,提示目錄非空不可以刪除,也就是說rmdir只可以刪除一個空的目錄(因為在test01資料夾裡面有三個資料夾),想要刪除的話,只能進去到這個資料夾,把裡面的test011,test012,test013全部刪除,然後才可以刪除test01:
如何建立多級目錄,比如建立:test02/play這個資料夾,怎麼做?
使用命令:mkdir -p test02/play
建立多級子目錄,比如建立:test03目錄,然後再test03的子目錄有三個資料夾分別為,a,b,c怎麼做?
使用命令:mkdir -p test03 / {a,b,c}
1.3.刪除(rm)
遞迴強制刪除,意思是把,需要把一個資料夾,和這個資料夾的子檔案家強制刪除,此命令很強悍,小心使用。
比如一次性刪除test03資料夾,以及他的子資料夾;
使用命令:rm -rf test03/
2.執行路徑變數:$PATH
在window也有一個一樣的概念,就是外部命令搜尋路徑:
1.什麼是環境變數:通常是指在作業系統當中,用來指定作業系統執行時所需要的引數。
2.Path環境變數:是作業系統外部命令搜尋路徑。
3.window+R,輸入cmd 輸入 ipconfig ,按下命令,顯示計算機網絡卡配置
為什麼會有這個結果?
其實是作業系統執行ipconfig.exe的可執行檔案。
4.作業系統在哪裡找這個ipconfig.exe 這個檔案在電腦路徑:C:\Windows\System32 中有ipconfig.exe的檔案。如果改變ipconfig 的名字為iconfig ,再次在cmd裡面輸入ipconfig命令,提示不是內部或外部命令,也不是可執行的程式。
例如:系統環境變數
- %SystemRoot%\system32
- %SystemRoot%\System32\Wbem
- %SYSTEMROOT%\System32\WindowsPowerShell\v1.0\
- C:\Program Files\Java\jdk1.8.0_05\bin\
- 首先執行的時候系統會從第一個路徑開始搜尋有沒有ipconfig.exe 這個名字的檔案可執行命令,如果有則執行。
我們所執行的命令本身就是一個可執行程式,比如當我呼叫 ls 這個命令時,它首先會在執行這個命令的路徑搜尋這個命令,如果沒有這個命令,系統就會在所設定的路徑上尋找 ls 這個命令(也就是window的外部命令搜尋路徑),如果在路徑沒有這個命令就會顯示錯誤。
接下來看看 系統的命令搜尋路徑有哪一些吧:
使用命令:echo $PATH
可以看到在root使用者下,有這些路徑。每個檔案路徑以冒號“:”分開,其實ls命令就是在/bin目錄下,比如把下面的路徑的/bin,路徑的時候就會提示找不到命令:
接下來做個小實驗:
編寫一個簡單的指令碼來顯示日期:
首先建立一個檔案,命名為:showtime.sh,寫一個簡單的日期顯示的命令
給showtime.sh這個指令碼賦予可執行的許可權
那現在試著執行一下這個指令碼看可不可行?提示命令找不到
可以看一下當前路徑,是在:/root
按照這個思路,如果我們想執行這個,showtime.sh這個指令碼,怎麼做呢?
方式一:直接到它命名的路徑下執行,因為這個showtime.sh這個指令碼是在root目錄下的:
使用命令:./showtime.sh
方式二:把:/root這個路徑新增到 $PATH路徑下:
新增路徑使用使用命令:PATH ="路徑"