一 . 基礎命令
grep 查找一行含有該字符串的命令
grep [選項]... PATTERN [FILE]..
-a :將binary文件以text文件的方式查找數據
-c :計算找到‘查找字符串’的次數
-i :忽略大小寫的區別,即把大小寫視爲相同
-v :反向選擇,即顯示出沒有‘查找字符串’內容的那一行
find 查找文件
相對而言,它的使用也相對較爲複雜,參數也比較多
# 與時間有關的參數:
-mtime n : n爲數字,意思爲在n天之前的“一天內”被更改過的文件;
-mtime +n : 列出在n天之前(不含n天本身)被更改過的文件名;
-mtime -n : 列出在n天之內(含n天本身)被更改過的文件名;
-newer file : 列出比file還要新的文件名
# 例如:
find /root -mtime 0 # 在當前目錄下查找今天之內有改動的文件
# 與用戶或用戶組名有關的參數:
-user name : 列出文件所有者爲name的文件
-group name : 列出文件所屬用戶組爲name的文件
-uid n : 列出文件所有者爲用戶ID爲n的文件
-gid n : 列出文件所屬用戶組爲用戶組ID爲n的文件
# 例如:
find /home/ljianhui -user ljianhui # 在目錄/home/ljianhui中找出所有者爲ljianhui的文件
# 與文件權限及名稱有關的參數:
-name filename :找出文件名爲filename的文件
-size [+-]SIZE :找出比SIZE還要大(+)或小(-)的文件
-tpye TYPE :查找文件的類型爲TYPE的文件,TYPE的值主要有:一般文件(f)、設備文件(b、c)、
目錄(d)、連接文件(l)、socket(s)、FIFO管道文件(p);
-perm mode :查找文件權限剛好等於mode的文件,mode用數字表示,如0755;
-perm -mode :查找文件權限必須要全部包括mode權限的文件,mode用數字表示
-perm +mode :查找文件權限包含任一mode的權限的文件,mode用數字表示
# 例如:
find / -name passwd # 查找文件名爲passwd的文件
find . -perm 0755 # 查找當前目錄中文件權限的0755的文件
find . -size +12k # 查找當前目錄中大於12KB的文件,注意c表示byte
cp 複製文件
cp [-a] file1 file2
-a :將文件的特性一起復制
-p :連同文件的屬性一起復制,而非使用默認方式,與-a相似,常用於備份
-i :若目標文件已經存在時,在覆蓋時會先詢問操作的進行
-r :遞歸持續複製,用於目錄的複製行爲
-u :目標文件與源文件有差異時纔會複製
mv 移動文件/重命名
mv [-i] file file2
-f :force強制的意思,如果目標文件已經存在,不會詢問而直接覆蓋
-i :若目標文件已經存在,就會詢問是否覆蓋
-u :若目標文件已經存在,且比目標文件新,纔會更新
rm 刪除文件
rm [-f] file
-f :就是force的意思,忽略不存在的文件,不會出現警告消息, 直接刪除
-i :互動模式,在刪除前會詢問用戶是否操作
-r :遞歸刪除,最常用於目錄刪除,它是一個非常危險的參數
ps 查看進程(一般與grep連用)
ps -aux | grep java`
ps aux # 查看系統所有的進程數據
ps ax # 查看不與terminal有關的所有進程
ps -lA # 查看系統所有的進程數據
ps axjf # 查看連同一部分進程樹狀態
-A :所有的進程均顯示出來
-a :不與terminal有關的所有進程
-u :有效用戶的相關進程
-x :一般與a參數一起使用,可列出較完整的信息
-l :較長,較詳細地將PID的信息列出
kill 殺掉某個進程
kill [-SIGINT] pid
1:SIGHUP,啓動被終止的進程
2:SIGINT,相當於輸入ctrl+c,中斷一個程序的進行
9:SIGKILL,強制中斷一個進程的進行
15:SIGTERM,以正常的結束進程方式來終止進程
17:SIGSTOP,相當於輸入ctrl+z,暫停一個進程的進行
tar 打包, 解壓
壓縮:tar -jcv -f filename.tar.bz2 filename`
查詢:tar -jtv -f filename.tar.bz2
解壓:tar -jxv -f filename.tar.bz2 -C filemkdir
-c :新建打包文件
-t :查看打包文件的內容含有哪些文件名
-x :解打包或解壓縮的功能,可以搭配-C(大寫)指定解壓的目錄,注意-c,-t,-x不能同時出現在同一條命令中
-j :通過bzip2的支持進行壓縮/解壓縮
-z :通過gzip的支持進行壓縮/解壓縮
-v :在壓縮/解壓縮過程中,將正在處理的文件名顯示出來
-f filename :filename爲要處理的文件
-C dir :指定壓縮/解壓縮的目錄dir
cat / vim 查看文件
vim命令:
gg 跳到文件開始
GG 跳到文件結束
/ name 查找字段
n 查找下一個
N 查找上一個
chmod命令
chmod 777 filename
該命令用於改變文件的權限
time命令
time process
該命令用於測算一個命令(即程序)的執行時間
file 用於判斷接在file命令後的文件的基本數據
file filename
二. 遠程連接
遠程連接數據庫
mysql -u{root} -p[port] -h{ip}
遠程連接
ssh -p {port} root@{ip}
三.本機網絡
多IP機器更換IP
iptables -t nat -I POSTROUTING -o 網卡名 -d 0.0.0.0/0 -s 機器默認ip -j SNAT --to-source 要更換的ip
查看 ip 更換記錄
service iptables status
清除 防火牆上的postrouting表規則, 及更換ip的記錄
iptables -t nat -F POSTROUTING
查看網卡名
cat /proc/net/dev
查看可用本機ip地址
ip addr
linux 下 查看Apache的併發請求數及其TCP連接狀態
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
或
netstat -n|grep ^tcp|awk '{print $NF}'|sort -nr|uniq -c
或
netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"t",state[key]}'
結果示例
TIME_WAIT 34
SYN_SENT 1
FIN_WAIT2 4
ESTABLISHED 633
CLOSED:無連接是活動的或正在進行
LISTEN:服務器在等待進入呼叫
SYN_RECV:一個連接請求已經到達,等待確認
SYN_SENT:應用已經開始,打開一個連接
ESTABLISHED:正常數據傳輸狀態
FIN_WAIT1:應用說它已經完成
FIN_WAIT2:另一邊已同意釋放
ITMED_WAIT:等待所有分組死掉
CLOSING:兩邊同時嘗試關閉
TIME_WAIT:另一邊已初始化一個釋放
LAST_ACK:等待所有分組死掉linux查看httpd進程數
ps -ef | grep httpd | wc -l
查看Nginx運行進程數
ps -ef | grep nginx | wc -l
查看Web服務器進程連接數:
netstat -antp | grep 80 | grep ESTABLISHED -c
查看MySQL進程連接數:
ps -axef | grep mysqld -c
ps -ef | grep mysqld -c
遠程拷貝文件
本地向遠程
scp -P {port} {本地目錄} root@{ip}:{遠程目錄}
遠程向本地
scp -P {port} root@{ip}:{遠程目錄} {本地目錄}
系統命令
top
linux 查看本機內存