Linux 常用命令

一 . 基礎命令

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 查看本機內存
top命令結果

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章