1. 程式人生 > >3.Linux檔案和目錄的管理

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 ="路徑"