[TOC] 一、shell命令規則 linux命令的格式 命令 [選項] [參數] 舉例: 命令這一部分肯定是存在 選項和參數不一定存在,可有可無。 選項和參數取決於你使用該命令實現的具體目的。 選項是以" "來指明的 命令、選項、參數之間是以空格來隔開的,一個或多個空格都視為1個空格。 如:ls ...
目錄
一、shell命令規則
linux命令的格式
命令 [選項] [參數]
舉例:
>> ls
>> ls -l
>> ls -l /home
- 命令這一部分肯定是存在
- 選項和參數不一定存在,可有可無。
- 選項和參數取決於你使用該命令實現的具體目的。
- 選項是以"-"來指明的
- 命令、選項、參數之間是以空格來隔開的,一個或多個空格都視為1個空格。
- 如:ls -l /home與ls -l /home的目的是一樣的
- 完成linux命令輸入後,按下enter鍵,即可執行該命令
二、基礎命令詳解(部分)
ls :列出目錄內容
- 常用的選項:
- -l(long的縮寫),顯示目錄下文件的更詳細的信息(文件許可權、文件最後修改時間、文件大小)
- -a(all的縮寫),顯示了隱藏文件
- -h(human-able的縮寫),將文件大小以K(KB)、M(MB)、G(GB)來表示
mkdir : 創建目錄
- 常用的選項:
- -p(parents的縮寫),連續創建多級目錄(父目錄和子目錄),如果父目錄不存在,則需要加入-p參數。
舉例
>> mkdir dir0 //創建了dir0這個目錄 >> mkdir -p dir1/dir2 //創建了dir1(父目錄)和dir2(子目錄)
rmdir :刪除目錄
rmdir 目錄名
註意:rmdir不能刪除非空目錄(非空目錄:該目錄下麵有子目錄或者文件)
touch:新建文件
- 舉例
```shell
>> touch file1 //在當前目錄新建名為file1的文件
```
註意事項
- 同一目錄無法創建同名的文件
- linux的文件名是區分大小寫的,如file1和File1是不同文件。(這一點跟windows不同)
mv:修改文件(目錄)名、移動路徑
舉例
#mv 舊文件名 新文件名 ====>修改文件名 >> mv file1 filea //將當前目錄的文件file1改名為filea # mv 舊目錄名 新目錄名 ====>修改目錄名 >> mv dir1 dira //將當前目錄下的目錄dir1改為dira(註意一定是當前目錄下) #mv 文件名 目錄名 ====>移動路徑 >> mv filea dira //將當前目錄下filea移動到dira子目錄
cp:複製文件(目錄)
- 常用的選項:
- -i(interactive(交互)的縮寫),刪除文件(目錄)之前,要求你確認是否同意刪除
- r(recursive(遞歸)的縮寫),遞歸刪除指定目錄下的子目錄和文件
- f(force(強制)的縮寫),強制刪除
舉例:
cp -r dira dirb //複製dira目錄下的所有內容到dirb cp -i file2 dira //如果dira目錄下麵有同名的file2,會讓你二次確認
cat 查看文件內容
- 常用的選項:
- -n : 顯示內容併在內容前顯示行號
舉例:不同形式的查看
cat file1 //將file1的內容列印到標準輸出中(預設標準標準輸出指向終端) cat file1 file2 //將file1和file2的內容串聯並依次全部列印到標準輸出中 cat -n file1 //顯示內容併在內容前顯示行號
清除屏幕
- clear : 刷新屏幕,保留歷史命令操作記錄;此命令本質上只是讓終端向後翻一頁,當向上滾動滑鼠時,還是可以看到之前命令的操作記錄
- reset:重新初始化屏幕,清除歷史命令操作記錄
man
說明:
main有9冊內容,上圖為9冊內容的側重點
man ls //預設使用第1冊 man 2 ls //選擇使用第2冊(這樣的格式選擇其他幾冊)
進階命令
find:
作用: 查找符合條件的文件
格式: find 目錄名 選項 查找條件
常用的選項:
- -name: 表示以名字來查找文件
- -mtime: 表示查找最近幾天(幾個小時)之內(之前)有變動的文件
舉例:
//舉例1: >> find /work/001_linux_basic/dira/ -name "test1.txt" /* 說明: a)/work/001_linux_basic/dira/指明瞭查找的路徑 b)-name表明以名字來查找文件 c)"test1.txt",就指明查找名為test1.txt的文件 */ //舉例2: >> find /work/001_linux_basic/dira/ -name "*.txt" /* 說明:* 通配符的意思,表示查找該目錄下說有.txt文件 */ //舉例3: >> find -name "*.txt" //如果沒有指定查找目錄,則為當前目錄。 >> find //舉例4: >> find /home -mtime -2 //查找/home目錄下兩天內有變動的文件
grep:
目的:使用grep命令來查找文件中符合條件的字元串
格式:grep [選項][查找模式] "字元串" [文件名]
常用的選項:
- r(recursive):遞歸查找
- n(number):顯示目標位置的行號
- -w : 全字匹配
舉例:
//舉例1 >> grep -n "aaa" test_a.txt //在文件中查找"aaa" 有顯示 //舉例2 >> grep -rn "aaa" ./ >> grep -rn "aaa" * //跟上述一個意思,在這目錄里查找”aaa" //舉例3: >> grep -wn "aaa" a.txt /* 只會找aaa的內容,若是”aaabba" 也不算全字匹配 aaa basd 這樣算 */
壓縮/解壓縮(gzip、‘bzip2、tar)
壓縮的概念
1)壓縮的目的:
在網路傳遞文件時,可以先將文件壓縮,然後傳遞壓縮後的文件,從而減少網路帶寬。
接受者接受文件後,解壓即可。
2)壓縮的類型
有損壓縮、無損壓縮。
a)有損壓縮:
如mp4視頻文件,即使壓縮過程中,減少了很多幀的數據,對觀看者而言,也沒有影響。當然mp3音樂文件也是有損壓縮。
b)無損壓縮:
如普通文件的壓縮,為了保證信息的正確傳遞,不希望文件經過壓縮或解壓後,出現問題。
單個文件的壓縮(解壓)使用gzip 和bzip2
多個文件和目錄使用tar
gzip
常用的選項:
1) -l(list) 列出壓縮文件的內容
查看
gzip -l 壓縮文件名
比如:gzip -l pwd.1.gz2)-k(keep) 在壓縮或解壓時,保留輸入文件;
解壓
gzip -kd 壓縮文件名
比如:gzip -kd pwd.1.gz
該壓縮文件是以.gz結尾的單個文件
3)-d(decompress) 將壓縮文件進行解壓縮
壓縮
gzip -k 源文件名
比如:gzip -k mypwd.1
得到了一個.gz結尾的壓縮文件4) 實測(CentOS7)無-k選項;只有-c 表示保留原文件
壓縮: gzip -c a.txt > a.txt.gz
解壓 : gzip -cd a.txt.gz > a.txt
註意事項:
如果gzip不加任何選項,此時為壓縮,壓縮完該文件會生成尾碼為.gz的壓縮文件,並刪除原有的文件,所以說,推薦使用gzip -k(c) 來壓縮源文件。
相同的文件內容,如果文件名不同,壓縮後的大小也不同。
gzip只能壓縮單個文件,不能壓縮目錄。
bzip2
註意:若是Linux版本中預設是無安裝bzip2的,請執行(先進入root用戶)>>yum -y install bzip2
常用的選項:
1)-k(keep) 在壓縮或解壓時,保留輸入文件;
解壓
bzip2 -kd 壓縮文件名
比如:bzip2 -kd pwd.1.bz2
該壓縮文件是以.gz結尾的單個文件
2)-d(decompress) 將壓縮文件進行解壓縮
壓縮
bzip2 -k 源文件名
比如:bzip2 -k mypwd.1
得到了一個.bz2結尾的壓縮文件註意事項:
1)如果bzip2不加任何選項,此時為壓縮,壓縮完該文件會生成尾碼為.bz2的壓縮文件,並刪除原有的文件所以說,推薦使用bzip2 -k 來壓縮源文件。
2)bzip2只能壓縮單個文件,不能壓縮目錄。
bizp2 和 gzip 比較
單個文件的壓縮使用gzip或bzip2,壓縮有兩個參數:1)壓縮時間 2)壓縮比
一般情況下,小文件使用gzip來壓縮,大文件使用bzip2來壓縮。
tar
gzip、bizp2只能對一個文件進行壓縮,而不能對多個文件和目錄進行壓縮, 所以需要tar來對多個目錄、文件進行打包和壓縮。
常用的選項:
- -c(create) 表示創建用來生成文件包
- -x:表示提取,從文件包中提取文件
- -t可以查看壓縮的文件。
- -z使用gzip方式進行處理,它與”c“結合就表示壓縮,與”x“結合就表示解壓縮。
- -j使用bzip2方式進行處理,它與”c“結合就表示壓縮,與”x“結合就表示解壓縮。
- -v(verbose)詳細報告tar處理的信息
- -f(file)表示文件,後面接著一個文件名。
- -C <指定目錄> 解壓到指定目錄
舉例:
註意:
tar -czvf與tar czvf是一樣的效果,所以說,後面統一取消-。//舉例1: //壓縮 tar -czvf 壓縮文件名 目錄名 >> tar czvf dira.tar.gz dira //舉例2: //查看 tar tvf 壓縮文件名 >>tar tvf dira.tar.gz //舉例3: //解壓 //tar xzvf 壓縮文件名 //tar xzvf 壓縮文件名 -C 指定目錄 >>tar xzvf dira.tar.gz //解壓到當前目錄 >>tar xzvf dira.tar.gz -C /home/book //解壓到/home/book
上述例子使用tar打包、gzip壓縮;若是tar打包、bzip2壓縮 z 改成 j就可以了