常用系列就是記錄自己編程常用的東西,此文為常用系列第 1 篇,用於記錄自己日常開發編程時常用的 Linux 命令,以便需要時查找。
查看目錄#
ls#
tree#
展示當前目錄的文件結構
修改文件權限#
查看文件內容#
more#
less#
tail#
管道相關#
wc#
grep#
xargs#
xargs 能夠將輸入數據轉化為特定命令的命令行參數;這樣,可以配合很多命令來組合使用。比如
grep
,find
;
cut#
用於從每行中刪除部分內容
查找文件#
locate#
按照路徑名查找文件,查找的範圍在 /var/lib/mlocate/ 這個數據庫中,存儲在內存中,每天更新一次,所以無法用 locate 搜索新建的文件,可以使用 updatedb 來立即更新數據庫。
系統如果沒有自帶
locate
命令,可以使用yum install mlocate -y
安裝,安裝結束執行updatedb
命令
find 命令#
以文件名查找文件
sed 文本替換#
sed 一般用於對文本內容做替換,操作時是逐行操作
sed 的基本工作方式是:
- 將文件以行為單位讀取到內存(這個內存也叫模式空間)
- 使用 sed 的每個腳本對該行進行操作
- 處理完成後輸出該行
格式
sed ‘操作命令’ 一個或多個文件
Bash 鍵盤技巧#
归档与备份#
gzip#
壓縮單個或多個文件
gunzip#
解壓文件
zip#
壓縮和歸檔成 .zip 文件
unzip#
解壓 .zip 的文件
tar#
歸檔多個文件或目錄
查看磁碟空間#
查詢進程#
ps#
top#
lsof#
其他#
終止進程#
分析線程棧#
使用命令 pmap,來輸出進程內存的狀況,可以用來分析線程堆棧;
性能監控#
監控 CPU#
查詢內存#
查詢端口占用#
查詢頁面交換#
查看頁面交換發生狀況 頁面發生交換時,伺服器的吞吐量會大幅下降;伺服器狀況不良時,如果懷疑因為內存不足而導致了頁面交換的發生,可以使用 sar -W 這個命令來確認是否發生了大量的交換;
綜合應用#
當系統中 sar 不可用時,可以使用以下工具替代:linux 下有 vmstat、Unix 系統有 prstat
eg: 查看 cpu、內存、使用情況: vmstat n m (n 為監控頻率、m 為監控次數)
使用 watch 工具監控變化 當需要持續的監控應用的某個數據變化時,watch 工具能滿足要求; 執行 watch 命令後,會進入到一個界面,輸出當前被監控的數據,一旦數據變化,便會高亮顯示變化情況;
eg:操作 redis 時,監控內存變化:
ping#
向指定的主機發送 ICMP 數據包,用於確認與主機的網絡連接。發送的時間間隔為 1 s,用 Ctrl + C 中斷發送,正常網絡會顯示 0% 的分組丟失率
traceroute#
會列出網絡從本地到注定主機經過的所有跳數
ip#
是一個多功能的網絡配置工具,用於檢查系統的網絡接口和路由表
- 會顯示多個網絡接口,常見接口:
- lo:環回接口,是一個虛擬接口,系統用於 “和自己對話”
- eth0: 以太網接口
- 接口第一行如果含有
UP
字樣,表明該接口已啟用 - 第 3 行 inet 字段為該網絡接口的 IP 地址
netstat#
用於檢查各種網路設置和統計信息,需安裝
net-tools yum install net-tools
ssh#
用於本地主機與遠程主機進行通信