後端開發人員必備的linux經常使用命令清單與實例,這是我在公司給團隊小夥伴一次技術小分享。內容深刻淺出,簡單明瞭,放出來給你們分享。新手司機能夠收藏、學習,老司機能夠批評指正。
(本文持續更新中^_^
)
系統信息監控/查看
ps
是Process Status
的縮寫,ps
命令用來列出系統中當前運行的那些進程的快照。java
-a
顯示同一終端下的全部程序-A
顯示全部進程-e
等於「-A
」-f
顯示程序間的關係,pid
& ppid
-H
顯示樹狀結構-u
指定(當前)用戶的全部進程示例linux
ps -ef
ps -aux
top
性能分析工具,可以實時顯示系統中各個進程的資源佔用情況,相似於Windows的任務管理器正則表達式
top - 14:06:23 up 70 days, 16:44, 2 users, load average: 1.25, 1.32, 1.35 Tasks: 206 total, 1 running, 205 sleeping, 0 stopped, 0 zombie Cpu(s): 5.9%us, 3.4%sy, 0.0%ni, 90.4%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st Mem: 32949016k total, 14411180k used, 18537836k free, 169884k buffers Swap: 32764556k total, 0k used, 32764556k free, 3612636k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 28894 root 22 0 1501m 405m 10m S 52.2 1.3 2534:16 java
netstat
查看訪問網絡鏈接狀態後端
-a
或–all
顯示全部連線中的Socket
-n
或–numeric
直接使用IP地址,而不經過域名服務器-p
或–programs
顯示正在使用Socket
的程序識別碼和程序名稱-t
或–tcp
顯示TCP
傳輸協議的連線情況-u
或–udp
顯示UDP
傳輸協議的連線情況示例服務器
netstat -apn | grep 8080
netstat -apnt | grep 8080
編輯器
vi
編輯器經常使用命令網絡
a
查看app
/word
n
N
替換tcp
u
、ctrl
+ r
複製編輯器
粘貼工具
p
刪除
x
、X
diw
、daw
dd
添加行
O
o
ctrl
+ d
, ctrl
+ u
:set nu
ctrl + g
行
0
$
gg
G
句
(
)
段
{
}
屏幕
ctrl
+ v
ctrl
+ e
ctrl
+ u
ctrl
+ d
ctrl
+ b
ctrl
+ f
保存退出
w
保存q
退出q!
不保存,強制退出磁盤文件有關
df
檢查linux
服務器的文件系統的磁盤空間佔用狀況
-T
文件系統類型-h
方便閱讀方式顯示,1K=1024-H
等於「-h
」,可是計算式,1K
=1000
,而不是1K
=1024
-l
只顯示本地文件系統列表-k
區塊爲1024
字節-a
所有文件系統列表示例
df -hl
查看當前目錄下全部目錄、文件的大小du
查看文件和目錄磁盤使用的空間
-a
顯示當前目錄以及子目錄下全部的文件大小-h
自動轉換單位 M
,GB
-s
統計總大小示例
du -a
du -sh
當前目錄大小find
查找文件,配合正則使用更佳
-name
名字-size
大小-type
類型示例
find /home/server -name server.xml
查找/home/server
下名字爲server.xml
的文件find . -type d | sort
查找當前全部目錄並排序find . -size +1000c -print
查找當前目錄大於1K的文件tail
從指定點開始將文件寫到標準輸出
示例
tail -20f app.log
tar
打包工具
-c
新建壓縮文件,與 x
逆操做-v
顯示操做過程-f
指定壓縮文件-x
解壓縮文件 與 c
反向操做-z
支持gzip解壓文件示例
tar -xvf name.tar.gz
解包tar -cvf name.tar.gz /dir
打包,未壓縮tar -zxvf name.tar.gz
解包,gzip解壓縮tar -zcvf name.tar.gz /dir
打包,gzip壓縮grep
文本搜索工具,它能使用正則表達式搜索文本,並把匹 配的行信息打印出來。
-A
前多少行,不包括當前行-B
後多少行,不包括當前行-C
先後多少行,不包括當前行-c
統計行數-i
忽略大小寫示例
grep -C 10 keywords fileName.log
在文件fileName.log
查找關鍵詞keywords
先後10行wc
是 Word Count
縮寫,統計指定文件中的字節數、字數、行數,並將統計結果顯示輸出
-c
統計字節數-l
統計行數-m
統計字符數。這個標誌不能與 -c 標誌一塊兒使用-w
統計字數。一個字被定義爲由空白、跳格或換行字符分隔的字符串-L
打印最長行的長度示例
wc -m
xargs
替換工具,讀取輸入數據從新格式化後輸出。簡單的理解就是經過指定的分隔符(默認空格
)切割(split
)字符串,而後把處理後的多列數據做爲參數,做爲下一個指令的參數
傳入。
-a
即--arg-file=FILE
從指定文件讀取內容-d
即--delimiter=CHARACTER
指定分隔符,默認空格-n
多行顯示,指定一行顯示的列數示例
echo '--help' | xargs cat
即cat --help
jps | awk '{print $1}' | xargs kill -9
關閉全部Java
進程用戶相關操做
su
- 或 su - root
切換到root
用戶exit
退回到上一個用戶whoami
查看當前用戶useradd
添加用戶,全部用戶在配置文件:/etc/passwd
-g
組別編號,缺省時表當前用戶組-u
用戶編號-d
家目錄,默認在/home
示例
useradd -g 666 -u 666 -d /home/Aron Aron
新建Aron
用戶user modify
修改用戶
-g
組編號-u
用戶編號-d
家目錄-l
新名字示例
usermod -g 666 -u 666 -d /home/Aron -l Aron2 Aron
注意修改家目錄時須要手動建立userdel
刪除用戶
-r
刪除用戶同時刪除其家目錄示例
userdel Aron
userdel -r Aron
刪除用戶同時刪除其家目錄設置用戶密碼
示例
passwd Aron
chmod
即change mode
,改變文件模式。
chmod [-cfvR] [--help] [--version] mode file...
,其中,mode
是權限設定字串,格式爲[ugoa...][[+-=][rwxX]...][,...]
,說明:ugoa
中的u
爲當前用戶,g
當前用戶組,o
其餘用戶組,a
全部用戶-c
若該文件權限確實已經更改,才顯示其更改動做-f
若該文件權限沒法被更改也不要顯示錯誤訊息-v
顯示權限變動的詳細資料-R
對目前目錄下的全部文件與子目錄進行相同的權限變動(即以遞迴的方式逐個變動)示例
chmod ugo+r file1.txt
將文件file1.txt
設置爲全部人可讀chmod u+r,g+w,o+r file1.txt
將文件file1.txt
設置爲當前用戶可讀,同組可寫,其餘組可讀chmod -R a+rw /home/server
將目錄/home/server
以遞歸形式設置爲全部人可讀寫chgrp
即change group
改變用戶組,語法chgrp [-R] newGroup fileOrDirector
-R
遞歸方式查找子目錄示例
chgrp Aron app.java
chgrp -R Aron /data
chown
即change owner
改變擁有者
chown [-R] newUser fileOrDirector
chown [-R] newUser:newGroup fileOrDirector
示例
chown Aron app.java
chown Aron:AronGroup app.java