目錄和檔案管理(一)
要求:
練習目錄和檔案管理的基本指令。
檢視及切換目錄:pwd、cd、ls、du。
步驟:
pwd指令—檢視目前的工作目錄(Print Working Directory)
cd指令—切換工作目錄(Change Directory)
cd -:傳回上一級
cd:傳回根目錄
cd ~:傳回宿主目錄
ls指令—清單(List)顯示目錄内容
-l:以長格式(Long)顯示檔案和目錄的清單,包括權限、大小、最後更新時間等詳細資訊。不使用-l選項時,ls指令預設以短格式顯示目錄名或檔案名資訊
-a:顯示所有(All)子目錄和檔案的資訊,包括名稱以點号“.”開頭的隐藏目錄和隐藏檔案
-A:與-a選項的作用基本類似,但有兩個特殊隐藏目錄不會顯示:表示目前目錄的“.”,表示父目錄的“. .”。
-d:顯示目錄(Directory)本身的屬性,而不是顯示目錄中的内容
-h:以更人性化(Human)的方式顯示目錄或檔案的大小,預設的大小機關為位元組,使用-h選項後将顯示為K、M等機關。此選項需要結合-l選項一起使用。
-R:以遞歸(Recursive)的方式下是指定目錄及其子目錄中的所有内容。
--color:在字元模式中以顔色區分不同的檔案,如果使用“—color=tty”,表示使用終端預定義的顔色方案。一般是這樣的:深藍色表示目錄、白色表示一般檔案、綠色表示可執行的檔案、***表示裝置檔案、紅色表示壓縮檔案。
經驗總結:
對于經常使用的比較長的指令行,可以通過alias别名機制進行簡化,以提高使用效率。例如執行下列指令可以定義一個名為myls的指令别名,以後再執行“myls”時即等同于執行“ls –alh”指令。如下所示:
du指令—統計目錄及檔案的空間占用情況(Disk Usage)
-a:統計磁盤空間占用時包括所有的檔案,而不僅僅隻統計目錄。
-h:以更人性化的方式(預設以KB計數,但不顯示機關)顯示出統計結果,使用-h選項後将顯示出K、M等機關。
-s:隻統計每個參數所占用空間總的(Summary)大小,而不是統計每個子目錄、檔案的大小。
建立目錄和檔案:mkdir、touch、ln。
mkdir指令—建立新的目錄(Make Directory)
touch指令—建立空檔案
ln指令—建立連結(Link)檔案
預設建立的是硬連結,如果需要建立軟連結,必須結合“-s”選項明确進行指定。硬連結能同步更新。基本使用格式:
ln [ -s ] 源檔案或目錄… 連結檔案或目标位置
複制、删除、移動目錄和檔案:cp、rm、mv。
cp指令—複制(Copy)檔案或目錄
基本使用格式:
cp [ 選項]… 源檔案或目錄… 目錄檔案或目錄
-f:覆寫目标同名檔案或目錄時不進行提醒,而直接強制(Force)複制。
-i:覆寫目标同名檔案或目錄是提醒使用者确認(Interactive,互動式)。
-p:複制時保持(Preserve)源檔案的權限、屬主及時間标記等屬性不變。
-r:複制目錄時必須使用此選項,表示遞歸複制所有檔案及子目錄。
rm指令—删除(Remove)檔案或目錄
-f:删除檔案或目錄時不進行提醒,而直接強制删除。
-i:删除檔案或目錄時提醒使用者确認。
-r:删除努魯時必須使用此選項,表示遞歸删除整個目錄樹(應謹慎使用)。
mv指令—移動(Move)檔案或目錄
如果目标位置與源位置相同,則效果相當于為檔案或目錄改名。基本使用格式:
mv [選項 ] … 源檔案或目錄… 目标檔案或目錄
查找目錄和檔案:which、find。
Which指令—查找Linux指令檔案并顯示所在的位置
Find指令—查找檔案或目錄
Find [查找範圍 ] [ 查找條件表達式]
按名稱查找:關鍵字為“-name”,根據目标檔案的名稱進行查找,允許使用“*”及“?”通配符。
按檔案大小查找:關鍵字為“-size”,根據目錄檔案的大小進行查找,一般使用“+”、“-”号設定超過或小于指定的大小作為查找條件。常用的容量機關包括k(注意是小寫)、M、G。
按檔案屬主查找:關鍵字為“-user”,根據檔案是否屬于目标使用者進行查找。
按檔案類型查找:關鍵字為:“-type”,根據檔案的類型進行查找,這裡的類型指的是普通檔案(f)、目錄(d)、塊裝置檔案(b)、字元裝置檔案(c)等。塊裝置指的是成塊讀取資料的裝置(如硬碟、記憶體等),而字元裝置指的是按單個字元讀取資料的裝置(如鍵盤、滑鼠等)。
練習指令幫助資訊的擷取。
使用man、--help選項檢視find指令的幫助資訊,比較它們的異同。
find --help:
man find:
使用man工具檢視man本身的手冊頁資訊,并儲存為man.txt文本檔案。
使用man工具檢視wget下載下傳工具、date日期顯示工具的手冊頁資訊,并用date指令輸出“YYYY-mm-dd HH:MM”格式的時間資訊(執行指令date+“%F+%R”或者date+“%Y-%m-%d %H:%M”)。
檢視wget下載下傳工具:
檢視date日期工具:
輸入date指令檢視日期時間:
檢視系統目錄/sbin、/bin、/usr/bin、/usr/sbin中有哪些指令或程式,對教材中未學習到的指令,使用man工具檢視其幫助,了解這些指令的作用及使用方法。
目錄和檔案管理(二)
練習檔案檢視及檢索操作
檢視/etc/filesystems檔案,确認目前系統支援的檔案系統類型
cat指令—顯示并連接配接(Concatenate)檔案的内容
分頁檢視/etc/services檔案,了解各種服務預設使用的協定、端口号
more和less指令—分頁檢視檔案内容
從/proc/meminfo檔案中過濾出實體記憶體大小、空閑記憶體大小
grep指令—檢索、過濾檔案内容
grep [ 選項 ]…… 查找條件 目标檔案
-i:查找内容時忽略大小寫(lgnore Case)
-v:反轉查找(inVert),即輸出與查找條件不相符的行。
4,wc指令—統計檔案内容中德單詞數量(Word Count)、行數等資訊
-c:統計檔案内容中的位元組數
-l:統計檔案内容中的行數
-w:統計檔案内容中單詞個數(以空格或制表位作為分隔)
練習備份與恢複操作
tar指令—歸檔和釋放工具(既可以壓縮檔案,也可以壓縮目錄)
-c:建立(Create).tar格式的封包件
-C:解包時指定釋放的目标檔案夾
-f:表示使用歸檔檔案
-j:調用bzip2程式進行壓縮或解壓。
-p:打包時保留檔案及目錄的權限
-P:打包時保留檔案及目錄的絕對路徑
-t:清單檢視包内的檔案
-v:輸出詳細資訊(Verbose)
-x:解開.tar格式的封包件
-z:調用gzip程式進行壓縮或解壓
1,備份整個/etc目錄樹,制作成歸檔壓縮封包件etc.tar.gz
2,檢視etc.tar.gz檔案中包含的目錄及檔案清單
輸入指令:tar ztvf etc.tar.gz
将etc.tar.gz檔案恢複到/tmp目錄下,确認後再删除/tmp/etc檔案夾
gzip和gunzip指令—壓縮和解壓縮工具(隻能壓縮檔案)
bzip2和bunzip2指令—壓縮和解壓縮工具(隻能壓縮檔案)
練習vi編輯器的基本使用
1,通過“man man | col -b> man.txt”操作建立man指令的文本手冊頁,用vi編輯
打開man.txt檔案,以此檔案作為練為素材
2,切換到末行模式,并輸入“:set nu”指令顯示出行号
步驟:先按“ESC”鍵,然後輸入冒号“:”切換到末行模式,然後再輸入指令“set nu”,按Enter鍵。如圖所示:
3,将第6行的内空複制到第2行,并删除第2行以後的幾個空行
步驟:
先按“ESC”鍵,切換到指令模式,然後将光标移到第6行,按兩下小寫的“y”鍵,再将光标移到第2行,按大寫的“P”鍵。如圖所示:
複制操作:使用按鍵指令yy複制目前行整行的内容到剪貼闆,使用#yy的形式還可以複制從光标處開始的#行内容(其中“#”号用具體數字替換)。複制的内容需要粘貼後才能使用。
粘貼操作:在vi編輯器中,前一次被删除或複制的内容将會儲存到剪切闆緩沖器中,按p鍵即可将緩沖區中的内容粘貼到光标位置處之後,按P鍵則會粘貼到光标位置處之前。
再将光标移至第3行,然後快速的按下數字“3”鍵和兩下小寫“d”鍵,删除空行。如圖所示:
删除操作:
使用x或Del按鍵删除光标處的單個字元
使用按鍵指令dd删除目前光标所在行,使用#dd的形式還可以删除從光标處開始的#行内容(其中“#”号用具體數字替換)
使用按鍵指令d删除目前光标之前到行首的所有字元
使用按鍵指令d$删除目前光标處到行尾的所有字元
4,在檔案中查找“-k”字元串
步驟:在末行模式中,按“/”鍵後可以輸入指定的字元串,從目前光标處開始向後進行查找(如果按“?”鍵則向前查找)。完成查找後可以按n鍵向後查找,N鍵向前查找。如圖所示:
将檔案中的所有“string”字元串運替換為“BENET”
使用替換功能時的末行指令格式:
:[ 替換範圍 ] sub /舊的内容/新的内容[ /g ]
%:在整個檔案内容中進行查找并替換
如圖所示:
n,m:在指定行數範圍以内的檔案内容中進行查找
例如:若要将文檔中第5-15行中的“initdefault”字元串替換為“DEFAULT”,可以執行以下操作:
:5,15 sub /initdefault/ DEFAULT/g
最末尾的“/g”部分也是可選内容,表示對替換範圍内每一行的所有比對結果都進行替換,省略“/g”時将隻替換每行中的第一個比對結果。
儲存該檔案後退出vi編輯器
切換到末行模式,然後輸入“wq”鍵,再按下Enter鍵,儲存并退出。如圖所示:
撤銷編輯及儲存和退出:
在對檔案内容進行編輯時,有時候會需要對一些失誤的編輯操作進行撤銷,這時可以使用按鍵指令u、U鍵。其中,u鍵指令用于取消最近一次的操作,并回複操作結果,可以多次重複按u鍵恢複已進行的多步操作;U鍵指令用于取消對目前行所做的所有編輯。當需要儲存目前的檔案内容并退出vi編輯器時,可以按ZZ指令。
儲存檔案及退出vi編輯器:
儲存檔案:對檔案内容進行修改并确認以後,需要執行“: w”指令進行儲存。
若需要另存為其他檔案,則需要指定新的檔案名,必要時還可以指定檔案路徑。例如,執行“: w /root/newfile”操作将把目前編輯的檔案另存到/root目錄下,檔案名為newfile。
退出編輯器:需要退出vi編輯器時,可以執行“: q”指令。若檔案内容已經修改卻沒有儲存,僅使用“: q”指令将無法成功退出,這時需要使用“: q!”指令強行退出(不儲存即退出)
儲存并退出: 既要儲存檔案又要退出vi編輯器可以使用一條末行指令“: wq” 或 “: x”實作。其效果與指令模式中的ZZ指令相同。
重新打開man.txt檔案,隻保留前5行,删除其餘所有内容
切換到指令模式,将光标移到第6行,然後快速的按數字鍵“1000”和兩下小寫的“d”鍵。如圖所示:
複制/root/.bashrc檔案的内容到第5行以後,然後另存為man2.txt檔案
切換到末行模式,然後輸入“: r /root/.bashrc”,在按Enter鍵。如圖所示:
接着在末行模式輸入指令“: w man2.txt”,然後按Enter鍵。如圖所示:
打開新檔案或讀入其他檔案内容:
打開新的檔案進行編輯:在目前vi編輯器中,執行“: e新的檔案”形式的末行指令可以編輯(Edit)新檔案。
在目前檔案中讀取其他檔案内容:執行“: r 其他檔案”形式的末行指令可以讀入(Read)其他檔案中的内容,并将其複制到目前光标所在位置。
使用vi修改系統配置