1 VMware
1.1 安裝VMware
在VMware官網(wǎng)下載安裝程序,傻瓜式安裝教程完成虛擬機安裝。
1.2 VMware創(chuàng)建虛擬機
-
Step1:文件 -> 新建虛擬機(Ctrl + N),根據(jù)創(chuàng)建向?qū)?chuàng)建虛擬機。步驟如下截圖:
創(chuàng)建新虛擬機
選擇自定義(高級)
保持默認(rèn)選項,下一步
選擇稍后安裝操作系統(tǒng)
選擇Linux和Ubuntu64位
自定義虛擬機名稱和存放位置
選擇核數(shù)夠用就行,否則影響Windows性能
選擇內(nèi)存夠用就行,一般情況保持推薦值
選擇NAT模式
選擇LSI Logic
選擇SCSI
選擇創(chuàng)建新虛擬磁盤
按需設(shè)置磁盤大小
設(shè)置虛擬機文件名稱
點擊完成
成功創(chuàng)建虛擬機界面
1.3 安裝Ubuntu
-
Step2:確認(rèn)是否開啟Windows系統(tǒng)虛擬化,任務(wù)欄右鍵 -> 任務(wù)管理器 -> 性能選項卡 -> 虛擬化(已啟用)
確實虛擬化是否開啟 -
Step3:選擇Ubuntu鏡像,安裝Ubuntu系統(tǒng)
點擊編輯虛擬機設(shè)置
選擇安裝鏡像,安裝Ubuntu系統(tǒng)
點擊開啟此虛擬機,開始安裝(安裝完成后點擊此選項是啟動Ubuntu系統(tǒng))
點擊安裝Ubuntu
選擇正常安裝,點擊繼續(xù)
選擇截圖選項,點擊現(xiàn)在安裝
1.4 配置虛擬機網(wǎng)絡(luò)
- 設(shè)置虛擬網(wǎng)絡(luò)
-
編輯 -> 虛擬網(wǎng)絡(luò)編輯器 -> 更改設(shè)置(選擇NAT模式那行)
點擊更改設(shè)置 - 設(shè)置子網(wǎng)IP,此IP第3位數(shù)字自定義。后續(xù)創(chuàng)建的多個虛擬機IP均會已此IP的前3為為固定值開頭。
-
2 Ubuntu系統(tǒng)
2.1 設(shè)置固定IP
-
設(shè)置各虛擬機固定IP,啟動虛擬機進(jìn)入系統(tǒng),右上角逐級展開菜單,點擊有線設(shè)置
系統(tǒng)網(wǎng)絡(luò)設(shè)置
點擊設(shè)置圖標(biāo)
設(shè)置固定IP,選擇IPv4 -> 手動,地址(IP):192.168.3.100,子網(wǎng)掩碼:255.255.255.0,網(wǎng)關(guān):192.168.3.2(如果無法訪問公網(wǎng),手動設(shè)置DNS)
2.2 Ubuntu安裝SSH
Ubuntu系統(tǒng)安裝后,默認(rèn)沒有SSH模塊,導(dǎo)致外部SSH客戶端無法通過SSH連接虛擬機中得Ubuntu系統(tǒng)。在虛擬得的Ubuntu系統(tǒng)中,通過命令行安裝SSH模塊。
Ubuntu桌面,鼠標(biāo)右鍵 -> 在終端中打開,彈出終端命令行窗口

更新apt源鏡像,清華大學(xué)源地址:https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu,根據(jù)說明更新。
更新命令行安裝工具apt,命令如下
$ sudo apt update
- 安裝SSH
$ sudo apt install ssh
- 如果使用SSH客戶端連接Ubuntu系統(tǒng)是,提示root用戶沒有權(quán)限登錄,在Ubuntu系統(tǒng)命令行按一下步驟修改配置文件
$ sudo vim /etc/ssh/sshd_config
將PermitRootLogin修改為yes
- 然后重啟ssh服務(wù)
$ service ssh restart
2.3 管理系統(tǒng)服務(wù)
- systemctl命令
- 基本語法
查看服務(wù)名的方法:查看/usr/lib/systemd/system目錄下的文件列表,該目錄下每個文件都對應(yīng)一個服務(wù)。systemctl start | stop | restart | status 服務(wù)名
2.3.1 控制網(wǎng)絡(luò)管理服務(wù)
關(guān)閉此服務(wù)網(wǎng),不會關(guān)閉系統(tǒng)網(wǎng)絡(luò),僅僅是管理了網(wǎng)絡(luò)管理器而已(桌面右上角網(wǎng)絡(luò)管理圖標(biāo)將不可見(2.1小節(jié)),配置網(wǎng)絡(luò)會不方便)。
- 查看網(wǎng)絡(luò)服務(wù)狀態(tài)
$ sudo systemctl status NetworkManager
- 停止網(wǎng)絡(luò)服務(wù)
$ sudo systemctl stop NetworkManager
- 啟動網(wǎng)絡(luò)服務(wù)
$ sudo systemctl start NetworkManager
- 重啟網(wǎng)絡(luò)服務(wù)
$ sudo systemctl restart NetworkManager
2.3.2 設(shè)置后臺服務(wù)自啟配置
- 查看服務(wù)開機啟動狀態(tài)
$ sudo systemctl list-unit-files
- 關(guān)閉指定服務(wù)的自動啟動
$ sudo systemctl disable 服務(wù)名
- 開啟指定服務(wù)的自動啟動
$ sudo systemctl enable 服務(wù)名
2.3.3 防火墻管理
- 查看防火墻狀態(tài)
$ sudo systemctl status ufw
- 臨時關(guān)閉防火墻
$ sudo systemctl stop ufw
- 設(shè)置開機時啟動防火墻
$ sudo systemctl enable ufw
- 設(shè)置開機時關(guān)閉防火墻
$ sudo systemctl disable ufw
- 查看防火墻是否開機自啟,disable表示開機不自啟,enable表示開機自啟
$ sudo systemctl is-enable ufw
- 放行TCP協(xié)議的80端口,如果不指定協(xié)議,默認(rèn)會放行TCP和UDP協(xié)議
$ sudo ufw allow 80/tcp
- 放行HTTP協(xié)議特定范圍的端口(8000~8100),如果不指定協(xié)議,默認(rèn)會放行TCP和UDP協(xié)議
$ sudo ufw allow 8000:8100/http
- 刪除放行HTTP協(xié)議特定范圍的端口(8000~8100),如果不指定協(xié)議,默認(rèn)會放行TCP和UDP協(xié)議
$ sudo ufw delete allow 8000:8100/http
- 檢查ufw的規(guī)則和狀態(tài)列表
$ sudo ufw status verbose
2.4 關(guān)機重啟命令
- 關(guān)閉并斷電,等同于shutdown -h now
$ poweroff
- 重啟,等同于shutdown -r now
$ reboot
2.5 修改主機名和host映射
- 修改命令語法(修改hostnam需要重啟系統(tǒng)才會生效)
$ sudo hostnamectl --static set-host 新主機名
- 查看主機名命令
$ hostname
- 如果遠(yuǎn)程訪問的主機,需要通過hostname訪問連接Ubuntu系統(tǒng),需要設(shè)置當(dāng)前訪問源主機的hosts文件。以windows為例,hosts文件中新增一下內(nèi)容
192.168.3.100 主機名
2.6 apt軟件包管理器
- 很多情況我們需要通過命令行安裝軟件,使用apt驚醒軟件包的管理非常方便,下面列出常用的apt命令:
- list - 根據(jù)名稱列出軟件包
- search - 搜索軟件包描述
- show - 顯示軟件包細(xì)節(jié)
- install - 安裝軟件包
- reinstall - 重新安裝軟件包
- remove - 移除軟件包
- autoremove - 卸載所有自動安裝且不再使用的軟件包
- update - 更新可用軟件包列表
- upgrade - 通過 安裝/升級 軟件來更新系統(tǒng)
- full-upgrade - 通過 卸載/安裝/升級 來更新系統(tǒng)
- edit-sources - 編輯軟件源信息文件
- satisfy - 使系統(tǒng)滿足依賴關(guān)系字符串
- 安裝net-tools,這樣才能使用ifconfig命令查看網(wǎng)絡(luò)配置信息
$ apt install net-tools
2.7 常用基礎(chǔ)命令
2.7.1 man命令查看幫助
- 命令語法
$ man 命令
- 例如,查看ls命令得幫助
$ man ls
2.7.2 help命令查看幫助
- 命令語法
$ help 命令
- 例如,查看ls命令得幫助
$ help cd
2.7.3 常用快捷鍵
| 常用快捷鍵 | 功能 |
|---|---|
| ctrl + c | 停止進(jìn)程 |
| ctrl + l | 清除當(dāng)前命令行屏幕,等同命令:reset |
| ctrl + q | 退出 |
| tab鍵 | 善用此鍵,命令行提示,補全,防止敲錯命令 |
| 上下鍵 | 查找執(zhí)行過程中得命令(查找執(zhí)行過的命令) |
| ctrl + u | 清除當(dāng)前敲的命令 |
2.7.4 文件目錄類命令
-
pwd,查看當(dāng)前工作目錄路徑
pwd:print working directory- 示例
$ pwd /root -
cd,切換目錄
- 基本語法
$ cd 目錄 | 目錄全路徑- 示例,切換到根目錄
$ cd /- 示例,切換到home目錄(絕對路徑)
$ cd /home -
ls,列出當(dāng)前目錄內(nèi)容
- 查看全部文件及文件夾
$ ls- 查看全部文件及文件夾,包含隱藏文件
$ ls -a -
以列表形式,查看全部文件及文件夾的詳細(xì)信息,包含隱藏文件
$ ll- 以列表形式,查看全部文件及文件夾的詳細(xì)信息,不包含隱藏文件
$ ls -l -
mkdir,創(chuàng)建目錄
- 基本語法
$ mkdir [選項] 要創(chuàng)建的目錄名稱- 示例,在當(dāng)前路徑創(chuàng)建一個名字為test的目錄
$ mkdir test- 示例,創(chuàng)建一個多級目錄
$ mkdir -p /opt/dev/projects -
touch,創(chuàng)建空文件
- 基本語法
$ touch 創(chuàng)建的文件名稱- 示例,在當(dāng)前路徑創(chuàng)建一個名字為config的空文件
$ touch config- 示例,使用相對路徑,創(chuàng)建一個名字為config的空文件
$ touch test/config- 示例,使用絕對路徑,創(chuàng)建一個名字為config的空文件
$ touch /opt/dev/projects/config -
cp,復(fù)制文件或目錄
- 基本語法
$ cp [選項] source targetsource:源文件或目錄,target:目標(biāo)文件或目錄
- 示例,復(fù)制當(dāng)前文件夾中得config文件,到/opt/dev目錄中
$ cp config /opt/dev- 示例,使用-r選項,遞歸復(fù)制/home/eugene目錄,到/opt目錄中
$ cp -r /home/eugene /opt- 示例,復(fù)制時,強制覆蓋文件或文件夾,不進(jìn)行是否覆蓋提示
$ \cp config /opt/dev -
rm,刪除文件或目錄
- 基本語法
$ rm [選項] 刪除的文件/目錄- 示例,刪除指定絕對路徑的文件
$ rm /opt/dev/projects/config- 示例,使用-r選項,遞歸刪除目錄中得內(nèi)容
$ rm -r /opt/dev/projects- 示例,使用-r和-f選項組合,強制執(zhí)行遞歸刪除操作,不進(jìn)行是否刪除確認(rèn)提示
$ rm -rf /opt/dev/projects- 示例,使用-v選項,顯示刪除指令的詳細(xì)執(zhí)行過程
$ rm -v /opt/dev/projects/config -
mv,移動文件或目錄,或重命名文件
- 基本語法
- 重命名文件名
$ mv oldFileName newFileName - 重命名文件名
$ mv 需要移動的文件 移動后文件的存放路徑- 示例,修改/opt/dev/projects目錄下的config文件名,為abc
$ mv /opt/dev/projects/config /opt/dev/projects/abc- 示例,移動文件config,到/opt/dev目錄下
$ mv /opt/dev/projects/config /opt/dev - 基本語法
-
cat,查看文件內(nèi)容,該命令適合查看文件行數(shù)少,一屏能顯示完整的文件
- 基本語法
$ cat [選項] 待查看的文件- 示例,查看/opt/dev/projects目錄下的config文件內(nèi)容
$ cat /opt/dev/projects/config- 示例,查看/opt/dev/projects目錄下的config文件內(nèi)容。顯示行號(包括空白行)
$ cat -n /opt/dev/projects/config -
more,查看文件內(nèi)容,該命令適合查看文件行數(shù)多,一屏不能顯示完整的文件
- 基本語法
$ more 待查看的文件- 示例,查看/opt/dev/projects目錄下的config文件內(nèi)容
$ cat /opt/dev/projects/config- 快捷鍵
常用快捷鍵 功能 空格鍵(Space) 向下翻一頁 Enter 向下翻一行 q 代表立刻離開more,不在顯示該文件內(nèi)容 ctrl + f 向下滾動一屏 = 輸出當(dāng)前的行號 :f 輸出文件名和當(dāng)前行的行號 -
less,查看文件內(nèi)容,該命令比more命令更加強大,同樣適合查看文件行數(shù)多,一屏不能顯示完整的文件
- 基本語法
$ less 待查看的文件- 示例,查看/opt/dev/projects目錄下的config文件內(nèi)容
$ less /opt/dev/projects/config- 快捷鍵
常用快捷鍵 功能 空格鍵(Space) 向下翻一頁 pagedown 向下翻一行 pageup 向上翻一行 /字符串 向下搜尋字符串功能,n:向下查找,N:向上查找 ?字符串 向上搜尋字符串功能,n:向下查找,N:向上查找 -
tail,輸出文件尾部內(nèi)容
- 基本語法
- 查看文件尾部10行內(nèi)容
$ tail 待查看的文件- 查看文件尾部5行內(nèi)容,5可以根據(jù)需要查看的行數(shù)自行變更其值
$ tail -n 5 待查看的文件- 實時追蹤文檔所有更新
$ tail -f 待查看的文件
- 基本語法
-
echo,輸出內(nèi)容到控制臺,也常用于shell腳本
- 基本語法
$ echo [選項] 待輸出的內(nèi)容- 使用-e,選項時,待輸出內(nèi)容使用雙引號""開始和結(jié)束。同時可使用下列轉(zhuǎn)義符
常用快捷鍵 功能 \ 輸出\本身 \n 換行符 \t 制表符,也就是Tab鍵 -
>,輸出重定向
- 基本語法
$ ls -l > 內(nèi)容輸出的目標(biāo)文件$ cat 指定文件 > 內(nèi)容輸出目標(biāo)文件$ echo "指定內(nèi)容" > 內(nèi)容輸出的目標(biāo)文件- 示例,查看當(dāng)前目錄結(jié)構(gòu),輸出到info.txt文件
$ ls -l > info.txt -
>>,輸出追加內(nèi)容
- 基本語法
$ ls -l >> 內(nèi)容輸出的目標(biāo)文件$ cat 指定文件 >> 內(nèi)容輸出目標(biāo)文件$ echo "指定內(nèi)容" >> 內(nèi)容輸出的目標(biāo)文件- 示例,查看當(dāng)前目錄結(jié)構(gòu),追加輸出到info.txt文件(追加到末尾,不覆蓋原有內(nèi)容)
$ ls -l >> info.txt- 示例,采用echo,追加制定內(nèi)容到info.txt文件(追加到末尾,不覆蓋原有內(nèi)容)
$ echo print >> info.txt -
ln,軟連接
軟鏈接也稱為符號鏈接,類似與Windows中的快捷方式。有自己的數(shù)據(jù)塊,主要存放了鏈接其它文件的路徑。- 基本語法,給源文件或目錄創(chuàng)建一個軟鏈接。源文件或目錄,最好使用完整全路徑
$ ln -s 源文件或目錄 軟鏈接名- 刪除軟鏈接
$ rm -rf 軟鏈接名- 使用ll命令,查詢軟鏈接,列表屬性第1位是l,尾部會有位置指向
$ ll
2.7.5 VIM
- 安裝VIM
$ sudo apt install vim
- 一般模式
當(dāng)vim命令打開一個文件時,默認(rèn)就是一般模式。常用操作語法如下:
| 語法 | 功能 |
|---|---|
| yy | 復(fù)制光標(biāo)所在的當(dāng)前行 |
| y 數(shù)字 y | 復(fù)制一行(從光標(biāo)當(dāng)前行,直到后續(xù)n行) |
| p | 箭頭移動到目的行粘貼 |
| u | 撤銷上一步操作 |
| dd | 刪除光標(biāo)所在的當(dāng)前行 |
| d 數(shù)字 d | 刪除光標(biāo)(含)后多少行 |
- 編輯模式
當(dāng)處于一般模式時,按一些按鍵可進(jìn)入編輯模式,按ESC鍵可退出編輯模式。常用操作語法如下:
| 語法 | 功能 |
|---|---|
| i | 當(dāng)前光標(biāo)位置不變,進(jìn)入編輯模式,此時可輸入需要的內(nèi)容 |
| a | 當(dāng)前光標(biāo)位置后移一個位置,進(jìn)入編輯模式 |
| o | 當(dāng)前光標(biāo)下移一行(相當(dāng)于Enter),進(jìn)入編輯模式 |
| I | 當(dāng)前光標(biāo)移動到所在行最前面 |
| A | 當(dāng)前光標(biāo)移動到所在行末尾 |
| O | 當(dāng)前光標(biāo)移動到所在行的上一行 |
- 指令模式
當(dāng)處于一般模式時,輸入[? / :]3個中得任意一個按鍵可進(jìn)入指令模式(此時指令模式輸入操作在最底部一行),按ESC鍵可退出編輯模式。常用操作語法如下:
| 命令 | 功能 |
|---|---|
| :w | 保存 |
| :q | 退出 |
| :! | 強制執(zhí)行 |
| /要查找得內(nèi)容 | n:查找下一個,N:向上查找 |
| :noh | 取消高亮顯示 |
| :set nu | 顯示行號 |
| :set nonu | 關(guān)閉行號 |
| :%s/pld/new/g | 替換內(nèi)容,/g global替換匹配到得所有內(nèi)容 |
2.7.6 時間命令設(shè)置
- 顯示年-月-日 時:分:秒
$ data "+%Y-%m-%d %H:%M:%S"
$ echo `data "+%Y-%m-%d %H:%M:%S"`
$ data "+%F %T"
- 手動設(shè)置系統(tǒng)時間(一般情況不會使用)
- 語法
$ data -s 字符串時間- 示例,設(shè)置為2024-05-05 14:30:50
$ data -s "2024-05-05 14:30:50"
2.7.7 Ubuntu用戶管理
2.7.7.1 添加用戶
- 基本語法
$ adduser 新增加的用戶名
- 示例,新增一個用戶名為eugene的用戶
$ sudo adduser eugene
2.7.7.2 查看及切換用戶
- 設(shè)置和更改密碼
- 基本語法
$ passwd 用戶名- 示例,更改用戶名為eugene的用戶的密碼
$ sudo passwd eugene - 查看用戶
- id查看用戶名為eugene的用戶是否存在
$ id eugene- 使用cat命令,查看/etc/passwd文件來確定創(chuàng)建了哪些用戶
$ cat /etc/passwd - 使用su命令,切換用戶
- 基本語法
- 切換用戶,只能獲取用戶的執(zhí)行權(quán)限,不能獲取環(huán)境變量
$ su 用戶名- 切換用戶,同時獲取用戶的執(zhí)行權(quán)限和環(huán)境變量
$ su - 用戶名
- 基本語法
2.7.7.3 刪除及修改用戶
- 刪除用戶
- 基本語法
- 刪除用戶,但保留/home目錄下的用戶主目錄
$ userdel 用戶名- 同時刪除用戶和/home目錄下的用戶主目錄
$ userdel -r 用戶名
- 基本語法
- 修改用戶
- 基本語法
- 刪除用戶,但保留/home目錄下的用戶主目錄
$ usermod -l 新用戶名 老用戶名- 同時刪除用戶和/home目錄下的用戶主目錄
$ usermod -d /home/新用戶名 -m 新用戶名
- 基本語法
2.7.8 Ubuntu用戶組管理
每個用戶,默認(rèn)都有一個和用戶名同名的用戶組。
系統(tǒng)可以對一個用戶組中的所有用戶進(jìn)行集中管理。
用戶組的管理涉及用戶組的添加、刪除、修改。用戶組的添加、刪除、修改實際上就是對/etc/group文件的更新。
2.7.8.1 用戶組增刪改查
- 新增用戶組
- 基本語法
$ groupadd 組名- 示例,新增一個test組
$ sudo groupadd test - 刪除用戶組
- 基本語法
$ groupdel 組名 - 修改用戶組
- 基本語法
$ sudo groupmod -n 新組名 現(xiàn)有組名 - 查看現(xiàn)有組
$ cat /etc/group
2.7.8.2 添加移除用戶
Linux和Unix系統(tǒng)中,每個用戶都有一個主組(Primary Group)和可能的多個附加組(Sencondary Grops或Additional Groups)。
用戶的主組,在創(chuàng)建用戶時被指定,默認(rèn)與用戶名相同。當(dāng)創(chuàng)建一個新文件或目錄時,默認(rèn)情況下,這些文件或目錄,會被分配給用戶的主組。
用戶的附加組,不會影響創(chuàng)建的文件,僅影響權(quán)限。
- 修改主組
- 基本語法
$ usermod -g 組名 用戶名 - 將用戶添加到附加組
- 基本語法
$ usermod -aG 組名 用戶名 - 將用戶從組中刪除
- 基本語法
$ deluser 用戶名 組名
2.7.8.3 sudo組管理
sudo命令設(shè)置普通用戶的root權(quán)限,可簡單理解為sudo是將指定命令給到root用戶去執(zhí)行。
默認(rèn)情況,只有安裝系統(tǒng)時創(chuàng)建的那個用戶才能使用sudo命令。其他用戶需要管理員將需要使用sudo命令得用戶,添加到sudo組中。
- sudo命令免密配置,編輯/etc/sudoers文件,在下列行中,最后一個ALL前面,添加NOPASSWD:。注意,/etc/sudoers沒有寫權(quán)限,vim保存退出時需要使用:wq!強制保存退出。
- 使用創(chuàng)建系統(tǒng)時創(chuàng)建的用戶(擁有sudo命令使用權(quán)限的用戶),將eugene用戶添加到sudo組中,使其有用使用sudo命令的權(quán)限
- 基本語法
$ sudo usermod -aG 組名 用戶名- 示例
$ sudo usermod -aG sudo eugene
2.8 文件權(quán)限
2.8.1 文件屬性介紹
Linux是一種典型的多用戶系統(tǒng),不同的用戶處于不同地位,擁有不同的權(quán)限。為了保護(hù)系統(tǒng)安全性,Linux系統(tǒng)對不同用戶訪問同一文件(包括目錄文件)的權(quán)限做了不同規(guī)定。在Linux中我們可以使用ll和ls -l命令來顯示一個文件的屬性及文件所屬用戶和組。
-
文件屬性,從左到右10個數(shù)字表示。如果沒有權(quán)限就會出現(xiàn)"-"號。
文件權(quán)限說明- 0-9數(shù)字表示:
- 0首位,表示類型。在Linux中第一個字符代表這個文件是目錄、文件或鏈接文件等。
- "-",代表文件。
- "d",代表目錄。
- "l",代表鏈接文檔(link file)。
- 1-3位確定屬主(該文件所有者)擁有該文件的權(quán)限,用戶權(quán)限。3個數(shù)字或字母,從左到右分別代表:讀、寫、執(zhí)行權(quán)限。
- 4-6位確定屬組(所有者的同組用戶)擁有該文件的權(quán)限,用戶組權(quán)限。3個數(shù)字或字母,從左到右分別代表:讀、寫、執(zhí)行權(quán)限。
- 7-9位確定其他用戶擁有該文件的權(quán)限,用戶及用戶組以外用戶權(quán)限。3個數(shù)字或字母,從左到右分別代表:讀、寫、執(zhí)行權(quán)限。
- 0首位,表示類型。在Linux中第一個字符代表這個文件是目錄、文件或鏈接文件等。
- 0-9數(shù)字表示:
2.8.2 文件權(quán)限修改
-
使用chmod命令改變文件或文件夾權(quán)限
修改文件權(quán)限說明.png - 第1中方式
- 基礎(chǔ)語法:
u:所屬者權(quán)限,g:所屬組權(quán)限,o:其他用戶權(quán)限,a:所有(u+g+o)$ chmod [{u | g | o | a}{+ | - |=}{r | w |x}]- 屬主權(quán)限增加執(zhí)行權(quán)限
$ chmod u + x- 屬組權(quán)限去除寫權(quán)限
$ chmod a - w - 第2中方式
- 基礎(chǔ)語法:
r=4,w=2,x=1,例如,屬組權(quán)限設(shè)置讀寫權(quán)限:r+w=4+2=6,設(shè)置讀寫執(zhí)行權(quán)限:r+w+x=4+2+1=7。$ chmod [mode=421] [文件或文件夾]- test.txt文件的屬主權(quán)限設(shè)置為讀寫(rw),屬組權(quán)限設(shè)置為讀執(zhí)行,其他設(shè)置為讀
$ chmod 654 test.txt- test.txt文件的屬主權(quán)限,屬組權(quán),其他均設(shè)置為讀寫執(zhí)行(rwx),一般不會這樣設(shè)置權(quán)限,因為這樣的權(quán)限等于裸奔。
$ chmod 777 test
2.8.3 文件改變所有者和所屬組
- 使用chmod命令改變所有者
- 基本語法
-R選項,遞歸操作$ chmod [-R] 權(quán)限所屬用戶名 文件或文件夾 - 使用chgrp令改變所屬組
- 基本語法
$ chgrp 權(quán)限所屬用戶組 文件或文件夾 - 使用chmod令同時改變所屬用戶和所屬組
- 基本語法
$ chmod 權(quán)限所屬用戶:權(quán)限所屬用戶組 文件或文件夾
2.9 搜索查找
2.9.1 使用find命令
find命令從指定目錄向下遞歸遍歷各個子目錄,將滿足條件的文件顯示在終端。
- 基本語法
$ find [搜索范圍(指定目錄)] [選項]
- 示例,使用-name選項,指定文件名查找。本示例是查找當(dāng)前目錄下,所有.txt結(jié)尾的文件。
$ find ./ -name "*.txt"
2.9.2 使用grep命令過濾查找及"|"管道符
管道符,“|”,表示將前一個命令的處理結(jié)果,傳遞給后面命令處理。
- 基本語法
$ grep 選項 查找內(nèi)容 [源文件]
-n,此選項表示顯示過濾查找匹配內(nèi)容的行號。
-v,此選項表示反向匹配搜索,也就是排除指定查找內(nèi)容以外的內(nèi)容作為查詢結(jié)果。
2.10 壓縮與解壓縮
2.10.1 使用gzip和gunzip實現(xiàn)壓縮解壓縮
- 基本語法:
- gzip,壓縮文件,只能將文件壓縮成.gz后綴的壓縮文件
$ gzip 文件- gunzip,完成解壓縮,.gz后綴的壓縮文件
$ gzip 文件.gz - 限制
- 只能進(jìn)行文件壓縮,不能壓縮目錄
- 壓縮文件后,原文件不保留(刪除掉原文件)
2.10.2 使用tar實現(xiàn)壓縮解壓縮
- 基本語法:
$ tar [選項] 最終壓縮包的文件名.tar.gz 需要打包的目錄(最后這個參數(shù)可以指定多個文件或目錄,使用空格分隔)- '-c'選項,生成.tar打包文件
- '-v'選項,顯示詳細(xì)信息
- '-f'選項,指定壓縮后的文件名
- '-z'選項,打包同時壓縮,如果是一個.gz文件需要加此選項,否則就不加
- '-x'選項,解壓.tar文件
一般選項會組合使用,例如: - 打包目錄,通常使用-zcvf
$ tar -zcvf project1_backup.tar.gz /opt/module/project1- 解壓,通常使用-zxvf,同時在待解壓的壓縮文件后,跟上'-C'選項,指定解壓后的存放目錄(不使用此選項指定目錄,默認(rèn)為當(dāng)前葉索文件同級目錄)
$ tar -zxvf project1_backup.tar.gz -C /opt/module/project1
2.11 硬件監(jiān)控
2.11.1 磁盤空間監(jiān)控及查看
- df命令,查看磁盤空間使用情況
- 配合-h選項(此選項以較易閱讀的GBytes,MBytes,KBytes磁盤容量單位顯示已使用,未使用等系統(tǒng)磁盤容量),查看文件系統(tǒng)整體使用量
$ df -h - du命令,查看指定文件和目錄的磁盤使用空間
- 基本語法
$ du 目錄/文件名- 使用'-a'選項,遞歸顯示當(dāng)目錄下所有文件目錄及子目錄大小使用情況。
- 使用'-h'選項,以較易閱讀單位顯示已使用容量。
- 使用'-sh'選項,只查看當(dāng)前磁盤暫用了多少磁盤空間,不進(jìn)行遞歸。
2.11.2 進(jìn)程監(jiān)控
2.11.2.1 ps命令,查看當(dāng)前系統(tǒng)進(jìn)程狀態(tài)
- 基本語法
- 查看系統(tǒng)中得所有進(jìn)程
$ ps -aux | grep 查看內(nèi)容或者進(jìn)程ID(PID)- 可以查看子父進(jìn)程之間的關(guān)系
$ ps -ef | grep 查看內(nèi)容或者進(jìn)程ID(PID)- 選項說明
- '-a',選擇所有進(jìn)程
- '-u',顯示所有用戶的所有進(jìn)程
- '-x',顯示沒有終端的進(jìn)程
- 'ps -aux',顯示信息說明(共11列),代表信息順序如下:
- 創(chuàng)建進(jìn)程的用戶名
- 進(jìn)程ID(PID)
- 進(jìn)程占用的CPU百分比
- 進(jìn)程占用的內(nèi)容百分比
- 虛擬內(nèi)存的大小,單位KB
- 占用實際物理內(nèi)存的大小,單位KB
- 該進(jìn)程在哪個終端中運行
- 進(jìn)程的狀態(tài):R:運行,S:睡眠,T:停止?fàn)顟B(tài),s:包含子進(jìn)程,+:位于后臺。
- 啟動時間
- 占用CPU的計算時間
- 啟動進(jìn)程使用的命令
- 'ps -ef',顯示信息說明(共8列),代表信息順序如下:
- 創(chuàng)建進(jìn)程的用戶名
- 進(jìn)程ID(PID)
- 父進(jìn)程ID(父進(jìn)程被KILL關(guān)掉,其下的子進(jìn)程也會隨之全部關(guān)掉)
- CPU用于執(zhí)行計算的優(yōu)先級(數(shù)值越小,優(yōu)先級越高[IO密集型運算]。反之優(yōu)先級越低[CUP密集型運算,需要花大量時間運行])
- 啟動時間
- 該進(jìn)程在哪個終端中運行
- CPU占用的時間
- 啟動進(jìn)程使用的命令
2.11.2.2 kill命令關(guān)掉系統(tǒng)進(jìn)程
- 基本語法
- 用過進(jìn)程號(PID)殺死進(jìn)程,選項'-9'表示強迫進(jìn)程立即停止
$ kill -9 進(jìn)程ID(PID)- 用過進(jìn)程名稱殺死進(jìn)程,支持通配符,在系統(tǒng)因負(fù)載過大而變得很慢的時候很有
$ killall 進(jìn)程名稱
2.11.3 內(nèi)存監(jiān)控
- 基本語法
- 查看服務(wù)器總體內(nèi)存(單位:兆)
$ free -m
2.11.4 網(wǎng)絡(luò)端口占用監(jiān)控
- 基本語法
- 查看指定進(jìn)程(PID)的網(wǎng)絡(luò)信息
$ netstat -anp | grep 進(jìn)程號- 查看網(wǎng)絡(luò)端口號占用情況
$ netstat -nlp | grep 端口號- 'n',拒絕顯示別名,能顯示數(shù)字的全部轉(zhuǎn)化為數(shù)字
- 'l',僅列出有在listen(監(jiān)聽)的服務(wù)狀態(tài)
- 'p',顯示哪個進(jìn)程在調(diào)用




























