課程內容#
uptime 系統運行時長和平均負載#
-
用來監測系統開機多久了、有幾個用戶登陸著、運行狀態 (負載)
-
學會用 --help 查看命令幫助
w 用戶列表及運行的任務#
-
當系統很卡時,可以看看當前進程正在執行的命令
who 顯示當前登錄用戶信息#
-
有點像精簡的 w
-
當 --help 信息過多時,學會使用 tldr
-
-q 查看所有登陸用戶及數量
-
-H 顯示頭
whoami、who am i 當前有效 / 真實的用戶名#
-
sudo -i 用超級用戶權限啟動默認 Shell
-
who i am = who am i
-
who am i 其實屬於 who 命令,am i 是參數
last 用戶最近登錄信息#
應用:查出最近登錄最頻繁的三個用戶
-
清洗空行【"^$"】、按空格切割再取第 1 列、按字典序 [即 ASCII 碼序] 排序、計數、按數字排倒序
-
cut -c 10-15:按字符切,取某一列對應第 10-15 個字符
【延伸】詞頻統計(a.log 為 man 手冊的 ls、man、stdio、scanf 內容)
-
tr 字符替換命令
- -c 反向替換
- -s 壓縮連續的重複字符
uname 系統信息#
- uname -a 很完整的系統信息 [機器一上手先用這條命令]
date 顯示或設置系統時間與日期#
-
可以自定義字符串格式,注意大小寫自行嘗試即可
-
[PS] NTP—— 網絡時間協議,通過時區同步時間
- 來自維基百科,分佈式結構類似 DNS,但它是單向聯繫的
- 應用:銀行系統、網購
- 時間服務器配置見 /etc/ntp.conf
- 時區可查看 /usr/share/zoneinfo
- 修改時區可通過 ln -sf [軟連接強制覆蓋] 命令,將 /etc/localtime 連接到時區
- 举例:sudo ln -sf /usr/share/zoneinfo/Asia/ 城市 /etc/localtime
附加知識點#
- cal 顯示日曆
- echo -e 可以讓反斜杠 \ 生效
- 如 echo -e "\033 [32m123\033 [0m456" 輸出顏色,這類似 printf
- $[] 只做整數計算
思考點#
Tips#
- 縮寫可能代表
- -h:help、human、header(w -h)
- -p:pretty
- shell 腳本裡空格是敏感的
- 在 Shell 裡定義的變量是在進程裡的,退出 Shell [或斷開 SSH 連接] 變量就消失了
- wget 可以下載文檔數據