Linux的基本操作(二)
一、設定別名-alias
1、通過別名機制簡化常用的、比較長的命令
alias+命令別名=‘命令’
“=”兩邊不能有空格
2、舉例
設定myls為ls-alh的別名
3、取消別名
unalias+命令別名
二、統計目錄及檔案空間佔用情況-du
1、統計指定目錄(或檔案)所佔用磁碟空間的大小
du+【選項】+【檔案或目錄】
2、常用選項
選項 | 說明 |
-a | 統計磁碟空間佔用時包括所有的檔案,而不僅僅只統計目錄 |
-h | 以更人性化的方式(預設以KB計數,但不顯示單位)顯示出統計結果 |
-s | 只統計所佔用空間總的大小,而不是統計每個子目錄、檔案的大小 |
- -max-depth=n | 統計所有小於等於第n層的目錄的總大小 |
3、統計出/var/log目錄中子目錄的大小
du -h - -max-depth=1/var/log/
可層層篩查
三、建立新目錄-mkdir
1、建立新的空目錄
mkdir+【選項】+目錄位置及名稱
-p 可以一次性建立巢狀多層目錄
2、舉例
- 在當前目錄下建立名為123的子目錄
mkdir 123
■ 用-p巢狀式,建立目錄 /11,在/11目錄下建立子目錄22,在/11/22目錄下建立子目錄33
四、建立空檔案-touch命令
1、更新檔案的時間標記
2、經常用於建立多個新的空檔案
touch+檔案
3、舉例
建立三個空檔案,檔名分別為aa.txt、bb.txt、cc.txt
五、建立連結檔案-ln
1、為檔案或目錄建立連結檔案,類似於windows系統的快捷方式
2、連結檔案型別
■ 軟連結(又稱為符號連結)
ln +【-s】+ 原始檔或目錄 連結檔案或目標位置
用絕對路徑,以免軟連結移動了找不到原始檔
■ 硬連結
ln + 原始檔或目錄 連結檔案或目標位置
檔案型別 | 軟連結檔案 | 硬連結檔案 |
刪除原始檔後 | 失效 | 仍然可用(檔案佔用空間與原始檔相同) |
使用範圍 | 適用於檔案或目錄 | 僅適用於檔案 |
儲存位置 | 與原始檔可在不同的檔案系統中 | 必須與原始檔在同一個檔案系統(即同一個分割槽)中 |
與原始檔的關係 | 相當於快捷方式 | 相當於給檔案起個別名 |
inode號碼 | inode號碼不同 | inode號碼相同 |
-
當一個檔案擁有多個硬連結時,對檔案內容修改,會影響到所有檔名;但是刪除一個檔名,不影響別的檔名的訪問。刪除一個檔名,只會使得"硬連結數"減1。
-
需要注意的是不能對目錄做硬連結。在日常工作中幾乎不會建立檔案的硬連結。
-
檔案是儲存在硬碟上的,硬碟的最小儲存單位叫做"扇區”(sector),每個扇區儲存512位元組。
-
一般連續八個扇區組成一個"塊"(block),一個塊是4K大小,是檔案存取的最小單位。作業系統讀取硬碟的時候,是一次性連續讀取多個扇區,即一個塊一個塊的讀取的。
-
檔案資料包括實際資料與元資訊(類似檔案屬性)。檔案資料儲存在"塊"中,儲存檔案元資訊(比如檔案的建立者、建立日期、檔案大小、檔案許可權等)的區域就叫做inode。因此,一個檔案必須佔用一個inode,並且至少佔用一個 block。
-
每個inode都有一個號碼,作業系統用inode號碼來識別不同的檔案。Linux系統內部不使用檔名,而使用inode號碼來識別檔案。對於系統來說,檔名只是inode號碼便於識別的別稱,檔名和inode號碼是一一對應關係,每個inode號碼對應一個檔名。
-
所以,當用戶在Linux系統中試圖訪問一個檔案時,系統會先根據檔名去查詢它對應的inode,看該使用者是否具有訪問這個檔案的許可權。如果有,就指向相對應的資料block。
六、複製檔案或目錄-cp
1、將需要複製的檔案或目錄(源)重建一份,並儲存為新的檔案或目錄
cp+【選項】+原始檔或目錄 目標檔案或目錄
2、cp 的常用選項
-f: 覆蓋目標同名檔案或目錄時不進行提醒,而直接強制複製
-i: 覆蓋目標同名檔案或目錄時提醒使用者確認
-p: 複製時保持原始檔的許可權、屬主及時間標記等屬性不變
-r: 複製目錄時必須使用此選項,表示遞迴複製所有檔案及子目錄
注:複製多個檔案或目錄時,目標位置必須是目錄,且目標目錄必須已存在
cp /etc/host.conf /etc/host.conf.bak
cp host.conf{ ,.bak}
mkdir yum bak
cp -r /etc/yum. repos.d/ /etc/yum.conf yum_bak/
七、刪除檔案或目錄-rm
1、刪除指定的檔案或目錄
rm+【選項】+要刪除的檔案或目錄
2、常用選項
-f: 刪除檔案或目錄時不進行提醒,而直接強制刪除
-i: 刪除檔案或目錄時提醒使用者確認(y表示刪除,n表示不刪除)
-r: 刪除目錄時必須使用此選項,表示遞迴刪除整個目錄樹(應謹慎使用)
注:不要直接刪除系統中已有的目錄或配置檔案,以避免出現意外故障
rm -rf /etc/yum. repos.d/*
刪除目錄下檔案時建議最好先切換到目錄下再執行rm -rf命令
cd /etc/yum.repos.d/
rm -rf ./*
八、移動檔案或目錄-mv
1、將指定的檔案或目錄轉移位置
2、如果目標位置與源位置相同,則相當於執行重新命名操作
mv+【選項】+原始檔或目錄 目錄檔案或目錄
mv命令只能對單個檔案重新命名,但是可使用rename命令批量修改檔名
rename 舊字元 新字元 目標檔案
例: rename jpg gif *.jpg
九、查詢命令檔案存放目錄-which
搜尋範圍由環境變數 PATH 決定(echo $PATH)
which+命令/程式名(預設當找到第一個目標後不再繼續查詢)
which±a+命令/程式名(在所有搜尋路徑中查詢)
十、查詢檔案或目錄-find
1、採用遞迴方式,根據目標的名稱、型別、大小等不同屬性進行精細查詢
find+【查詢範圍】+【查詢條件表示式】
查詢範圍:查詢檔案或子目錄的目錄位置
查詢條件表示式:查詢條件型別
2、常用查詢條件型別
查詢型別 | 關鍵字 | 說明 |
按名稱查詢 | -name | 根據目標檔案的名稱進行查詢,允許使用“*”及“?”萬用字元 |
按檔案大小查詢 | -size | 根據目標檔案的大小進行查詢;一般使用“+”、“-”號設定超過或小於指定的大小作為查詢條件;常用的容量單位包括KB(注意K是小寫)、MB、GB |
按檔案屬主查詢 | -user | 根據檔案是否屬於目標使用者進行查詢 |
按檔案型別查詢 | -type | 根據檔案的型別進行查詢;檔案型別包括普通檔案(f)、目錄(d)、塊裝置檔案(b)、字元裝置檔案(c)等;字元裝置檔案(c):按單個字元讀取資料的裝置(鍵盤,滑鼠) |
3、各表示式之間使用邏輯運算子
-
“-a” 表示 而且(and)
-
“-o” 表示 或者 (or)
4、find之exec用法
■ -exec引數後面跟的是Linux命令,它是以分號“;”為結束標誌,由於各個系統中分號會有不同的意義,因此在分號前面加上反斜槓轉義符“\”
{}代表前面find查找出來的檔名
■ find命令匹配到了當前目錄下的所有普通檔案,並在-exec選項中使用Is -l命令將它們列出
find ./ -type f -exec ls -l {} \ ;
總結
■ 檢視路徑(pwd)
■ 檢視及切換目錄(cd、ls)
■ 統計目錄及檔案佔用空間情況(du)
■ 建立目錄(mkdir)
■ 建立檔案(touch)
■ 建立連線檔案(ln)
■ 複製、刪除、移動目錄和檔案(cp、rm、mv)
■ 查詢命令檔案存放目錄(which)
■ 查詢檔案或目錄(find)
■ 設定別名(alias)