Linux 終端命令格式
01. 終端命令格式
command [-options] [parameter]
說明:
-
command
:命令名,相應(yīng)功能的英文單詞或單詞的縮寫 -
[-options]
:選項(xiàng),可用來對(duì)命令進(jìn)行控制,也可以省略 -
parameter
:傳給命令的參數(shù),可以是 零個(gè)、一個(gè) 或者 多個(gè)
[]
代表可選
02. 查閱命令幫助信息(知道)
提示
- 現(xiàn)階段只需要 知道 通過以下兩種方式可以查詢命令的幫助信息
- 先學(xué)習(xí)常用命令及常用參數(shù)的使用即可,工作中如果遇到問題可以借助網(wǎng)絡(luò)搜索命令的中文資料
2.1 --help
command --help
說明:
- 顯示
command
命令的幫助信息
2.2 man
man command
說明:
- 查閱
command
命令的使用手冊
man
是 manual 的縮寫,是 Linux 提供的一個(gè) 手冊,包含了絕大部分的命令、函數(shù)的詳細(xì)使用說明
使用 man
時(shí)的操作鍵:
操作鍵 | 功能 |
---|---|
空格鍵 | 顯示手冊頁的下一屏 |
Enter 鍵 | 一次滾動(dòng)手冊頁的一行 |
b | 回滾一屏 |
f | 前滾一屏 |
q | 退出 |
/word | 搜索 word 字符串 |
Linux基本命令(一)
常用的命令
- ls
- clear
- cd
- pwd
- mkdir
- touch
- rm
- cp
- mv
- tree
- chmod
- find
- grep
- 重定向
- 軟連接、硬鏈接
- 壓縮
- shutdown
- reboot
- who
- exit
- passwd
- sudo
1> 查看文件信息:ls
ls是英文單詞list的簡寫,其功能為列出目錄的內(nèi)容,是用戶最常用的命令之一,它類似于DOS下的dir命令。
Linux文件或者目錄名稱最長可以有265個(gè)字符,“.”代表當(dāng)前目錄,“..”代表上一級(jí)目錄,以“.”開頭的文件為隱藏文件,需要用 -a 參數(shù)才能顯示。
ls常用參數(shù):
參數(shù) | 含義 |
---|---|
-a | 顯示指定目錄下所有子目錄與文件,包括隱藏文件 |
-l | 以列表方式顯示文件的詳細(xì)信息 |
-h | 配合 -l 以人性化的方式顯示文件大小 |
與DOS下的文件操作類似,在Unix/Linux系統(tǒng)中,也同樣允許使用特殊字符來同時(shí)引用多個(gè)文件名,這些特殊字符被稱為通配符。
通配符 | 含義 |
---|---|
* | 文件代表文件名中所有字符 |
ls te* | 查找以te開頭的文件 |
ls *html | 查找結(jié)尾為html的文件 |
? | 代表文件名中任意一個(gè)字符 |
ls ?.c | 只找第一個(gè)字符任意,后綴為.c的文件 |
ls a.? | 只找只有3個(gè)字符,前2字符為a.,最后一個(gè)字符任意的文件 |
[] | [”和“]”將字符組括起來,表示可以匹配字符組中的任意一個(gè)。“-”用于表示字符范圍。 |
[abc] | 匹配a、b、c中的任意一個(gè) |
[a-f] | 匹配從a到f范圍內(nèi)的的任意一個(gè)字符 |
ls [a-f]* | 找到從a到f范圍內(nèi)的的任意一個(gè)字符開頭的文件 |
ls a-f | 查找文件名為a-f的文件,當(dāng)“-”處于方括號(hào)之外失去通配符的作用 |
\ | 如果要使通配符作為普通字符使用,可以在其前面加上轉(zhuǎn)義字符。“?”和“*”處于方括號(hào)內(nèi)時(shí)不用使用轉(zhuǎn)義字符就失去通配符的作用。 |
ls *a | 查找文件名為*a的文件 |
2> 清屏:clear
clear作用為清除終端上的顯示(類似于DOS的cls清屏功能),也可使用快捷鍵:Ctrl + l ( “l(fā)” 為字母 )。
3> 切換工作目錄: cd
在使用Unix/Linux的時(shí)候,經(jīng)常需要更換工作目錄。cd命令可以幫助用戶切換工作目錄。Linux所有的目錄和文件名大小寫敏感
cd后面可跟絕對(duì)路徑,也可以跟相對(duì)路徑。如果省略目錄,則默認(rèn)切換到當(dāng)前用戶的主目錄。
命令 | 含義 |
---|---|
cd | 切換到當(dāng)前用戶的主目錄(/home/用戶目錄),用戶登陸的時(shí)候,默認(rèn)的目錄就是用戶的主目錄。 |
cd ~ | 切換到當(dāng)前用戶的主目錄(/home/用戶目錄) |
cd . | 切換到當(dāng)前目錄 |
cd .. | 切換到上級(jí)目錄 |
cd - | 可進(jìn)入上次所在的目錄 |
注意:
- 如果路徑是從根路徑開始的,則路徑的前面需要加上 “ / ”,如 “ /mnt ”,通常進(jìn)入某個(gè)目錄里的文件夾,前面不用加 “ / ”。
4> 顯示當(dāng)前路徑:pwd
使用pwd命令可以顯示當(dāng)前的工作目錄,該命令很簡單,直接輸入pwd即可,后面不帶參數(shù)。
5> 創(chuàng)建目錄:mkdir
通過mkdir命令可以創(chuàng)建一個(gè)新的目錄。參數(shù)-p可遞歸創(chuàng)建目錄。
需要注意的是新建目錄的名稱不能與當(dāng)前目錄中已有的目錄或文件同名,并且目錄創(chuàng)建者必須對(duì)當(dāng)前目錄具有寫權(quán)限。
6> 刪除文件:rm
可通過rm刪除文件或目錄。使用rm命令要小心,因?yàn)槲募h除后不能恢復(fù)。為了防止文件誤刪,可以在rm后使用-i參數(shù)以逐個(gè)確認(rèn)要?jiǎng)h除的文件。
常用參數(shù)及含義如下表所示:
參數(shù) | 含義 |
---|---|
-i | 以進(jìn)行交互式方式執(zhí)行 |
-f | 強(qiáng)制刪除,忽略不存在的文件,無需提示 |
-r | 遞歸地刪除目錄下的內(nèi)容,刪除文件夾時(shí)必須加此參數(shù) |
7> 拷貝:cp
cp命令的功能是將給出的文件或目錄復(fù)制到另一個(gè)文件或目錄中,相當(dāng)于DOS下的copy命令。
常用選項(xiàng)說明:
選項(xiàng) | 含義 |
---|---|
-a | 該選項(xiàng)通常在復(fù)制目錄時(shí)使用,它保留鏈接、文件屬性,并遞歸地復(fù)制目錄,簡單而言,保持文件原有屬性。 |
-f | 已經(jīng)存在的目標(biāo)文件而不提示 |
-i | 交互式復(fù)制,在覆蓋目標(biāo)文件之前將給出提示要求用戶確認(rèn) |
-r | 若給出的源文件是目錄文件,則cp將遞歸復(fù)制該目錄下的所有子目錄和文件,目標(biāo)文件必須為一個(gè)目錄名。 |
-v | 顯示拷貝進(jìn)度 |
8> mv:移動(dòng)、重命名
用戶可以使用mv命令來移動(dòng)文件或目錄,也可以給文件或目錄重命名。
常用選項(xiàng)說明:
選項(xiàng) | 含義 |
---|---|
-f | 禁止交互式操作,如有覆蓋也不會(huì)給出提示 |
-i | 確認(rèn)交互方式操作,如果mv操作將導(dǎo)致對(duì)已存在的目標(biāo)文件的覆蓋,系統(tǒng)會(huì)詢問是否重寫,要求用戶回答以避免誤覆蓋文件 |
-v | 顯示移動(dòng)進(jìn)度 |
9> 創(chuàng)建文件: touch
用戶可以通過touch來創(chuàng)建一個(gè)空的文件,demo如下:
touch hello.txt
說明:
- 則會(huì)在當(dāng)前路徑下創(chuàng)建名字為hello.txt的空文件
- Linux系統(tǒng)中沒有嚴(yán)格的后綴(格式),所以創(chuàng)建文件時(shí)可以命名為任意的文件名
Linux基本命令(二)
1. 輸出重定向命令:>
Linux允許將命令執(zhí)行結(jié)果重定向到一個(gè)文件,本應(yīng)顯示在終端上的內(nèi)容保存到指定文件中。
如:ls > test.txt ( test.txt 如果不存在,則創(chuàng)建,存在則覆蓋其內(nèi)容 )
注意: >輸出重定向會(huì)覆蓋原來的內(nèi)容,>>輸出重定向則會(huì)追加到文件的尾部。
2. 分屏顯示:more
查看內(nèi)容時(shí),在信息過長無法在一屏上顯示時(shí),會(huì)出現(xiàn)快速滾屏,使得用戶無法看清文件的內(nèi)容,此時(shí)可以使用more命令,每次只顯示一頁,按下空格鍵可以顯示下一頁,按下q鍵退出顯示,按下h鍵可以獲取幫助。
3. 管道:|
管道:一個(gè)命令的輸出可以通過管道做為另一個(gè)命令的輸入。
管道我們可以理解現(xiàn)實(shí)生活中的管子,管子的一頭塞東西進(jìn)去,另一頭取出來,這里“ | ”的左右分為兩端,左端塞東西(寫),右端取東西(讀)。
4. 建立鏈接文件:ln
Linux鏈接文件類似于Windows下的快捷方式。
鏈接文件分為軟鏈接和硬鏈接。
軟鏈接:軟鏈接不占用磁盤空間,源文件刪除則軟鏈接失效。
硬鏈接:硬鏈接只能鏈接普通文件,不能鏈接目錄。
使用格式:
ln 源文件 鏈接文件
ln -s 源文件 鏈接文件
如果沒有-s
選項(xiàng)代表建立一個(gè)硬鏈接文件,兩個(gè)文件占用相同大小的硬盤空間,即使刪除了源文件,鏈接文件還是存在,所以-s選項(xiàng)是更常見的形式。
刪除軟連接好比刪除快捷方式,不回影響源文件。
注意:如果軟鏈接文件和源文件不在同一個(gè)目錄,源文件要使用絕對(duì)路徑,不能使用相對(duì)路徑。
5. 查看或者合并文件內(nèi)容:cat
6. 文本搜索:grep
Linux系統(tǒng)中g(shù)rep命令是一種強(qiáng)大的文本搜索工具,grep允許對(duì)文本文件進(jìn)行模式查找。如果找到匹配模式, grep打印包含模式的所有行。
grep一般格式為:
grep [-選項(xiàng)] ‘搜索內(nèi)容串’文件名
在grep命令中輸入字符串參數(shù)時(shí),最好引號(hào)或雙引號(hào)括起來。
例如:
grep 'a' 1.txt
常用選項(xiàng)說明:
選項(xiàng) | 含義 |
---|---|
-v | 顯示不包含匹配文本的所有行(相當(dāng)于求反) |
-n | 顯示匹配行及行號(hào) |
-i | 忽略大小寫 |
grep搜索內(nèi)容串可以是正則表達(dá)式。
正則表達(dá)式是對(duì)字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個(gè)“規(guī)則字符串”,這個(gè)“規(guī)則字符串”用來表達(dá)對(duì)字符串的一種過濾邏輯。
grep常用正則表達(dá)式:
參數(shù) | 含義 |
---|---|
^a | 行首,搜尋以 m 開頭的行;grep -n '^a' 1.txt |
ke$ | 行尾,搜尋以 ke 結(jié)束的行;grep -n 'ke$' 1.txt |
[Ss]igna[Ll] | 匹配 [] 里中一系列字符中的一個(gè);搜尋匹配單詞signal、signaL、Signal、SignaL的行;grep -n '[Ss]igna[Ll]' 1.txt |
. | (點(diǎn))匹配一個(gè)非換行符的字符;匹配 e 和 e 之間有任意一個(gè)字符,可以匹配 eee,eae,eve,但是不匹配 ee,eaae;grep -n 'e.e' 1.txt |
7. 查找文件:find
find命令功能非常強(qiáng)大,通常用來在特定的目錄下搜索符合條件的文件,也可以用來搜索特定用戶屬主的文件。
常用用法:
命令 | 含義 |
---|---|
find ./ -name test.sh | 查找當(dāng)前目錄下所有名為test.sh的文件 |
find ./ -name '*.sh' | 查找當(dāng)前目錄下所有后綴為.sh的文件 |
find ./ -name "[A-Z]*" | 查找當(dāng)前目錄下所有以大寫字母開頭的文件 |
find /tmp -size 2M | 查找在/tmp 目錄下等于2M的文件 |
find /tmp -size +2M | 查找在/tmp 目錄下大于2M的文件 |
find /tmp -size -2M | 查找在/tmp 目錄下小于2M的文件 |
find ./ -size +4k -size -5M | 查找當(dāng)前目錄下大于4k,小于5M的文件 |
find ./ -perm 777 | 查找當(dāng)前目錄下權(quán)限為 777 的文件或目錄 |
8. 歸檔管理:tar
計(jì)算機(jī)中的數(shù)據(jù)經(jīng)常需要備份,tar是Unix/Linux中最常用的備份工具,此命令可以把一系列文件歸檔到一個(gè)大文件中,也可以把檔案文件解開以恢復(fù)數(shù)據(jù)。
tar使用格式 tar [參數(shù)] 打包文件名 文件
tar命令很特殊,其參數(shù)前面可以使用“-”,也可以不使用。
常用參數(shù):
參數(shù) | 含義 |
---|---|
-c | 生成檔案文件,創(chuàng)建打包文件 |
-v | 列出歸檔解檔的詳細(xì)過程,顯示進(jìn)度 |
-f | 指定檔案文件名稱,f后面一定是.tar文件,所以必須放選項(xiàng)最后 |
-t | 列出檔案中包含的文件 |
-x | 解開檔案文件 |
注意:除了f需要放在參數(shù)的最后,其它參數(shù)的順序任意。
9. 文件壓縮解壓:gzip
tar與gzip命令結(jié)合使用實(shí)現(xiàn)文件打包、壓縮。 tar只負(fù)責(zé)打包文件,但不壓縮,用gzip壓縮tar打包后的文件,其擴(kuò)展名一般用xxxx.tar.gz。
gzip使用格式如下:
gzip [選項(xiàng)] 被壓縮文件
常用選項(xiàng):
選項(xiàng) | 含義 |
---|---|
-d | 解壓 |
-r | 壓縮所有子目錄 |
tar這個(gè)命令并沒有壓縮的功能,它只是一個(gè)打包的命令,但是在tar命令中增加一個(gè)選項(xiàng)(-z)可以調(diào)用gzip實(shí)現(xiàn)了一個(gè)壓縮的功能,實(shí)行一個(gè)先打包后壓縮的過程。
壓縮用法:tar cvzf 壓縮包包名 文件1 文件2 ...
-z :指定壓縮包的格式為:file.tar.gz
解壓用法: tar zxvf 壓縮包包名
-z:指定壓縮包的格式為:file.tar.gz
解壓到指定目錄:-C (大寫字母“C”),C后跟路徑地址
補(bǔ)充:將當(dāng)前路徑下所有文件以及文件夾打包并壓縮到 test.tar.gz 文件中
tar -zcvf test.tar.gz *
10. 文件壓縮解壓:bzip2
tar與bzip2命令結(jié)合使用實(shí)現(xiàn)文件打包、壓縮(用法和gzip一樣)。
tar只負(fù)責(zé)打包文件,但不壓縮,用bzip2壓縮tar打包后的文件,其擴(kuò)展名一般用xxxx.tar.gz2。
在tar命令中增加一個(gè)選項(xiàng)(-j)可以調(diào)用bzip2實(shí)現(xiàn)了一個(gè)壓縮的功能,實(shí)行一個(gè)先打包后壓縮的過程。
壓縮用法:tar -jcvf 壓縮包包名 文件...(tar jcvf bk.tar.bz2 *.c)
解壓用法:tar -jxvf 壓縮包包名 (tar jxvf bk.tar.bz2)
11. 文件壓縮解壓:zip、unzip
通過zip壓縮文件的目標(biāo)文件不需要指定擴(kuò)展名,默認(rèn)擴(kuò)展名為zip。
壓縮文件:zip [-r] 目標(biāo)文件(沒有擴(kuò)展名) 源文件
解壓文件:unzip -d 解壓后目錄文件 壓縮文件
12. 查看命令位置:which
如果找到就顯示這個(gè)命令的路徑
13. 修改文件權(quán)限:chmod
chmod 修改文件權(quán)限有兩種使用格式:字母法與數(shù)字法。
字母法:chmod u/g/o/a +/-/= rwx 文件
[ u/g/o/a ] | 含義 |
---|---|
u | user 表示該文件的所有者 |
g | group 表示與該文件的所有者屬于同一組( group )者,即用戶組 |
o | other 表示其他以外的人 |
a | all 表示這三者皆是 |
[ +-= ] | 含義 |
---|---|
+ | 增加權(quán)限 |
- | 撤銷權(quán)限 |
= | 設(shè)定權(quán)限 |
rwx | 含義 |
---|---|
r | read 表示可讀取,對(duì)于一個(gè)目錄,如果沒有r權(quán)限,那么就意味著不能通過ls查看這個(gè)目錄的內(nèi)容。 |
w | write 表示可寫入,對(duì)于一個(gè)目錄,如果沒有w權(quán)限,那么就意味著不能在目錄下創(chuàng)建新的文件。 |
x | excute 表示可執(zhí)行,對(duì)于一個(gè)目錄,如果沒有x權(quán)限,那么就意味著不能通過cd進(jìn)入這個(gè)目錄。 |
數(shù)字法:“rwx” 這些權(quán)限也可以用數(shù)字來代替
字母 | 說明 |
---|---|
r | 讀取權(quán)限,數(shù)字代號(hào)為 "4" |
w | 寫入權(quán)限,數(shù)字代號(hào)為 "2" |
x | 執(zhí)行權(quán)限,數(shù)字代號(hào)為 "1" |
- | 不具任何權(quán)限,數(shù)字代號(hào)為 "0" |
如執(zhí)行:chmod u=rwx,g=rx,o=r filename
就等同于:chmod u=7,g=5,o=4 filename
chmod 751 file
:
- 文件所有者:讀、寫、執(zhí)行權(quán)限
- 同組用戶:讀、執(zhí)行的權(quán)限
- 其它用戶:執(zhí)行的權(quán)限
注意:如果想遞歸所有目錄加上相同權(quán)限,需要加上參數(shù)“ -R ”。
? 如:chmod 777 test/ -R
遞歸 test 目錄下所有文件加 777 權(quán)限
14. 切換到管理員賬號(hào)
Ubuntu下切換到root的簡單命令:
sudo -s
$/# | 含義 |
---|---|
$ | 普通用戶 |
# | root用戶 |
15. 設(shè)置用戶密碼:passwd
在Unix/Linux中,超級(jí)用戶可以使用passwd命令為普通用戶設(shè)置或修改用戶密碼。用戶也可以直接使用該命令來修改自己的密碼,而無需在命令后面使用用戶名。
passwd 命令后跟老密碼
例如:sudo passwd oldpassword
16. 退出登錄賬戶: exit
- 如果是圖形界面,退出當(dāng)前終端;
- 如果是使用ssh遠(yuǎn)程登錄,退出登陸賬戶;
- 如果是切換后的登陸用戶,退出則返回上一個(gè)登陸賬號(hào)。
17. 查看登錄用戶:who
who命令用于查看當(dāng)前所有登錄系統(tǒng)的用戶信息。
常用選項(xiàng):
選項(xiàng) | 含義 |
---|---|
-q或--count | 只顯示用戶的登錄賬號(hào)和登錄用戶的數(shù)量 |
-u或--heading | 顯示列標(biāo)題 |
18. 關(guān)機(jī)重啟:reboot、shutdown、init
命令 | 含義 |
---|---|
reboot | 重新啟動(dòng)操作系統(tǒng) |
shutdown –r now | 重新啟動(dòng)操作系統(tǒng),shutdown會(huì)給別的用戶提示 |
shutdown -h now | 立刻關(guān)機(jī),其中now相當(dāng)于時(shí)間為0的狀態(tài) |
shutdown -h 20:25 | 系統(tǒng)在今天的20:25 會(huì)關(guān)機(jī) |
shutdown -h +10 | 系統(tǒng)再過十分鐘后自動(dòng)關(guān)機(jī) |