linux shell 學習摘記(9)
《linux shell 指令碼程式設計攻略 (第2版)》 第九章 “管理重任” 筆記
常用命令:
ps
,which
,whatis
,whereis
,file
,pgrep
,apropos
,top
,kill
,trap
,mesg
,hostname
,uname
,/proc
,crontab
, imagemagick, mysql 指令碼, 使用者管理指令碼, 影像管理指令碼
ps
ps
,ps -f
,ps -e
,ps aux
,ps -eo comm,cpu | head
- 顯示所需要的資訊
-o
引數, 如pcup, pid, ppid, pmen, comm(可執行檔名), cmd, user, nice, time, etime(程式啟動後流逝的時間), tty, euid(所關聯的tty裝置), stat --sort
根據特定的列進行排序, 如ps -eo comm,pcpu --sort -pcpu |head
列出佔用cpu最多的前10個程式。ps [OPTIONS] --sort -parameter1,+parameter2,parameter3
其中+表示降序,—表示升序。(mac terminal.app 無此功能)ps -C bash -o pid=
直接列印出命令所對應的pidps -u root -U root -o user,pcpu
根據使用者id等資訊過濾ps輸出ps -t pts/0,pts/1
通過tty過濾ps輸出- 顯示執行緒相關的資訊
-L
, 如ps -eLf --sort -nlwp | head
, 其中NLWP表示執行緒的數量,WLP是ps輸出中每個條目的執行緒ID ps -ef
,ps -e u
,ps -e w
鬆寬輸出- 顯示程式的環境變數
ps -eo pid,cmd e | tail -n 3
which ls
,whereis ls
,file /bin/ls
,whatis ls
apropos STRING
搜尋和某個單詞相關的命令是否存在(whatis database)檢視平均負載
uptime
分別表示1分鐘,5分鐘, 15分鐘內的負載平均值根據字串搜尋
pgrep bas -d ":"
,pgrep -u root COMMAND
,pgrep -c COMMND
top
訊號:
kill
用來向系統傳送訊號;trap
用來處理接收到的訊號kill -l
kill -s SIGNAL PID
,kill -s SIGKILL PROCESSID
等同於kill -9 PROCESSID
,kill -s SIGSTP PROCESSID
等同於Ctrl+Zkillall PROCESSNAME
通過程式命令名終止程式 ,killall -u UERNAME PROCESSNAME
,killall -9 PROCESSNAME
pkill PROCESSNAME
,pkill -s SINGAL PROCESSNAME
trap 'singal_handler_function_name' SINGALLIST
此處有指令碼
向所有當前的登陸使用者傳送廣播訊息
echo hello | wall
mesg y
允許寫入訊息,mesg n
不允許寫入訊息向特定使用者傳送訊息 此處有指令碼
採集系統資訊
hostname
,uname
,cat /proc/cpuinfo | sed -n 5p
,cat /proc/meminfo | head -;
,cat /proc/partition
或者fdiks -l
,lshw
(不一定有)- proc is a pseudo filesystem. 對應的目錄下有各個程式的PID, 進一步的有environ(程式相關的環境變數), cwd(一個到程式工作目錄的符號連結), exe(程式所對應的可執行檔案的連結)
readlink exe
, fd包含程式所使用的檔案描述符
cron
crontab -e
,crontab -l
,crontab -u
每個使用者對應有自己的crontab
bash讀寫mysql資料庫指令碼
使用者管理指令碼
convert 影像處理
convert image.png -resize "50%" image.png
,convert image.ong -resize 1024x768 image.png
- 影像管理指令碼
終端截圖
import -window root screenshot.png
,import screenshot.png
管理多個終端
screen
相關文章
- 【Linux學習筆記29】shell指令碼基礎Linux筆記指令碼
- shell學習筆記筆記
- Linux學習之(shell展開)Linux
- Linux學習-shell基礎02Linux
- Linux命令和shell指令碼學習Linux指令碼
- linux shell陣列深入學習理解Linux陣列
- 前端學習 linux —— shell 程式設計前端Linux程式設計
- POSIX-shell學習筆記筆記
- WPF學習日記9
- 什麼是shell指令碼?Linux為什麼學習shell?指令碼Linux
- Linux學習之路(三)Shell指令碼初探Linux指令碼
- 【學習】Linux Shell指令碼程式設計Linux指令碼程式設計
- shell指令碼學習筆記-1指令碼筆記
- 如何學習shell程式設計?Linux運維學習shell程式設計是什麼程式設計Linux運維
- Java JDK 9學習筆記JavaJDK筆記
- linux學習day3——shell指令碼上Linux指令碼
- linux學習day4——shell指令碼中Linux指令碼
- MongoDB 學習筆記之常用 shell 命令MongoDB筆記
- shell學習
- Linux 學習筆記Linux筆記
- Linux運維要了解哪些shell技能?Linux學習入門Linux運維
- Flutter學習筆記(9)--元件WidgetFlutter筆記元件
- markdown使用摘記
- Linux 學習筆記--程式Linux筆記
- shell程式設計學習筆記(二):Shell中變數的使用程式設計筆記變數
- 學習Shell 教程
- Linux基礎學習-Docker學習筆記LinuxDocker筆記
- 2020-9-23Java學習記錄Java
- 機器學習框架ML.NET學習筆記【9】自動學習機器學習框架筆記
- progit摘錄筆記Git筆記
- 【精通比特幣】摘記比特幣
- 強化學習-學習筆記9 | Multi-Step-TD-Target強化學習筆記
- Linux學習/TCP程式設計學習筆記LinuxTCP程式設計筆記
- linux學習筆記---一些命令學習Linux筆記
- 【Linux學習筆記】reboot命令Linux筆記boot
- Linux 學習筆記--程式管理Linux筆記
- Shell學習【運算子】
- Shell學習【test命令】
- Shell 變數學習變數