一.重定向命令
學(xué)習(xí)目標
- 能夠使用重定向命令將終端顯示內(nèi)容重定向到文件
1. 重定向命令的介紹
重定向也稱為輸出重定向,把在終端執(zhí)行命令的結(jié)果保存到目標文件。
2. 重定向命令的使用
| 命令 | 說明 |
|---|---|
| > | 如果文件存在會覆蓋原有文件內(nèi)容,相當于文件操作中的‘w’模式 |
| >> | 如果文件存在會追加寫入文件末尾,相當于文件操作中的‘a(chǎn)’ 模式 |
重定向命令效果圖:


說明:
只要在終端能顯示信息的命令都可以使用重定向,比如: tree
3. 小結(jié)
- 終端內(nèi)容保存到文件使用重定向有兩種方式: > 和 >>
- > 表示每次只寫入最新的數(shù)據(jù),原有數(shù)據(jù)不保留。
- >> 表示每次在原有數(shù)據(jù)的基礎(chǔ)上進行追加,原有數(shù)據(jù)會保留。
二.查看文件內(nèi)容命令
學(xué)習(xí)目標
- 能夠說出查看大文件分屏顯示使用的命令
1. 查看文件內(nèi)容命令的使用
| 命令 | 說明 |
|---|---|
| cat | 查看小型文件 |
| more | 分屏查看大型文件 |
cat命令的效果圖

說明:
- cat命令結(jié)合重定向可以完成多個文件的合并
- gedit 文件編輯命令,可以查看和編輯文件
more命令的效果圖
當查看內(nèi)容信息過長無法在一屏上顯示時,可以使用 more 命令在終端分配顯示文件內(nèi)容。

操作鍵說明:
| 操作鍵 | 說明 |
|---|---|
| 空格 | 顯示下一屏信息 |
| 回車 | 顯示下一行信息 |
| b | 顯示上一屏信息 |
| f | 顯示下一屏信息 |
| q | 退出 |
2. 管道(|)命令的使用
管道(|):一個命令的輸出可以通過管道做為另一個命令的輸入,可以理解成是一個容器,存放在終端顯示的內(nèi)容。
管道命令的效果圖:

說明:
管道(|)一般結(jié)合 more 命令使用,主要是分配查看終端顯示內(nèi)容。
3. 小結(jié)
- 查看小文件使用 cat 命令
- 分屏查看大型文件使用 more 命令,
- 查看終端顯示內(nèi)容并分屏展示,使用 管道(|) 結(jié)合 more 命令。
三.鏈接命令
學(xué)習(xí)目標
- 能夠說出軟鏈接的創(chuàng)建方式
- 能夠說出硬鏈接的創(chuàng)建方式
1. 鏈接命令的介紹
鏈接命令是創(chuàng)建鏈接文件,鏈接文件分為:
- 軟鏈接
- 硬鏈接
| 命令 | 說明 |
|---|---|
| ln -s | 創(chuàng)建軟鏈接 |
| ln | 創(chuàng)建硬鏈接 |
2. 軟鏈接
類似于Windows下的快捷方式,當一個源文件的目錄層級比較深,我們想要方便使用它可以給源文件創(chuàng)建一個軟鏈接。
軟鏈接效果圖:





注意點:
- 如果軟鏈接和源文件不在同一個目錄,源文件要使用絕對路徑,不能使用相對路徑。
- 刪除源文件則軟鏈接失效
- 可以給目錄創(chuàng)建軟鏈接
3. 軟鏈接小結(jié)
- 軟鏈接的作用是方便文件的快速訪問,比如:給一個復(fù)雜路徑下的文件創(chuàng)建一個軟鏈接,以后就可以通過軟鏈接完成快速訪問操作。
- 創(chuàng)建軟鏈接命令格式: ln -s 源文件路徑(使用絕對路徑) 軟鏈接
4. 硬鏈接
類似于源文件的一個別名,也就是說這兩個名字指向的是同一個文件數(shù)據(jù)。

硬鏈接效果圖:







注意點:
- 創(chuàng)建硬鏈接使用相對路徑和絕對路徑都可以
- 刪除源文件,硬鏈接還可以訪問到數(shù)據(jù)。
- 創(chuàng)建硬鏈接,硬鏈接數(shù)會加1,刪除源文件或者硬鏈接,硬鏈接數(shù)會減1。
- 創(chuàng)建軟鏈接,硬鏈接數(shù)不會加1
- 不能給目錄創(chuàng)建硬鏈接
硬鏈接數(shù):
硬鏈接數(shù)就是文件數(shù)據(jù)被文件名使用的次數(shù), 好比引用計數(shù)
5. 硬鏈接小結(jié)
- 硬鏈接的作用是可以給重要文件創(chuàng)建硬鏈接,能夠防止文件數(shù)據(jù)被誤刪。
- 刪除源文件,軟鏈接失效,但是硬鏈接依然可以使用。
- 創(chuàng)建硬鏈接命令格式: ln 源文件路徑 硬鏈接
四.文本搜索命令
學(xué)習(xí)目標
- 能夠知道文本搜索使用的命令
1. grep命令的使用
| 命令 | 說明 |
|---|---|
| grep | 文本搜索 |
grep命令效果圖:

2. grep命令選項的使用
| 命令選項 | 說明 |
|---|---|
| -i | 忽略大小寫 |
| -n | 顯示匹配行號 |
| -v | 顯示不包含匹配文本的所有行 |
-i命令選項效果圖:

-n命令選項效果圖:

-v命令選項效果圖:

3. grep命令結(jié)合正則表達式的使用
| 正則表達式 | 說明 |
|---|---|
| ^ | 以指定字符串開頭 |
| $ | 以指定字符串結(jié)尾 |
| . | 匹配一個非換行符的字符 |
正則表達式‘^’的效果圖:

正則表達式‘$’的效果圖:

正則表達式‘.’的效果圖:

4. 擴展
- **grep **命令還可以文本搜索管道中的內(nèi)容,比如: ls / | grep ‘lib’
- 在使用 **grep **命令的時候還可以省略搜索內(nèi)容的引號,比如: ls / | grep lib, **grep hello 1.txt **
5. 小結(jié)
- grep 命令是完成文本搜索操作的
- 文本搜索的命令格式: grep 選項 文本搜索內(nèi)容
五.查找文件命令
學(xué)習(xí)目標
- 能夠說出查找文件使用的命令
1. find命令及選項的使用
| 命令 | 說明 |
|---|---|
| find | 在指定目錄下查找文件(包括目錄) |
**find命令選項: **
| 選項 | 說明 |
|---|---|
| -name | 根據(jù)文件名(包括目錄名)字查找 |
**find命令及選項的效果圖: **

2. find命令結(jié)合通配符的使用
通配符:
是一種特殊語句,主要有星號(*)和問號(?),用來模糊搜索文件
| 通配符 | 說明 |
|---|---|
| * | 代表0個或多個任意字符 |
| ? | 代表任意一個字符 |
*通配符的效果圖:

?通配符的效果圖:

擴展:
通配符不僅能結(jié)合 find 命令使用,還可以結(jié)合其它命令使用, 比如: ls、mv、cp 等,這里需要注意只有 find 命令使用通配符需要加上引號。
擴展效果圖:

3. 小結(jié)
- find命令是完成查找文件操作的
- 查找文件的命令格式: find 指定查找目錄 -name "文件名"
六.壓縮和解壓縮命令
學(xué)習(xí)目標
- 能夠使用tar命令完成文件的壓縮和解壓縮
1. 壓縮格式的介紹
Linux默認支持的壓縮格式:
- .gz
- .bz2
- .zip
說明:
- .gz和.bz2的壓縮包需要使用tar命令來壓縮和解壓縮
- .zip的壓縮包需要使用zip命令來壓縮,使用unzip命令來解壓縮
壓縮目的:
- 節(jié)省磁盤空間
2. tar命令及選項的使用
| 命令 | 說明 |
|---|---|
| tar | 壓縮和解壓縮命令 |
tar命令選項:
| 選項 | 說明 |
|---|---|
| -c | 創(chuàng)建打包文件 |
| -v | 顯示打包或者解包的詳細信息 |
| -f | 指定文件名稱, 必須放到所有選項后面 |
| -z | 壓縮或解壓縮(.gz) |
| -j | 壓縮或解壓縮(.bz2) |
| -x | 解包 |
| -C | 解壓縮到指定目錄 |
壓縮成.gz的效果圖:

壓縮成.bz2的效果圖:

解壓縮.gz的效果圖:

解壓縮.gz到指定目錄效果圖:

解壓縮.bz2的效果圖:

解壓縮.bz2到指定目錄效果圖:

3. zip和unzip命令及選項的使用
| 命令 | 說明 |
|---|---|
| zip | 壓縮成.zip格式文件 |
| unzip | 解壓縮.zip格式文件 |
unzip命令選項:
| 選項 | 說明 |
|---|---|
| -d | 解壓縮到指定目錄 |
壓縮成.zip的效果圖:

解壓縮.gz的效果圖:

解壓縮.zip到指定目錄效果圖:

說明:
- 壓縮文件盡量使用.gz格式,因為占用空間較少
- 使用zip命令壓縮的文件占用空間比較多, 當時比較通用,操作更加簡單。
4. 小結(jié)
- .gz和.bz2的壓縮文件使用tar命令來完成壓縮和解壓縮
- .zip的壓縮文件使用zip和unzip命令來完成壓縮和解壓縮
七.文件權(quán)限命令
學(xué)習(xí)目標
- 能夠使用chmod命令完成文件權(quán)限的修改
1. chmod命令的介紹
| 命令 | 說明 |
|---|---|
| chmod | 修改文件權(quán)限 |
chmod修改文件權(quán)限有兩種方式:
- 字母法
- 數(shù)字法
2. chmod 字母法的使用
角色說明:
| 角色 | 說明 |
|---|---|
| u | user, 表示該文件的所有者 |
| g | group, 表示用戶組 |
| o | other, 表示其他用戶 |
| a | all, 表示所有用戶 |
權(quán)限設(shè)置說明:
| 操作符 | 說明 |
|---|---|
| + | 增加權(quán)限 |
| - | 撤銷權(quán)限 |
| = | 設(shè)置權(quán)限 |
權(quán)限說明:
| 權(quán)限 | 說明 |
|---|---|
| r | 可讀 |
| w | 可寫 |
| x | 可執(zhí)行 |
| - | 無任何權(quán)限 |
chmod命令字母法效果圖:

chmod命令同時設(shè)置多個角色的效果圖:

3. chmod 數(shù)字法的使用
數(shù)字法就是“rwx” 這些權(quán)限也可以用數(shù)字來代替
權(quán)限說明:
| 權(quán)限 | 說明 |
|---|---|
| r | 可讀,權(quán)限值是4 |
| w | 可寫,權(quán)限值是2 |
| x | 可執(zhí)行,權(quán)限值是1 |
| - | 無任何權(quán)限,權(quán)限值是0 |
chmod命令數(shù)字法效果圖:

4. 小結(jié)
- 利用 chmod 命令可以控制文件的操作權(quán)限。
- 字母法格式: chmod 不同角色設(shè)置的權(quán)限 文件
- 數(shù)字法格式: chmod 不同角色的權(quán)限值 文件名
八.獲取管理員權(quán)限的相關(guān)命令
學(xué)習(xí)目標
- 能夠知道切換到管理員用戶的命令
1. sudo命令的使用
| 命令 | 說明 |
|---|---|
| sudo -s | 切換到root用戶,獲取管理員權(quán)限 |
| sudo | 某個命令的執(zhí)行需要獲取管理員權(quán)限可以在執(zhí)行命令前面加上sudo |
sudo -s效果圖:

sudo 命令效果圖:

說明:
- 如果只是某次操作需要使用管理員權(quán)限建議使用 sudo , 也就是說臨時使用管理器權(quán)限。
- 如果大量操作都需要使用管理員權(quán)限 sudo –s, 但是操作需謹慎。
2. whoami命令的使用
| 命令 | 說明 |
|---|---|
| whoami | 查看當前用戶限 |
whoami 命令效果圖:

3. exit命令的使用
| 命令 | 說明 |
|---|---|
| exit | 退出登錄用戶 |
exit 命令的效果圖:

說明:
- 如果是切換后的登陸用戶,退出則返回上一個登陸賬號。
- 如果是終端界面,退出當前終端。
4. who命令的使用
| 命令 | 說明 |
|---|---|
| who | 查看所有的登錄用戶 |
who 命令的效果圖:

5. passwd命令的使用
| 命令 | 說明 |
|---|---|
| passwd | 修改用戶密碼,不指定用戶默認修改當前登錄用戶密碼 |
passwd 命令的效果圖:

6. which命令的使用
| 命令 | 說明 |
|---|---|
| which | 查看命令位置 |
which 命令的效果圖:

7. 關(guān)機和重啟命令的使用
| 命令 | 說明 |
|---|---|
| shutdown –h now | 立刻關(guān)機 |
| reboot | 重啟 |
8. 小結(jié)
- sudo 是臨時獲取管理員權(quán)限
- sudo -s 是切換到管理員用戶,一直使用管理員權(quán)限,需要謹慎操作。
- exit 是退出當前用戶
- passwd 默認修改當前用戶密碼
九.用戶相關(guān)操作
學(xué)習(xí)目標
- 能夠知道創(chuàng)建用戶的命令
1. 創(chuàng)建用戶
| 命令 | 說明 |
|---|---|
| useradd | 創(chuàng)建(添加)用戶 |
useradd命令選項:
| 選項 | 說明 |
|---|---|
| -m | 自動創(chuàng)建用戶主目錄,主目錄的名字就是用戶名 |
| -g | 指定用戶所屬的用戶組,默認不指定會自動創(chuàng)建一個同名的用戶組 |
創(chuàng)建用戶效果圖:

查看所有用戶信息的文件效果圖:


說明:
- useradd 命令的使用需要使用管理員權(quán)限,前面需要加上 sudo
- 創(chuàng)建用戶如果不指定用戶組,默認會自動創(chuàng)建一個同名的用戶組
- 查看用戶是否創(chuàng)建成功,可以查看/etc/passwd這個文件
- 查看用戶組是否創(chuàng)建成功,可以查看/etc/group這個文件
passwd文件中的每項信息說明,以root:x:0:0:root:/root:/bin/bash為例:
- 第一個:用戶名
- 第二個:密碼占位符
- 第三個:uid, 用戶id
- 第四個:gid, 用戶所在組id
- 第五個:用戶描述, 可選,
- 第六個:用戶的主目錄所在位置
- 第七個:用戶所用 shell 的類型,一般由bash或者sh,默認不設(shè)置是sh類型
group文件中的每項信息說明, 以laowang:x:1001:為例:
- 第一個:用戶組名
- 第二個:用戶組密碼占位符,一般Linux系統(tǒng)的用戶組都沒有密碼的
- 第三個:組id
id命令查看用戶信息:
| 命令 | 說明 |
|---|---|
| id | 查看用戶信息 |
id命令效果圖:

每項信息說明:
uid=1001(laowang) gid=1001(laowang) 組=1001(laowang)
- 第一個: uid 表示用戶id
- 第二個: gid 表示用戶組id
- 第三個: 組 表示用戶所在的用戶組
2. 設(shè)置密碼
給其它用戶設(shè)置密碼,需要使用:sudo passwd 用戶名
設(shè)置密碼效果圖:

3. 切換用戶
| 命令 | 說明 |
|---|---|
| su | 切換用戶 |
語法格式: su - 用戶名
切換用戶效果圖:

在laowang用戶使用sudo -s效果圖:

解決辦法:
- 給laowang用戶設(shè)置一個sudo附加組, 需要使用usermod修改用戶信息
4. 修改用戶信息
| 命令 | 說明 |
|---|---|
| usermod | 修改用戶信息 |
usermod選項:
| 命令 | 說明 |
|---|---|
| -G | 設(shè)置一個附加組 |
| -g | 修改用戶組 |
設(shè)置附加組sudo以后,在sudo -s切換到管理員用戶效果圖:

5. 擴展: 刪除附加組
| 命令 | 說明 |
|---|---|
| gpasswd | 添加和刪除附加組信息 |
gpasswd命令選項:
| 選項 | 說明 |
|---|---|
| -a 用戶名 | 給用戶添加附加組 |
| -d 用戶名 | 給用戶刪除附加組 |
刪除附加組效果圖:

刪除附加組再次使用 sudo -s 效果圖:

5. 刪除用戶
| 命令 | 說明 |
|---|---|
| userdel | 刪除用戶 |
userdel命令選項:
| 選項 | 說明 |
|---|---|
| -r 用戶名 | 刪除用戶主目錄,必須要設(shè)置,否則用戶主目錄不會刪除 |
刪除用戶效果圖:

id查看用戶信息效果圖:

查看group文件信息效果圖:

**說明: **
- 刪除用戶,默認同名的用戶組也會被刪除
6. 小結(jié)
- 創(chuàng)建用戶命令格式: sudo useradd -m 用戶名, 默認會創(chuàng)建一個同名的用戶組。
- 查看用戶信息使用 id 命令或者 /etc/passwd文件
- 查看用戶組信息使用 /etc/group文件
- 給用戶設(shè)置密碼使用 sudo passwd 用戶名
- 切換用戶使用 su - 用戶名
- 設(shè)置附加組使用 sudo usermod -G 組名 用戶名
- 刪除用戶使用 sudo userdel -r 用戶名,默認會刪除同名的用戶組。
十.用戶組相關(guān)操作
學(xué)習(xí)目標
- 能夠知道創(chuàng)建用戶組的命令
1. 創(chuàng)建用戶組
| 命令 | 說明 |
|---|---|
| groupadd | 創(chuàng)建(添加)用戶組 |
創(chuàng)建用戶組效果圖:

2. 創(chuàng)建用戶并指定用戶組
創(chuàng)建用戶并指定用戶組效果圖:

3. 修改用戶組
修改用戶組效果圖:

4. 刪除用戶組
| 命令 | 說明 |
|---|---|
| groupdel | 刪除用戶組 |
刪除用戶組效果圖:

說明:
- 如果用戶組下面有用戶先刪除用戶在刪除用戶組
5. 小結(jié)
- 創(chuàng)建用戶組使用: sudo groupadd 用戶組名
- 創(chuàng)建用戶并指定用戶組使用: sudo useradd -m -g 用戶組 用戶名
- 修改用戶組使用: sudo usermod -g 用戶組 用戶名
- 刪除用戶組使用: sudo groupdel 用戶組名
十一.遠程登錄、遠程拷貝命令
學(xué)習(xí)目標
- 能夠?qū)懗鲞h程拷貝、遠程登錄命令
1. 遠程登錄、遠程拷貝命令的介紹
| 命令 | 說明 |
|---|---|
| ssh | 遠程登錄 |
| scp | 遠程拷貝 |
2. ssh命令的使用
ssh是專門為遠程登錄提供的一個安全性協(xié)議,常用于遠程登錄,想要使用ssh服務(wù),需要安裝相應(yīng)的服務(wù)端和客戶端軟件,當軟件安裝成功以后就可以使用ssh命令了,以后可以通過遠程登錄之間操作遠程的服務(wù)器。
遠程登錄效果圖:

軟件安裝步驟:
- 假如Ubuntu作為服務(wù)端,需要安裝ssh服務(wù)端軟件. 執(zhí)行命令: sudo apt-get install openssh-server
- 客戶端電腦如果是 macOS 系統(tǒng)則不需要安裝 ssh 客戶端軟件,默認已經(jīng)安裝過了,直接可以使用 ssh 命令
- 客戶端電腦如果是Windows系統(tǒng)則需要安裝OpenSSH for Windows這個軟件
ssh命令格式:
ssh 用戶名@ip地址
ssh命令效果圖:

說明:
- 在一臺電腦上可以安裝安裝ssh客戶端和ssh服務(wù)端軟件
- 在Ubuntu安裝ssh客戶端命令: sudo apt-get install openssh-client
3. scp命令的使用
scp是基于ssh進行遠程文件拷貝的命令,也就是說需要保證服務(wù)端和客戶端電腦安裝了相應(yīng)的ssh軟件,以后可以把我們寫代碼遠程拷貝到服務(wù)器。
scp命令格式:
- 遠程拷貝文件
- scp 本地文件 遠程服務(wù)器用戶名@遠程服務(wù)器ip地址:指定拷貝到遠程服務(wù)器的路徑
- scp 遠程服務(wù)器用戶名@遠程服務(wù)器ip地址:遠程服務(wù)器文件 指定拷貝到本地電腦的路徑
- 遠程拷貝目標
- scp -r 本地目錄 遠程服務(wù)器用戶名@遠程服務(wù)器ip地址:指定拷貝到遠程服務(wù)器的路徑
- scp -r 遠程服務(wù)器用戶名@遠程服務(wù)器ip地址:遠程服務(wù)器目錄 指定拷貝到本地電腦的路徑
- -r 表示遞歸拷貝整個目錄
本地文件遠程拷貝到服務(wù)器效果圖:

服務(wù)器文件遠程拷貝到本地效果圖:

本地目錄遠程拷貝到服務(wù)器效果圖:

服務(wù)器目錄遠程拷貝到本地效果圖:

4. FileZilla軟件的使用
FileZilla 是一個免費開源的FTP軟件, 使用可視化方式進行上傳和下載文件。以后可以通過 FileZilla 來代替 scp 命令
5. 小結(jié)
- ssh命令是遠程登錄主機電腦,相當于直接操作的是遠程電腦。
- scp命令是可以完成遠程拷貝操作,注意:拷貝文件夾需要加-r選項。
- 大量的文件上傳和下載可以通過可視化工具FileZilla來完成。
十二.編輯器 vim
學(xué)習(xí)目標
- 能夠說出vim的三種工作模式
- 能夠說出vim對應(yīng)復(fù)制和粘貼命令
1. vim 的介紹
vim 是一款功能強大的文本編輯器,也是早年 Vi 編輯器的加強版,它的最大特色就是使用命令進行編輯,完全脫離了鼠標的操作。
2. vim 的工作模式
- 命令模式
- 編輯模式
- 末行模式
說明:
vim 打開文件進入的是命令模式
工作模式效果圖:

注意點:
編輯模式和末行模式之間不能直接進行切換,都需要通過命令模式來完成。
3. vim 的末行模式命令
- :w 保存
- :wq 保存退出
- :x 保存退出
- :q! 強制退出
4. vim 的常用命令
| 命令 | 說明 |
|---|---|
| yy | 復(fù)制光標所在行 |
| p | 粘貼 |
| dd | 刪除/剪切當前行 |
| V | 按行選中 |
| u | 撤銷 |
| ctr+r | 反撤銷 |
| >> | 往右縮進 |
| << | 往左縮進 |
| :/搜索的內(nèi)容 | 搜索指定內(nèi)容 |
| :%s/要替換的內(nèi)容/替換后的內(nèi)容/g | 全局替換 |
| :開始行數(shù),結(jié)束行數(shù)s/要替換的內(nèi)容/替換后的內(nèi)容 | 局部替換 |
| . | 重復(fù)上一次命令操作 |
| G | 回到最后一行 |
| gg | 回到第一行 |
| 數(shù)字+G | 回到指定行 |
| shift+6 | 回到當前行的行首 |
| shift+4 | 回到當前行的行末 |
| ctr+f | 下一屏 |
| ctr+b | 上一屏 |
5. 小結(jié)
vim 是一款功能強大的命令文本編輯器,可以對遠程服務(wù)器的代碼直接進行修改,這樣操作起來更加快速和方便。