Linux命令大全vue
在平常開發中咱們會作一些服務器部署的工做,對於開發來講,運維部署並非咱們的專項;有些命令不是常用,很快就會忘記;在這總結一下平常部署時經常使用的一些運維命令。node
tail 命令可用於查看文件的內容,有一個經常使用的參數 -f 經常使用於查閱正在改變的日誌文件。linux
命令格式:ios
tail [參數] [文件]
參數:web
示例正則表達式
通常咱們及時使用-f參數實時監控服務器日誌。shell
ll並非linux下一個基本的命令,它其實是ls -l的一個別名。編程
Ubuntu默認不支持命令ll,必須用 ls -l,這樣使用起來不是很方便。json
一、文件類型centos
二、文件屬性
三、目錄/文件個數
對於目錄文件,表示它的第一級子目錄的個數。注意此處看到的值要減2纔等於該目錄下的子目錄的實際個數。4
四、全部者/分組
表示該文件的全部者/建立者(owner)及其所在的組(group)。
五、文件大小
若是是文件,則表示該文件的大小,單位爲字節。
若是是目錄,則表示該目錄符所佔的大小,並不表示該目錄下全部文件的大小。
六、修改日期
該文件最後修改的日期時間。
七、文件名稱
centos下的ln
命令就至關於window下的創建快捷方式,連接文件甚至能夠連接不存在的文件,這就產生通常稱之爲」斷鏈」的現象,連接文件甚至能夠循環連接本身。 相似於編程語言中的遞歸。
軟連接文件只是其源文件的一個標記,當刪除了源文件後,連接文件不能獨立存在,雖然仍保留文件名,但卻不能查看軟連接文件的內容了。
ln -s 源文件 目標文件
ln -s /opt/soft/node-v8.9.0-linux-x64/bin/vuepress /usr/bin
-s 是代號(symbolic)的意思
參數
cp [選項] 源文件(source) 目標文件或者目錄(destination)
cp -f package.json ./backup
mv [選項] source destination
Linux free命令用於顯示內存狀態。
free指令會顯示內存的使用狀況,包括實體內存,虛擬的交換文件內存,共享內存區段,以及系統核心使用的緩衝區等。
語法
free [-bkmotV][-s <間隔秒數>]
參數說明:
-h 以合適的單位顯示內存使用狀況,最大爲三位數,自動計算對應的單位值。單位有:
B = bytes K = kilos M = megas G = gigas T = teras
Men:表示物理內存統計
Swap:表示硬盤上交換分區的使用狀況
total:表示物理內存總數(total=used+free)
used:表示系統分配給緩存使用的數量(這裏的緩存包括buffer和cache)
free:表示未分配的物理內存總數
shared:表示共享內存
buffers:系統分配但未被使用的buffers 數量。
cached:系統分配但未被使用的cache 數量。
-/+ buffers/cache:表示物理內存的緩存統計
(-buffers/cache) 內存數: (指的第一部分Mem行中的used – buffers – cached)
(+buffers/cache) 內存數: (指的第一部分Mem行中的free + buffers + cached)
(-buffers/cache)表示真正使用的內存數, (+buffers/cache) 表示真正未使用的內存數
vmstat(Virtual Meomory Statistics,虛擬內存統計)是對系統的總體狀況進行統計,包括內核進程、虛擬內存、磁盤、陷阱和 CPU 活動的統計信息。
經常使用命令
vmstat 2 2 【在2秒時間內進行2次採樣】
參數
Procs(進程):
Memory(內存):
Swap:
IO:(如今的Linux版本塊的大小爲1024bytes)
system(系統):
CPU(以百分比表示):
top命令能夠實時動態地查看系統的總體運行狀況,是一個綜合了多方信息監測系統性能和運行信息的實用工具
使用權限:全部使用者。
語法
top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]
參數說明:
mpstat是 Multiprocessor Statistics的縮寫,是實時系統監控工具。其報告與CPU的一些統計信息,這些信息存放在/proc/stat文件中。在多CPU系統裏,其不但能查看全部CPU的平均情況信息,並且可以查看特定CPU的信息。
經常使用命令
mpstat -P ALL 2 【ALL表示顯示全部CPUs,也能夠指定某個CPU;2表示刷新間隔】
參數
ps命令用於查看進程統計信息
經常使用參數:
最經常使用的方法是ps -aux,而後再利用一個管道符號導向到grep去查找特定的進程,而後再對特定的進程進行操做。
列說明:
| 符號,是個管道符號,表示ps 和 grep 命令同時執行;
grep 命令是查找(Global Regular Expression
Print),能使用正則表達式搜索文本,而後把匹配的行顯示出來;
查看進程的啓動時間:
ps -eo lstart 啓動時間
查看進程的運行時間
ps -eo etime 運行多長時間.
查看進程的pid、啓動時間、運行時間
ps -eo pid,lstart,etime | grep [ pid ]
以樹狀圖的方式展示進程之間的派生關
查找正在運行進程的PID
uptime:顯示系統總共運行了多長時間和系統的平均負載
pmap:比較專業的查看內存與進程對應關係工具
Linux du命令用於顯示目錄或文件的大小。
du會顯示指定的目錄或文件所佔用的磁盤空間。
參數說明:
ostat是一個用於收集顯示系統存儲設備輸入和輸出狀態統計的簡單工具。這個工具經常用來追蹤存儲設備的性能問題,其中存儲設備包括設備、本地磁盤,以及諸如使用NFS等的遠端磁盤。
經常使用命令:
iostat -x -k 2 100 # 2表示刷新間隔,100表示刷新次數
iostat主要是用來監控磁盤I/O,首先輸出了CPUs的平均數據(avg-cpu),咱們能夠看%iowait這一項,除此以外iostat還提供了一些更詳細的I/O狀態數據
參數
SAR是一個在Unix和Linux操做系統中用來收集、報告和保存CPU、內存、輸入輸出端口使用狀況的命令。SAR命令能夠動態產生報告,也能夠把報告保存在日誌文件中。
經常使用命令
sar -n DEV 3 100
參數
netstat命令通常用於檢驗本機各端口的網絡鏈接狀況,用於顯示與IP、TCP、UDP和ICMP協議相關的統計數據。
配置參數
經常使用命令
netstat -aup 【輸出全部UDP鏈接情況】
查看全部80端口的鏈接數 netstat -nat|grep -i 「80」|wc -l 對鏈接的IP按鏈接數量進行排序 netstat -anp | grep ‘tcp\|udp’ | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -n netstat -ntu | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -n netstat -ntu | awk ‘{print $5}’ | egrep -o 「[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}」 | sort | uniq -c | sort -nr 查看TCP鏈接狀態 netstat -nat |awk ‘{print $6}’|sort|uniq -c|sort -rn netstat -n | awk ‘/^tcp/ {print $NF}’|sort|uniq -c|sort -rn netstat -n | awk ‘/^tcp/ {++S[$NF]};END {for(a in S) print a, S[a]}’ netstat -n | awk ‘/^tcp/ {++state[$NF]}; END {for(key in state) print key,」\t」,state[key]}’ netstat -n | awk ‘/^tcp/ {++arr[$NF]};END {for(k in arr) print k,」\t」,arr[k]}’ netstat -ant | awk ‘{print $NF}’ | grep -v ‘[a-z]’ | sort | uniq -c 查看80端口鏈接數最多的20個IP cat /www/web_logs/wzfou.com_access.log|awk ‘{print $1}’|sort|uniq -c|sort -nr|head -100 tail -n 10000 /www/web_logs/wzfou.com_access.log|awk ‘{print $1}’|sort|uniq -c|sort -nr|head -100 cat /www/web_logs/wzfou.com_access.log|awk ‘{print $1}’|sort|uniq -c|sort -nr|head -100 netstat -anlp|grep 80|grep tcp|awk ‘{print $5}’|awk -F: ‘{print $1}’|sort|uniq -c|sort -nr|head -n20 netstat -ant |awk ‘/:80/{split($5,ip,」:」);++A[ip[1]]}END{for(i in A) print A,i}’ |sort -rn|head -n20 用tcpdump嗅探80端口的訪問看看誰最高 tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F」.」 ‘{print $1″.」$2″.」$3″.」$4}’ | sort | uniq -c | sort -nr |head -20 查找較多time_wait鏈接 netstat -n|grep TIME_WAIT|awk ‘{print $5}’|sort|uniq -c|sort -rn|head -n20 查找較多的SYN鏈接 netstat -an | grep SYN | awk ‘{print $5}’ | awk -F: ‘{print $1}’ | sort | uniq -c | sort -nr | more linux下實用iptables封ip段的一些常見命令: 封單個IP的命令是: iptables -I INPUT -s 211.1.0.0 -j DROP 封IP段的命令是: iptables -I INPUT -s 211.1.0.0/16 -j DROP iptables -I INPUT -s 211.2.0.0/16 -j DROP iptables -I INPUT -s 211.3.0.0/16 -j DROP 封整個段的命令是: iptables -I INPUT -s 211.0.0.0/8 -j DROP 封幾個段的命令是: iptables -I INPUT -s 61.37.80.0/24 -j DROP iptables -I INPUT -s 61.37.81.0/24 -j DROP
service network restart