bash指令碼程式設計 筆記
阿新 • • 發佈:2019-01-24
- ls:
-r
遞迴,-s
按照大小,-t
按照修改時間 - cat,tac:
-n
行號,-b
非空行號,-s
壓縮空行 - chattr:修改檔案屬性:
+i
永遠不變,-u
不可刪除,-c
自動壓縮 - ln:
-s
穿越檔案系統建立連結 man
,info
:info
比man
詳細find ~/ -name 'core*' exec rm {} \;
刪除所有coredumpbadname = echo "$filename" | sed -n '/[+(;"\=?~{}<>&$|$]/p';rm $badname 2 >/dev/null
錯誤資訊被拋棄- xargs:分成小塊處理
ls |xargs -p -1 gzip
- date:
+%N
十億分之一表示當前時間,+%j
今天是本年度第幾天,+%k%M
小時數顯示,`–date=’6 days ago’ - touch:修改檔案被訪問時間
- sort,uniq:對於檔案操作,sort -nr產生一個數字反轉序列:
sort | uniq -c | sort -nr
- cut:從檔案中提取特定域,
-d
欄位定界符,-f
域分隔符 - paste:將多個檔案以麼個檔案一列的方式合併到一個檔案當中
- grep: grep pattern [file..]: 如果沒有指定引數,預設為stdout,
-i
忽略大小寫,-w
匹配整個單詞,-r
遞迴,-n
列出行號 - wc:word count
- tr: 字元轉換過濾器:
tr "A-Z" "*" <filename
- host: 通過名稱/IP地址找到DNS
- ipcalc:顯示主機IP
- traceroute:跟蹤包發到遠端主機中的路由資訊
- uucp:斷點續傳的unix2unix傳輸(uux執行,cu終端連結)
- telnet:連結遠端主機的工具協議
- wget:使用非互動形式從web/ftp下載資料
- rlogin,rsh,rcp,rsync:遠端登陸,遠端shell,遠端拷貝,遠端同步
- scp:安全拷貝,使用ssh類似的安全層
- factor:正數質因數分解
- who:列出當前所有登陸使用者,
- w:使用者和它們的程序
- logname/whoami: 當前使用者的使用者名稱
- tty:當前終端的名字,stty 顯示並修改終端設定
- setterm:設定特定終端的屬性:
setterm -bold on
,setterm -cursor off
- uname:系統資訊
- arch: 系統硬體體系結構
- lsof:列出開啟的檔案資訊,包括宿主,尺寸和相關資訊
- strace/ltrace:系統跟蹤/庫跟蹤
- nmap:網路對映和埠掃描
- free:顯示記憶體和快取的使用情況
- lsdev:列出系統裝置(顯示所有安裝的硬體)
- du:遞迴的顯示磁碟檔案的使用情況
- df:列表形式顯示檔案系統的使用情況
- stat:檔案的詳細資訊
- vmstat:虛擬記憶體的使用資訊
- hostname:顯示系統的主機名字
- size:2進位制可執行檔案或歸檔檔案每部分的尺寸
- logger:系統日誌,存在
/var/log/message
- pgrep,pkill:ps+grep/kill
- top:顯示CPU佔有率最高的程序
- nice:修改後臺作業的優先順序,只有root能設為負數
- halt,shutdown,reboot:系統關機命令,比電源關機優先順序高
- ifconfig:網路介面配置除錯工具
- iwconfig:ifconfig的無線版本
- chkconfig:檢查網路配置
- sync:強制清空磁碟讀寫buff
- badlocks:檢查磁碟的空塊
- dump/restore:對於原始磁碟使用二進位制形式寫備份檔案
- ulimit -f:系統資源的使用上限,-c為coredump的尺寸
- quota/setquota:使用者的磁碟配額
0<&-
,1>&-
關閉輸入輸出:exec 4<&0; exec > $1
;exec 7>&1; exec >$2