第3章-目錄和檔案管理(一)
一,linux指令概述
# 在字元操作界面中輸入能夠完成特定操作和任務的字元串,都可以稱為"指令"。
# "指令"通常隻代表了實作某一類功能的指定或程式的名稱。
二,指令的分類
# Linux指令的執行必須依賴于shell指令解釋器。
# shell是在Linux系統中運作的一種特殊程式,它位于作業系統核心與使用者之間,
負責接收使用者輸入的指令并進行解釋,将需要執行的操作傳遞給系統核心執行,
Shell在使用者和核心之間充當了一個"翻譯官"的角色。
# Bash是Linux系統中預設使用的shell程式,檔案位于/bin/bash。
内部指令
是沒有檔案的,自動載入在記憶體裡,內建在shell解釋器程式内部的一些特殊指令,也稱"内建指令",存儲在記憶體條上的指令。
外部指令
能找到檔案的指令,存儲在硬碟裡面的

三,Linux指令行的格式
指令字 [ 選項 ] [ 參數 ]
指令字:區分英文字元的大小寫
選項:調節指令的具本功能,決定這條指令如何執行
-:1個杠,表示單詞簡寫,"例如:-a"
--:2個杠,表示完整的單詞,"例如:--help"
3,參數:參數是指令字的處理對象
Tab鍵:可以将輸入不完整的指令字、檔案、目錄名自動補全
\反斜杠:自動換行
Ctrl+u:快速删除目前光标處之前的所有字元内容
Ctrl+k:快速删除從目前光标處到行尾的所有字元内容
Ctrl+l:快速清空目前螢幕
Ctrl+c:取消目前指令行的編輯,并切換為新的一行指令提示符
四,獲得指令幫助
help指令
# 檢視各shell内部指令的幫助資訊(如:help pwd)
2,--help
# 會顯示中文幫助資訊,不過是在圖形界面下操作(如:ls --help)
man手冊頁
# 隻顯示英文(如:man file可以檢視file指令的手冊頁資訊)
4,"|"和">"
# 例:man ls | col -b > lshelp.txt
"col":是一個指令程式,用于過濾文本中的一些特殊控制字元。
"|": 管道,把前面的指令交給後面的指令進一步處理。
">":重定向輸出,前面的指令成功執行後,其螢幕輸出結果将儲存到">" 後邊指定的檔案中(有點類似于另存為的功能)。
五,檢視及切換目錄
pwd:檢視目前工作目錄(print working directory)
cd:切換工作目錄(change directory)
絕對路徑:以"/"作為起點,如"/boot/grub"。
相對路徑:在開頭不使用"/"符号,一般以目前工作目錄作為起點
#直接使用目錄名或檔案名,用于表示目前工作目錄中的子目錄,檔案位置
例如:"grub.conf"可以表示目前目錄下的grub.conf檔案。
#使用一個點"."開頭,可以明确表示以目前的工作目錄作為起點,
例如:"./grub.conf"。
#使用兩個點".."開頭,表示以目前目錄的上一級目錄(父目錄)作為點
例如:"../vmlinuz"等同于"/boot/vmlinuz"。
#使用"~使用者名"的形式開頭,表示以指定使用者的宿主目錄作為起點,省
略使用者名時預設為目前使用者
3,cd - :兩個運作過的目錄直接來回切換
4,ls:清單(List)顯示目錄内容
-l:以長格式(long)顯示檔案和目錄的清單,包括權限、大小、最後更新時間等
-a:顯示所有(All)子目錄和檔案的資訊,包括名稱以點"."開頭的隐藏目錄、檔案
-A:與-a的作用基本類似,但是"."和".."的檔案将不會顯示
-d:顯示目錄(Directory)本身的屬性,而不是顯示目錄中的内容
-h:以更人性化(Human)的方式顯示出目錄或檔案的大小,預設大小機關為位元組
使用-h後,将顯示為K、M等機關,需要結合-l選項一起死回生使用"-lh"。
-R:以遞歸(Recursive)的方式顯示指定目錄及其子目錄中的所有内容
--color:在字元模式中以顔色區分不同的檔案
#如果使用"—color=tty",表示使用終端預定義的顔色方案
#深藍色:表示目錄
#白色:表示一般檔案
#綠色:表示可執行檔案
#×××:表示裝置檔案
#紅色:表示壓縮檔案
組合鍵:
ls –lh:可以同時檢視多個檔案的資訊
ls -ld:可以隻顯示目前目錄的詳細資訊,而不顯示目錄下的内容
通配符:"?"、"*"
?:可以比對檔案名中的一個未知字元
*:可以比對檔案名中的任意多字元
例如:ls -lh /etc/ns*.conf(列出/etc/目錄下以"ns"開頭,"conf"結尾檔案)
du:統計目錄及檔案的空間占用情況
-a:統計磁盤空間占用時包括所有的檔案,而不僅僅是目錄
-h:顯示機關的方式(預設以KB計數),使用-h後,以K、M等機關顯示
-s:隻統計每個參數所占用空間總的大小,而不是統計子目錄、檔案的大小
-sh:統計某個目錄所占用的空間大小(常用組合鍵)
-ah:統計某個目錄中所有檔案、子目錄各自占用的空間大小
6,df:檢視以挂接磁盤使用情況
六,建立目錄和檔案
mkdri:建立新的目錄
-p:一次性建立嵌套的多層目錄
touch:建立空的檔案
3,ln:建立連結(Link)檔案
軟連結格式:ln -s 源檔案或目錄 連結檔案或目标位置
例如:ln -s /etc/httpd/conf/httpd.conf /etc/
ls -lh /etc/httpd.conf
含義:為檔案/etc/httpd/conf/httpd.conf建立一個軟連結檔案/etc/httpd.conf
硬連結格式:ln 源檔案 連結檔案或目标位置
#軟連結:又稱符号連結,删除原始檔案後,軟連結失效
适用于檔案或目錄
與原始檔案可以位于不同的檔案系統中
#硬連結:删除原始檔案後,硬連結仍舊可以用
隻适用于檔案,不能為目錄建立硬連結
必須與原始檔案在同一個檔案系統中(如Linux一個分區内)
七,複制、删除、移動目錄和檔案
cp:複制(copy)檔案或目錄
格式:cp [選項] 源檔案或目錄 目标檔案或目錄
-f:覆寫目标同名檔案或目錄時不進行提醒,而直接強制(force)複制
-i:覆寫目标同名檔案或目錄時提醒使用者确認(interactive,互動式)
-p:複制時保持(preserve)源檔案的權限、屬主及時間标記等屬性不變
-r:表示遞歸複制所有檔案及子目錄
2,rm:删除(remove)檔案或目錄
格式:rm [選項] 檔案或目錄
-f:删除檔案或目錄時不進行提醒,而直接強制删除
-i:删除檔案或目錄時提醒使用者确認
-r:表示遞歸删除整個目錄樹
-rf:通常結合這兩個一起用
3,mv:移動(move)檔案或目錄/還可用于改名
格式:mv 源檔案或目錄.. 目标檔案或目錄
八,查找錄和檔案
which:查找Linux指令檔案并顯示所在的位置
#搜尋範圍主要由使用者的環境變量PATH決定
#可以執行echo $PATH指令檢視
#which -a 在所有搜尋路徑中查找
#shell内置的指令并沒有對應的程式檔案,是以使用which查找内部指令時,将找不到對應的程式,例如查找cd , "which cd"将查找不到
find:查找檔案或目錄
格式:find 查找範圍 查找條件表達方式
例如:find / -name initab
-name:按名稱查找,根據目标檔案的名稱進行查找,允許使用* ?号通配符
-size:按檔案大小查找,用"+ -"号設定超過或小于指定的大小作為查找條件
-user:按檔案屬主查找,根據檔案是否屬于目标使用者進行查找
-type:按檔案類型查找,(f)普通檔案,(d)目錄,(b)塊裝置檔案
(c)字元裝置檔案。
注意:
使用*?通配符時,最好将檔案名用雙引号括起來
需要同時使用多個查找條件時,各表達之間可以使用邏輯運算符:-a -o
-a:表示而且(And),表示兩個條件必須同時滿足
-o:表示或者(or),表示兩個隻需滿足其中任何一個條件即可
格式:find /boot -size +1024k -a -name "vmlinuz"
find /boot -size +1024k -o -name "vmlinuz"