8.Linux命令文件、磁盤的管理
8.1 ls
ls是英文單詞list的簡寫,其功能為列出目錄的內容,是用戶最常用的命令之一,它類似于DOS下的dir命令。
8.2輸出重定向命令
Linux允許將命令執行結果重定向到一個文件,本應顯示在終端上的內容保存到指定文件中。
如:ls > test.txt ( test.txt如果不存在,則創建,存在則覆蓋其內容)
注意:>輸出重定向會覆蓋原來的內容,>>輸出重定向則會追加到文件的尾部。
8.3分屏顯示:more
查看內容時,在信息過長無法在一屏上顯示時,會出現快速滾屏,使得用戶無法看清文件的內容,此時可以使用more命令,每次只顯示一頁,按下空格鍵可以顯示下一頁,按下q鍵退出顯示,按下h鍵可以獲取幫助。
ctrl+b返回上一屏
ctrl+f下一屏
8.4管道|
管道:一個命令的輸出可以通過管道做為另一個命令的輸入。
管道我們可以理解現實生活中的管子,管子的一頭塞東西進去,另一頭取出來,這里“ | ”的左右分為兩端,左端塞東西(寫),右端取東西(讀)。
8.5清屏clear
clear作用為清除終端上的顯示(類似于DOS的cls清屏功能),也可使用快捷鍵:Ctrl + l ( “l”為字母)。
8.6切換工作目錄:cd
在使用Unix/Linux的時候,經常需要更換工作目錄。cd命令可以幫助用戶切換工作目錄。Linux所有的目錄和文件名大小寫敏感
cd后面可跟絕對路徑,也可以跟相對路徑。如果省略目錄,則默認切換到當前用戶的主目錄:
cd切換到當前用戶的主目錄,用戶登錄的時候默認的目錄就是主目錄。
cd~切換到當前用戶的主目錄。
cd.切換到當前目錄
cd..切換到上一級目錄
cd-可進入上次所在的目錄
·如果路徑是從根路徑開始的,則路徑的前面需要加上“ / ”,如“ /mnt ”,通常進入某個目錄里的文件夾,前面不用加“ / ”。
8.7顯示當前路徑pwd
使用pwd命令可以顯示當前的工作目錄,該命令很簡單,直接輸入pwd即可,后面不帶參數。
8.8創建目錄mkdir
通過mkdir命令可以創建一個新的目錄。參數-p可遞歸創建目錄。
需要注意的是新建目錄的名稱不能與當前目錄中已有的目錄或文件同名,并且目錄創建者必須對當前目錄具有寫權限。
8.9刪除目錄rmdir
可使用rmdir命令刪除一個目錄。必須離開目錄,并且目錄必須為空目錄,不然提示刪除失敗。
-p遞歸刪除
8.10刪除文件rm
可通過rm刪除文件或目錄。使用rm命令要小心,因為文件刪除后不能恢復。為了防止文件誤刪,可以在rm后使用-i參數以逐個確認要刪除的文件。
-i已進行交互式方式進行
-f強制刪除,忽略不存在的文件,無需提示
-r遞歸的刪除目錄下的內容刪除文件夾是必須加此參數
8.11建立鏈接文件: ln
Linux鏈接文件類似于Windows下的快捷方式。
鏈接文件分為軟鏈接和硬鏈接。
軟鏈接:軟鏈接不占用磁盤空間,源文件刪除則軟鏈接失效。
硬鏈接:硬鏈接只能鏈接普通文件,不能鏈接目錄。
ln源文件 鏈接文件
ln-s源文件 ?鏈接文件
如果沒有-s選項代表建立一個硬鏈接文件,兩個文件占用相同大小的硬盤空間,即使刪除了源文件,鏈接文件還是存在,所以-s選項是更常見的形式。
注意:如果軟鏈接文件和源文件不在同一個目錄,源文件要使用絕對路徑,不能使用相對路徑。
8.12查看或者合并文件內容:cat
8.13文本搜索:grep
Linux系統中grep命令是一種強大的文本搜索工具,grep允許對文本文件進行模式查找。如果找到匹配模式,grep打印包含模式的所有行。
grep一般格式為:
grep [-選項] ‘搜索內容串’文件名
在grep命令中輸入字符串參數時,最好引號或雙引號括起來。例如:grep‘a ’1.txt。
grep搜索內容串可以是正則表達式。
正則表達式是對字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個“規則字符串”,這個“規則字符串”用來表達對字符串的一種過濾邏輯。
8.14查找文件find
find命令功能非常強大,通常用來在特定的目錄下搜索符合條件的文件,也可以用來搜索特定用戶屬主的文件。
find/-name test.sh查找當前目錄下所有名為test.sh的文件。
find/-name’*.sh’查找當前目錄下后綴為sh的文件。
find/-name”[A-Z]*”查找當前目下所有以大寫字母為開頭的文件。
find/tmp -size 2M查找在/tmp目錄下大小等于2M的文件。
find/tmp -size +2M查找在/tmp目錄下大于2M的文件。
find/tmp +4k -size -5M查找在/tmp目錄下大于4M小于5M的文件。
8.15拷貝文件:cp
cp命令的功能是將給出的文件或目錄復制到另一個文件或目錄中,相當于DOS下的copy命令。
-a該選項通常在復制目錄時使用,它保留鏈接、文件屬性,并遞歸的復制目錄,簡單而言,保持文件原有屬性。
-f已經存在的目錄文件而不提示
-i交互式復制,再覆蓋文件前將給出提示要求用戶確認
-r若給出的源文件是目錄文件,則cp將遞歸復制該目錄下的所有子目錄和文件,目標文件必須為一個目錄名。
-v顯示拷貝進度
8.16移動文件mv
用戶可以使用mv命令來移動文件或目錄,也可以給文件或目錄重命名。
-f禁止交互式操作,如果有覆蓋也不會給出提示。
-i確認交互式操作,如果mv的操作將導致對已存在的文件進行覆蓋,系統會詢問是否重寫,要求用戶回答以避免錯誤覆蓋文件
-v顯示移動進度
8.17歸檔管理:tar
計算機中的數據經常需要備份,tar是Unix/Linux中最常用的備份工具,此命令可以把一系列文件歸檔到一個大文件中,也可以把檔案文件解開以恢復數據。
tar使用格式tar [參數]打包文件名 文件
tar命令很特殊,其參數前面可以使用“-”,也可以不使用。
常用參數:
-c生成檔案文件,創建打包文件。
-v列出歸檔解檔的詳細過程,顯示進度。
-f指定檔案文件名稱,f后面一定是.tar文件,所以必須放選項后面。
-t列出檔案中包含的文件
-x解開檔案文件
注意:除了f需要放在參數的最后,其它參數的順序任意。
8.18文件壓縮解壓:gzip
tar與gzip命令結合使用實現文件打包、壓縮。tar只負責打包文件,但不壓縮,用gzip壓縮tar打包后的文件,其擴展名一般用xxxx.tar.gz。
gzip使用格式如下:
gzip ?[選項]被壓縮文件
常用選項:
-d解壓
-r壓縮所有子目錄
tar這個命令并沒有壓縮的功能,它只是一個打包的命令,但是在tar命令中增加一個選項(-z)可以調用gzip實現了一個壓縮的功能,實行一個先打包后壓縮的過程。
壓縮用法:tar cvzf壓縮包包名 文件1文件2 ...
-z:指定壓縮包的格式為:file.tar.gz
解壓用法:tar zxvf 壓縮包包名
-z:指定壓縮包的格式為:file.tar.gz
解壓到指定目錄:-C (大寫字母“C”)
8.19文件壓縮解壓:bzip2
tar與bzip2命令結合使用實現文件打包、壓縮(用法和gzip一樣)。
tar只負責打包文件,但不壓縮,用bzip2壓縮tar打包后的文件,其擴展名一般用xxxx.tar.gz2。
在tar命令中增加一個選項(-j)可以調用bzip2實現了一個壓縮的功能,實行一個先打包后壓縮的過程。
壓縮用法:tar -jcvf 壓縮包包名 文件...(tar jcvf bk.tar.bz2 *.c)
解壓用法:tar -jxvf 壓縮包包名 (tar jxvf bk.tar.bz2)
8.20 文件壓縮解壓
通過zip壓縮文件的目標文件不需要指定擴展名,默認擴展名為zip。
壓縮文件:zip [-r] 目標文件(沒有擴展名) 源文件
解壓文件:unzip -d 解壓后目錄文件 壓縮文件
8.21 查看命令位置 which
41???)