Linux下常用命令

2021-08-20 04:18:16 字數 4813 閱讀 3715

基礎操作

#建立使用者名稱xiaoming  將密碼設定為123456

useradd -ou 0 xiaoming -g 0

echo '123456' | passwd --stdin xiaoming

#記憶體資源過大手動釋放

sync

echo 3 >/proc/sys/vm/drop_caches

# 檔案操作

# 檢視資料夾個數

ls -l|grep "^d"| wc -l

# 檢視當前檔案數量

ls -l|grep "^-"| wc -l

檔案設定許可權防止誤刪

# 新增許可權防止誤刪

chattr +i authorized_keys

# 去掉許可權防止誤刪

chattr -i authorized_keys

磁碟容量

df -lh

filesystem 容量 已用 可用 已用% 掛載點

/dev/hda8 11g 6.0g 4.4g 58% /

/dev/shm 236m 0 236m 0% /dev/shm

/dev/sda1 56g 22g 35g 39% /mnt/sda1

#當前分割槽情況檢視

fdisk -l

#顯示scsi硬碟的每個分割槽情況

fdisk -lu

#檢視當前檔案目錄

ls -lht

#大檔案檢視

sudo du -h --max-depth=1|grep g

#檢視opt檔案有多少大於1g的

find /opt -type f -size +1g

記憶體檢視

# 檢視剩餘可用記憶體情況(m)

free -m

# 檢視記憶體消耗前5的程序

ps auxw | head -1;ps auxw|sort -rn -k4|head -5

# 記憶體釋放

sync

echo 3 >/proc/sys/vm/drop_caches

redis操作

#redis集群連線

redis-cli -h 192.168.1.2 -p 7001 -c --raw

#單例項連線

redis-cli -h 192.168.1.2 -p 7001 -c --raw

#查詢集群單例項所有keys為「hellowork」值的

./redis-cli -h 192.168.1.2 -p 7001 -c --scan --pattern "hellowork:*" | wc -l

#刪除集群單例項所有keys為「hellowork」值的

redis-cli -h 192.168.1.2 -p 7001 -c --scan --pattern "hellowork:*" | xargs -n 1 redis-cli -h 192.168.1.2 -p 7001 del

# redis 批量刪除(一次刪除5000)

redis-cli -h 192.168.1.2 -p 8443 -a test --scan --pattern "guids*" | xargs -l 5000 redis-cli -h 192.168.1.2 -p 8443 -a test del

# 查詢所有key

scan 0 match * count 2741099

# 所有key匯出

echo "scan 0 match * count 2741099" | redis-cli -h 127.0.0.1 -p 8598 >1.txt

軟連線

#軟連線檢視

ls -li

#軟連線切換

ln -sfn newaddress linkname

#建立軟連線

ln -s /data/kafka /kafka

檔案類操作

# 切割檔案從第1行-174929行 原始檔userinfo_13.txt 寫入到userinfo_01.txt

sed -n '1,174929p' userinfo_13.txt > userinfo_01.txt

# error.2019-08-01.log 日誌中重複的數字將寫到 lance444.txt 檔案中

awk 'a[$0]++' error.2019-08-01.log >> lance444.txt

dstat 命令  

--total-cpu-usage---- cpu使用率

usr:使用者空間的程式所佔百分比;

sys:系統空間程式所佔百分比;

idel:空閒百分比;

wai:等待磁碟i/o所消耗的百分比;

hiq:硬中斷次數;

siq:軟中斷次數;

--dsk/total-------- 磁碟統計

read:讀總數

writ:寫總數

--net/total--------- 網路統計

recv:網路收包總數

send:網路發包總數

---paging------- 記憶體分頁統計

in: pagein(換入)

out:page out(換出)

--system-------- 系統資訊

int:中斷次數

csw:上下文切換

注:中斷(int)和上下文切換(csw)。這項統計僅在有比較基線時才有意義。這一欄中較高的統計值通常表示大量的程序造成擁塞,需要對cpu進行關注。你的伺服器一般情況下都會執行執行一些程式,所以這項總是顯示一些數值。

### 常用引數組合

dstat --disk-util :顯示某一時間磁碟的忙碌狀況

dstat --freespace :顯示當前磁碟空間使用率

dstat --proc-count :顯示正在執行的程式數量

dstat --top-bio :指出塊i/o最大的程序

dstat --top-cpu :圖形化顯示cpu占用最大的程序

dstat --top-io :顯示正常i/o最大的程序

dstat --top-mem :顯示占用最多記憶體的程序

# 記憶體top統計

dstat -g -l -m -s --top-mem

# cpu top 統計

dstat -c -y -l --proc-count --top-cpu

儲存類問題定位

# 磁碟出現瓶頸檢視當前目錄下各個資料夾大小

du -h --max-depth=1

# 檢視某個資料夾下超過1g大小檔案

sudo find /workspace -type f -size +1g

# 快速生成指定大小檔案

dd if=/dev/zero of=test bs=1m count=20000

網路類問題定位

tpc層面問題定位

# tpc 連線數檢視

netstat -n | awk '/^tcp/ end '

網路類問題監控

### 每個程序的頻寬使用

nethogs

### 每個套接字連線的頻寬使用

iftop

埠類問題定位

# 根據埠號反推程序號

lsof -i :8080

netstat -antup |grep 8080

控制代碼數類問題監控

### 統計各程序開啟控制代碼數

lsof -n|awk ''|sort|uniq -c|sort -nr

### 統計各使用者開啟控制代碼數

lsof -n|awk ''|sort|uniq -c|sort -nr

### 統計各命令開啟控制代碼數

lsof -n|awk ''|sort|uniq -c|sort -nr

### 單個程序開啟的控制代碼數 grep 後面跟pid (不推薦使用)

lsof -n|awk ''|sort|uniq -c|sort -nr|more|grep 22229

問題分析:

1、開啟檔案未釋放

2、開啟管道未釋放

3、建立網路連線未釋放(pipe,eventpoll多出現在 nio 網路程式設計未釋放資源 —— selector.close())

4、建立程序呼叫命令未釋放(runtime.exe(...) 得到的 process, inputstream, outputstream 未關閉,這也會導致 pipe,eventpoll 未釋放)

5、mina庫使用nio時未使用connector.dispose();

6、netty3庫使用nio時未使用bootstrap.shutdown() 或bootstrap.releaseexternalresources();

netty4使用nio時未使用 eventloopgroup.shutdowngracefully();

### 服務端啟動

iperf3 -s

### 客戶端啟動

iperf3 -c 192.168.131.254 -i1 -t 1200

linux 下常用命令

linux 下根據內容查詢檔案 同時包含 keyword1 和 keyword2 的檔案 find name type f print xargs grep keyword1 grep keyword2 linux下根據程序名稱殺死程序 ps ef grep 程序名 grep v grep cut ...

linux下常用命令

1 程序顯示命令 顯示所有的程序 ps a 顯示所有的程序詳細資訊 ps al 顯示終端中的資訊 ps a 動態顯示程序資訊 top 以樹狀形式顯示程序資訊 pstree less 退出用q 顯示更詳細的資訊 ps aux或者ps ef 備註 後台程式不受終端退出影響,前台程式則要隨著終端退出而退出...

Linux下常用命令

linux下的命令實在太多,光靠找男人有時候一點都不好使,還是記一下好!一 壓縮與解壓縮命令 使用gzip程式壓縮 tar xvfz tar.gz c 使用gzip程式解壓到 目錄 tar cvfj tar.bz2 jpg 使用bzip2程式壓縮 tar xvfj tar.bz2 c 使用bzip2...