1. 程式人生 > >bash指令碼程式設計 筆記

bash指令碼程式設計 筆記

  • ls: -r遞迴,-s按照大小,-t按照修改時間
  • cat,tac: -n行號,-b非空行號,-s壓縮空行
  • chattr:修改檔案屬性:+i永遠不變,-u不可刪除,-c自動壓縮
  • ln:-s穿越檔案系統建立連結
  • man,info:infoman詳細
  • find ~/ -name 'core*' exec rm {} \;刪除所有coredump
  • badname = 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