無論你是后端程序員還是前端程序員剧蚣,都避免不了和Linux打交道趁窃。上篇介紹了Linux常用的20個(gè)命令其中的10個(gè)崇渗,本文繼續(xù)介紹剩下的10個(gè)命令字逗。
11.man 命令
manual的縮寫,即使用手冊(cè)的意思宅广,是Linux下最核心的命令之一葫掉,用來列出一份完整的說明
語法格式 : man [參數(shù)]
常用參數(shù):
參數(shù) | 說明 |
---|---|
-a | 在所有的man幫助手冊(cè)中搜索 |
-f | 顯示給定關(guān)鍵字的簡(jiǎn)短描述信息 |
-p | 指定內(nèi)容時(shí)使用分頁程序 |
-M | 指定man手冊(cè)搜索的路徑 |
-w | 顯示文件所在位置 |
快捷鍵:
參數(shù) | 說明 |
---|---|
q | 退出 |
Enter | 按行下翻 |
Space | 按頁下翻 |
b | 上翻一頁 |
/字符串 | 在手冊(cè)頁中查找字符串 |
參考實(shí)例:
- 查看printf函數(shù)的使用信息:
[root@wayne:~]# man printf
- 查看cp命令的幫助信息:
[root@wayne:~]# man cp
- 查看/etc/passwd文件的信息:
[root@wayne:~]# man /etc/passwd
- 查看passwd命令所在位置:
[root@wayne:~]# man -w passwd /usr/share/man/man1/passwd.1.gz
12.grep 命令
用來查找文件里符合條件的字符串或正則表達(dá)式,并將其打印出來
語法格式 : grep [參數(shù)]
常用參數(shù):
參數(shù) | 說明 |
---|---|
-i | 忽略大小寫進(jìn)行匹配 |
-c | 只輸出匹配行的數(shù)量 |
-l | 只列出符合匹配的文件名跟狱,不列出具體的匹配行 |
-n | 列出所有的匹配行俭厚,顯示行號(hào) |
-r | 遞歸查找子目錄中的文件 |
-v | 只打印不匹配的行 |
參考實(shí)例:
- 在文件 test.txt 中查找字符串 "World",并打印匹配的行:
[root@wayne:~]# grep World test.txt
- 在當(dāng)前目錄中兽肤,查找后綴為 .txt 的文件中套腹,包含World字符串的文件,并打印出該字符串的行
[root@wayne:~]# grep World *.txt
- 在文件夾 dir 中遞歸查找所有文件中匹配正則表達(dá)式 "pattern" 的行资铡,并打印匹配行所在的文件名和行號(hào)
[root@wayne:~]# grep -r -n pattern dir/
- 以遞歸的方式查找目錄 /usr/local 及其子目錄下所有文件中包含字符串"test"的文件
[root@wayne:~]# grep -r test /usr/local
13.find 命令
用來在指定目錄下查找文件
語法格式 : find [參數(shù)] [路徑] [查找和搜索范圍]
常用參數(shù):
參數(shù) | 說明 |
---|---|
-name | 按名稱查找 |
-size | 按大小查找 |
-user | 按屬性查找 |
-type | 按類型查找 |
-iname | 忽略大小寫 |
參考實(shí)例:
- 使用-name參數(shù)查看/etc目錄下面所有的.conf結(jié)尾的配置文件:
[root@wayne:~]# find /etc -name "*.conf
- 使用-size參數(shù)查看/etc目錄下面大于1M的文件:
[root@wayne:~]# find /etc -size +1M
- 在/home目錄下查找以.txt結(jié)尾的文件名:
[root@wayne:~]# find /home -name "*.txt"
- 找出/home下不是以.txt結(jié)尾的文件:
[root@wayne:~]# find /home ! -name "*.txt"
- 在/var/log目錄下忽略大小寫查找以.log結(jié)尾的文件名:
[root@wayne:~]# find /var/log -iname "*.log"
- 將當(dāng)前目錄及其子目錄下所有最近 20 天內(nèi)更新過的文件列出:
[root@wayne:~]# find . -ctime 20
- 搜索當(dāng)前目錄中訪問時(shí)間超過10分鐘的所有文件:
[root@wayne:~]# find . -type f -amin +10
14.chmod 命令
用來改變文件或目錄的權(quán)限
語法格式 : chmod [參數(shù)] [文件]
常用參數(shù):
參數(shù) | 說明 |
---|---|
-c | 若該文件權(quán)限確實(shí)已經(jīng)更改电禀,才顯示其更改動(dòng)作 |
-f | 若該文件權(quán)限無法被更改也不顯示錯(cuò)誤訊息 |
-v | 顯示權(quán)限變更的詳細(xì)資料 |
-R | 對(duì)目前目錄下的所有文件與子目錄進(jìn)行相同的權(quán)限變更(即以遞回的方式逐個(gè)變更) |
參考實(shí)例:
- 將file.txt 設(shè)為所有人都可讀取:
[root@wayne:~]# chmod a+r file.txt
- 將目前目錄下的所有文件與子目錄皆設(shè)為任何人可讀取 :
[root@wayne:~]# chmod -R a+r *
- 將 file設(shè)定為只有該文件擁有者可以執(zhí)行:
[root@wayne:~]# chmod u+x file
- 用數(shù)字更改文件權(quán)限:
[root@wayne:~]# chmod abc file
其中a,b,c各為一個(gè)數(shù)字笤休,分別表示User尖飞、Group、及Other的權(quán)限(rwx)店雅。
r=4政基,w=2,x=1
若要 rwx 屬性則 4+2+1=7闹啦;
若要 rw- 屬性則 4+2=6沮明;
若要 r-x 屬性則 4+1=5。
15.ps 命令
process status的縮寫窍奋,用來顯示當(dāng)前系統(tǒng)的進(jìn)程狀態(tài)
語法格式 : ps [參數(shù)]
常用參數(shù):
參數(shù) | 說明 |
---|---|
-A | 列出所有的進(jìn)程 |
-a | 不與terminal有關(guān)的所有進(jìn)程 |
-x | 一般與a參數(shù)一起使用荐健,可列出較完整的信息 |
-w | 顯示加寬可以顯示較多的資訊 |
-u | 有效用戶的相關(guān)進(jìn)程 |
-l | 較詳細(xì)地將PID的信息列出 |
-aux | 查看系統(tǒng)所有的進(jìn)程數(shù)據(jù) |
參考實(shí)例:
- 顯示所有進(jìn)程信息:
[root@wayne:~]# ps -A
- 查看系統(tǒng)所有的進(jìn)程數(shù)據(jù):
[root@wayne:~]# ps -aux
- 查看root用戶的進(jìn)程信息:
[root@wayne:~]# ps -u root
- 按 CPU 資源的使用量對(duì)進(jìn)程進(jìn)行排序
[root@wayne:~]# ps -aux | sort -nk 3
- 按內(nèi)存資源的使用量對(duì)進(jìn)程進(jìn)行排序
[root@wayne:~]# ps aux | sort -rnk 4
16.kill 命令
用來刪除執(zhí)行中的程序或工作
語法格式 : kill [參數(shù)] [進(jìn)程號(hào)]
常用參數(shù):
參數(shù) | 說明 |
---|---|
-l | 列出系統(tǒng)支持的信號(hào) |
-s | 指定向進(jìn)程發(fā)送的信號(hào) |
-a | 處理當(dāng)前進(jìn)程時(shí)不限制命令名和進(jìn)程號(hào)的對(duì)應(yīng)關(guān)系 |
-p | 指定kill命令只打印相關(guān)進(jìn)程的進(jìn)程號(hào)酱畅,而不發(fā)送任何信號(hào) |
參考實(shí)例:
- 顯示信號(hào):
[root@wayne:~]# kill -l
- 殺死一個(gè)進(jìn)程ID為9523的進(jìn)程:
[root@wayne:~]# kill -9 9523
- 重新加載進(jìn)程ID為1935的進(jìn)程:
[root@wayne:~]# kill -SIGHUP 1953
17.netstat 命令
用來顯示各種網(wǎng)絡(luò)相關(guān)信息
語法格式 : netstat [參數(shù)]
常用參數(shù):
參數(shù) | 說明 |
---|---|
-a | 顯示所有連線中的Socket |
-p | 顯示正在使用Socket的程序識(shí)別碼和程序名稱 |
-u | 顯示UDP傳輸協(xié)議的連線狀況 |
-i | 顯示網(wǎng)絡(luò)界面信息表單 |
-n | 直接使用IP地址,不通過域名服務(wù)器 |
參考實(shí)例:
- 顯示詳細(xì)的網(wǎng)絡(luò)狀況:
[root@wayne:~]# netstat -a
- 顯示當(dāng)前用戶UDP連接狀況:
[root@wayne:~]# netstat -nu
- 顯示網(wǎng)卡列表:
[root@wayne:~]# netstat -i
- 顯示組播組的關(guān)系:
[root@wayne:~]# netstat -g
- 顯示網(wǎng)絡(luò)統(tǒng)計(jì)信息:
[root@wayne:~]# netstat -s
- 顯示監(jiān)聽的套接口:
[root@wayne:~]# netstat -l
18.ping 命令
用來測(cè)試主機(jī)之間網(wǎng)絡(luò)的連通性
語法格式 : ping [參數(shù)] [目標(biāo)主機(jī)]
常用參數(shù):
參數(shù) | 說明 |
---|---|
-d | 使用Socket的SO_DEBUG功能 |
-c | 指定發(fā)送報(bào)文的次數(shù) |
-i | 指定收發(fā)信息的間隔時(shí)間 |
-I | 使用指定的網(wǎng)絡(luò)接口送出數(shù)據(jù)包 |
-l | 設(shè)置在送出要求信息之前纺酸,先行發(fā)出的數(shù)據(jù)包 |
-n | 只輸出數(shù)值 |
-p | 設(shè)置填滿數(shù)據(jù)包的范本樣式 |
-q | 不顯示指令執(zhí)行過程 |
-R | 記錄路由過程 |
-s | 設(shè)置數(shù)據(jù)包的大小 |
-t | 設(shè)置存活數(shù)值TTL的大小 |
-v | 詳細(xì)顯示指令的執(zhí)行過程 |
參考實(shí)例:
- 檢測(cè)與百度網(wǎng)站的連通性:
[root@wayne:~]# ping www.baidu.com
- 連續(xù)ping4次 192.168.1.100:
[root@wayne:~]# ping -c 4 192.168.1.100
- 連續(xù)ping4次 192.168.1.100,時(shí)間間隔為3秒:
[root@wayne:~]# ping -c 4 -i 3 192.168.1.100
19.ifconfig
用來配置和顯示Linux內(nèi)核中網(wǎng)絡(luò)接口的網(wǎng)絡(luò)參數(shù)
語法格式 : ifconfig [參數(shù)]]
常用參數(shù):
參數(shù) | 說明 |
---|---|
add <地址> | 設(shè)置網(wǎng)絡(luò)設(shè)備IPv6的IP地址 |
del <地址> | 刪除網(wǎng)絡(luò)設(shè)備IPv6的IP地址 |
down | 關(guān)閉指定的網(wǎng)絡(luò)設(shè)備 |
up | 啟動(dòng)指定的網(wǎng)絡(luò)設(shè)備 |
IP地址 | 指定網(wǎng)絡(luò)設(shè)備的IP地址 |
參考實(shí)例:
- 顯示網(wǎng)絡(luò)設(shè)備信息
[root@wayne:~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0c:29:c9:94:8e
inet addr:192.168.142.174 Bcast:192.168.142.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fec9:948e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:15571 errors:0 dropped:0 overruns:0 frame:0
TX packets:937 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1039722 (1.0 MB) TX bytes:164525 (164.5 KB)
Interrupt:19 Base address:0x2000
eth1 Link encap:Ethernet HWaddr 00:0c:29:c9:94:a2
inet addr:192.168.4.200 Bcast:192.168.4.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fec9:94a2/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:133 errors:0 dropped:0 overruns:0 frame:0
TX packets:710 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:20861 (20.8 KB) TX bytes:157963 (157.9 KB)
Interrupt:18 Base address:0x2080
- 啟動(dòng)關(guān)閉指定網(wǎng)卡
[root@wayne:~]# ifconfig eth0 up // 啟動(dòng)網(wǎng)卡
[root@wayne:~]# ifconfig eth0 down // 關(guān)閉網(wǎng)卡
- 配置和刪除網(wǎng)卡的IPv6地址
[root@wayne:~]# ifconfig eth0 add 33ffe:3239:800:1002::2/ 64 //為網(wǎng)卡設(shè)置IPv6地址
[root@wayne:~]# ifconfig eth0 del 33ffe:3239:800:1002::2/ 64 //為網(wǎng)卡刪除IPv6地址
- 修改MAC地址
[root@wayne:~]# ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE //修改MAC地址
配置IP地址
[root@wayne:~]# ifconfig eth1 192.168.4.200
//給eth1網(wǎng)卡配置IP地址
[root@wayne:~]# ifconfig eth1 192.168.4.200 netmask 255.255.255.0
// 給eth1網(wǎng)卡配置IP地址,并加上子掩碼
[root@wayne:~]# ifconfig eth1 192.168.4.200 netmask 255.255.255.0 broadcast 192.168.4.255
// 給eth1網(wǎng)卡配置IP地址,加上子掩碼,加上廣播地址
- 啟用和關(guān)閉ARP協(xié)議
[root@wayne:~]# ifconfig eth0 arp //開啟
[root@wayne:~]# ifconfig eth0 -arp //關(guān)閉
- 設(shè)置最大傳輸單元
[root@wayne:~]# ifconfig eth0 mtu 2500
//設(shè)置能通過的最大數(shù)據(jù)包大小為 2500 bytes
20.date命令
用來顯示或設(shè)定系統(tǒng)的日期與時(shí)間
語法格式 : date [選項(xiàng)] [+輸出形式]
常用參數(shù):
參數(shù) | 說明 |
---|---|
-s [datestr] | 將系統(tǒng)時(shí)間設(shè)為 datestr 中所設(shè)定的時(shí)間 |
-u | 顯示目前的格林威治時(shí)間 |
參考實(shí)例:
- 顯示當(dāng)前時(shí)間:
[root@wayne:~]# date
Wed Mar 8 12:29:33 CST 2023
- 按格式輸出時(shí)間:
[root@wayne:~]# date +"%Y-%m-%d"
2023-03-08
- 設(shè)定時(shí)間:
[root@wayne:~]# date -s 20230308 // 設(shè)置日期為20230308址否,這樣會(huì)把具體時(shí)間設(shè)置成00:00:00
[root@wayne:~]# date -s 12:34:56 // 設(shè)置具體時(shí)間餐蔬,不會(huì)對(duì)日期做更改
[root@wayne:~]# date -s "20230308 12:34:56" // 設(shè)置全部時(shí)間
以上,如果覺得對(duì)你有幫助佑附,點(diǎn)個(gè)贊再走吧樊诺,這樣@知微之見也有更新下去的動(dòng)力!
也歡迎私信我帮匾,一起交流啄骇!