之前有小伙伴們留言說,想要些常見的操作終端的命令,今天就給大家整理了份很全很全的命令指南
## **1. Linux版本**
### **a. 內核版本格式**
- **xx.yy.zz**: xx主版本、yy次版本、zz末版本
- **小于2.6版本**:次版本奇數為開發版、次版本偶數為穩定版
- **大于2.6版本**: longterm 長期支持版本、stable 穩定版本、 mainline 主線開發版本
### **b. 常見發行版本**
1. Red Hat
2. Ubuntu
3. CentOS
4. Debian
5. Fedora
## **2. 重要概念**
1. root賬號:對應windows系統的管理員賬號
2. " / " 根目錄:對應windows系統『我的電腦』
## **系統管理篇**
系統管理篇是對于初學者來說是最腦殼大的一些知識點,不過沒有關系大家擼起袖子照著懟就是
## **1. 邏輯卷與LVM**
### **a.卷用于分層管理磁盤**
### **b.lvm分為三層**
1. PV物理卷
2. VG卷組
3. LV邏輯卷
### **c.常用命令**
1. pvcreate 建立PV
2. vgcreate 建立VG
3. lvcreate 建立LV
4. lvextend 拓展LV
5. pvs 查看PV
6. vgs 查看VG
7. lvs 查看LV
## **2. 文本與文件查找**
### **a.grep**
1. -i 忽略大小寫
2. -v 反轉
3. -a 處理二進制文件
4. -R 遞歸方式
### **b.find**
1. -name 按照文件名搜索
2. -perm 按照權限搜索
3. -user 按照屬主搜索
4. -type 按照文件類型搜索
## **3. 網絡配置**
### **a.網絡配置命令**
1. ifconfig 查看和配置網絡接口
2. ip 查看和配置網絡接口、路由
3. nestat 查看進程監聽端口狀態
4. network 與 NetworkManager 網絡管理腳本
### **b.配置文件**
1. ifcfg-eth0 eth0 網卡配置文件
2. networking 主機名配置文件
3. resolv.conf 域名配置文件
## **4. 軟件安裝與更新**
### **a.rpm安裝**
1. -i 安裝
2. -q 查詢
3. -U 升級
4. -e 卸載
### **b.源代碼編譯安裝**
1. ./configure
2. make
3. make install
### **c.移動與重命名mv**
1. 安裝 yum install xxx (軟件名)
2. 卸載 yum remove xxx
3. 更新 yum update xxx
## **5. 文件系統**
### **a.常用命令**
1. fdisk 分區工具
2. 1. -l (小寫L)查看分區信息
2. fdisk/dev/sdx 為某一個存儲分區
1. df 查看分區使用空間大小
2. du 查看文件夾使用空間大小
3. mkfs 格式化命令
4. 1. mkfs.ext4 格式化為ext4文件系統
2. mkfs.xfs 格式化為XFS文件系統
### **b.ex4**
## **6. 服務與日志**
### **a.服務狀態的查看命令**
1. service 用法:service 服務名稱 start | stop | restart | status
2. systemctl 用法:systemctl start | stop | restart | status 服務名稱 .service
### **b.服務配置文件的編寫**
### **c.常用系統日志**
1. /var/log 系統日志默認目錄
2. message 系統日志
3. dmesg 內核啟動日志
4. secure 安全日志
### **d.應用程序日志**
## **7. 磁盤分區**
### **a.鏈接文件**
1. 符號鏈接
2. 硬鏈接
### **b.mount 掛載命令**
1. -t 文件系統類型
2. -o 掛載選項
3. 1. ro 只讀掛載
2. rw 讀寫掛載
3. remount 重掛載
### **c.配置文件 /etc/fstab**
## **8. 系統啟動過程與故障修復**
### **a.系統啟動過程簡述**
1. BIOS 選擇啟動設備
2. MBR 硬盤可引導扇區
3. GRUB Linux 系統可引導工具
4. 內核
5. init 或 systemd(CentOS 7 以前為 init)
6. service 服務或 systemd 服務(CentOS 7 以前僅有 service 服務)
7. 啟動tty等待用戶登錄
### **b.更新內核版本**
1. RPM 方式更新
2. 1. 安裝速度快
2. 沒有最新的版本
1. 源代碼編譯方式更新
2. 1. 可以使用最新的版本
2. 編譯時間較長
## **Shell篇**
## **1.管道與重定向**
### **a.管道符 |**
### **b.重定向符號**
1. < 輸入重定向
2. 輸出重定向,覆蓋方式
3. 輸出重定向,追加方式
### **c.sort 對文本進行排序**
### **d.join 連接倆個字符串**
## **2.進程與內存的查看與調整**
### **a.進程查看命令**
ps top 對當前系統的進程信息進行查看
### **b.內存查看命令**
- free 查看系統的內存使用率
- sar 顯示更詳細的系統運行狀態,用于故障排除
### **c.常用的第三方系統狀態查看命令**
iftop 查看某一進程的網絡流量
## **3.轉義與引用**
### **a.特殊符號**
### **b.轉義符**
### **c. 引用符號**
- 單引號 ''
- 雙引號 ""
## **4.變量與環境變量**
### **a.變量的定義**
1. shell 變量無需聲明
2. 銷毀變量 unset 變量名
### **b.變量的賦值**
變量名 = 變量值
### **c.環境變量**
PATH 命令解釋路徑
### **d.環境變量的配置文件**
1. /etc/profile 系統環境變量默認保存文件
2. /etc/bashrc login shell 執行初始化的配置文件
## **5.運算符**
### **a.運算符號**
\+ - * / % 加 減 乘 除 取余
### **b.shell運算的弊端**
1. 支持整數運算,但和編譯語言比起來效率很低
2. 對浮點運算支持不好
## **6.循環**
### **a.while 循環**
1. while 循環根據 while 判斷結果確定是否繼續執行
2. 判斷的結果為命令的返回值,如果為 0 則循環會繼續執行
3. 如果判斷結果一直為真 "O",無法到達循環結束稱作死循環
### **b.for 循環**
1. Shell 的 for 循環使用遍歷方式, for...in...格式
2. for 循環支持C語言寫法,需要使用(())格式
3. 支持使用break、continue對循環進行控制
4. for 循環支持嵌套使用
## **7.函數**
### **a.函數的定義**
1. 函數是對重復利用的代碼進行封裝
2. 函數的定義方法是函數名() {}
### **b.函數的使用**
使用函數的方式是直接使用函數名
## **8.計劃任務**
### **a.一次性計劃任務 at**
### **b. 周期性計劃任務 cron**
1. 查看周期性計劃任務 crontab -l
2. 編輯周期性計劃任務 crontab -e
## **9.認識BASH**
### **a.Shell是命令解釋器,翻譯用戶的命令給內核執行,并將結果返回給用戶**
### **b.Shell腳本的用處**
1. 組合系統命令實現自動化功能
2. 組成腳本的基本元素是命令,不用深入掌握系統函數庫
### **c.內建命令與外部命令**
1. 內建命令不會創建子進程,但是對子Shell無效
2. 外部命令會創建子進程
## **10.測試與判斷**
### **a.test 測試**
1. 可以書寫為[]
2. 可以使用[[]]擴展格式
3. 文件測試
4. 數字比較
### **b.if 判斷**
1. 基本原理:根據命令的返回值是否為0進行分支判斷
2. 支持 if...else 寫法
3. 支持if嵌套寫法
### **c.case分支**
1. case 分支一般作為if 判斷的補充
2. case 分支的結束符號是 ";;",它是";"的轉義形式
## **五、文本操作篇**
## **1.正則表達式與文本搜索**
### **a.元字符大全**
1. . 單個字符
2. \* 一個(包括零個)它前面的字符
3. [...] 匹配方括號中的任意字符
4. ^ 匹配行開始
5. $ 匹配行結尾
6. \ 轉譯特殊字符
7. {...} 匹配出現的次數
8. \+ 匹配前面的正則表達式出現一次或多次
9. ? 匹配前面的正則表達式出現零次或一次
10. | 并列匹配
11. () 分組
12. POSIX 字符類
## **2.Sed基礎**
### **a.基本語法**
1. sed 'cmd'filename
2. sed -e'cmd' -e'cmd' filename
### **b.sed的工作方式**
模式空間
## **3.sed基礎命令**
1. s 替換
2. d 刪除
3. a 追加
4. i 插入
5. c 更換
6. n 下一步
7. r 讀文件
8. w 寫文件
9. q 退出
10. y 替換
11. p 打印
## **4.sed 高級命令**
### **a.多行命令**
1. N 將多行追加到模式空間進行處理
2. D 刪除多行模式空間的第一個字符至第一個換行符,并返回到腳本的開頭執行
3. P 輸出模式空間中的第一個字符至第一個換行符
### **b.保持空間模式**
1. h 將模式空間中的內容存儲至保持空間,并覆蓋保持空間的內容。
2. H 將模式空間中的內容存儲至保持空間,并追加到保持空間的內容。
3. g 將保持空間的內容存儲至模式空間,并覆蓋模式空間的內容
4. G 將保持空間的內容存儲至模式空間,并追加到模式空間。
5. x 交換模式空間和保持空間的內容
### **c.條件與分支**
1. :標簽
2. b branch 命令用于在腳本中將控制權轉移到另一行,如果沒有指定標簽就轉移到腳本的結尾
3. t 測試命令,如果當前匹配地址的行進行了成功替換,test命令就轉到標簽處,如果沒有指定標簽就轉移到腳本的結尾。
## **5.AWK**
### **a.AWK的工作方式**
1. BEGIN{} 模式用于處理文件前的預處理
2. {} 模式用于對文件每行進行處理
3. END{} 模式用于處理完文件之后的操作
### **b.運算符**
1. 算數運算符
2. 關系運算符
3. 布爾運算符
### **c.循環**
1. 支持while循環
2. 支持for循環
3. 支持breal、continue
### **d.系統變量**
1. FS字段分隔符
2. OFS輸出字段分隔符
3. RS記錄分隔符
4. ORS輸出記錄分隔符
### **e.條件**
1. 和C語言用法相似
2. 語法格式為 :if (判斷)
3. 支持 if...else 用法
4. 支持 if 嵌套
### **f.函數**
1. 算數函數
2. 隨機函數
3. 字符串函數
更多關于“web前端培訓”的問題,歡迎咨詢千鋒教育在線名師。千鋒已有十余年的培訓經驗,課程大綱更科學更專業,有針對零基礎的就業班,有針對想提升技術的提升班,高品質課程助理你實現夢想。