天天看點

Linux Shell 腳本攻略 ---- 第九章 管理重任p

9.1 收集程序資訊

    1 程序是程式的運作執行個體,運作在一台計算機中的多個程序各自配置設定了一個稱為程序ID的唯一辨別數字

    2 同一個程式的多個執行個體可以同時運作,但是他們的程序ID卻互不相同

    3 一個程序包括多種屬性,例如擁有該程序的使用者,程序使用的記憶體數量,程序占用的CPU等

    4 ps是收集程序資訊的重要工具,它提供了資訊包括:擁有程序的使用者,程序的起始時間,程序所對應的指令行路徑,程序ID,程序所屬的終端,程序使用的記憶體,程序占用的CPU

    5 top對應系統管理者來說是一個極為重要的指令,top指令預設輸出一個占用cpu最多的程序清單

    6 借助ps指令可以找到指令名稱對應的程序ID: ps -C command_name

9.2 殺死程序以及發送或響應信号

    1 在類UNIX環境中與程序相關的一個重要的概念就是信号,信号是一種程序間的通信機制,它用來中斷運作的程序以執行某些操作

    2 列出所有可用的信号: kill -l

    3 終止一個程序: kill process_id   // kill指令預設發出一個term信号

    4 我們最經常用打的信号具體如下所示:

       SIGHUP 1 ---- 對控制程序或終端進行挂起檢測

       SIGINT 2 ---- 當按下Ctrl+C時發送該信号

       SIGKILL 9 ---- 用于強行殺死程序

       SIGTERM 15 ---- 預設用于終止程序

       SIGTSTP 20 ---- 當按下Ctrl+Z時發送該信号

     5 強行殺死程序

        kill -s SIGKILL process_id   或  kill -9 process_id

     6 killall指令通過指令名終止程序: killall process_name

        killall強行殺死程序: killall -9 process_name

9.3 which/whereis/file/whatis平均負載

     1 which指令用來找出某個可執行程式的位置

     2 我們在終端輸入指令的時候無需知道對應的可執行檔案位于何處,終端會在一組位置中查找這個指令,如果可以找到,那麼就執行該可執行檔案,這一組位置由環境變量PATH指定

     3 我們可以導出并添加我們自己的指令搜尋位置: export PATH=$PATH:/home/chenguolin/bin  //這個指令把/home/chenguolin/bin 添加到環境變量PATH

     4 whereis指令不僅傳回指令的路徑,還能夠列印處其對應的指令手冊的位置以及指令源代碼的路徑

        例如: wheris ls

     5 file指令是一個用來确定檔案類型的指令

        file FILENAME  //指令會列印出檔案FILENAME的類型

     6 whatis指令會輸出作為參數的指令的簡短描述資訊: whatis ls

9.4 向使用者終端發送資訊

     1 wall指令用來向所有目前登入使用者的終端寫入消息,它可以将這消息傳遞給一台伺服器中所有目前登入使用者或是多台分散主機中的使用者

     2 向終端中的所有的目前登入使用者發送消息: echo "hello" | wall   // 這個指令會向所有的登入使用者發送"hello",wall指令是接收來自标準輸入的資料

9.5 收集系統資訊

     1 列印目前系統的主機名: hostname  或 uname -n

     2 列印Linux核心版本,硬體結構等詳細資訊: uname -a

     3 列印核心發行版本: uname -r

     4 列印主機類型: uname -m

     5 列印CPU的相關資訊: cat /proc/cpuinfo

     6 列印記憶體的詳細資訊: cat /proc/meninfo

     7 列出系統的分區資訊: cat /proc/partitions 或 fdisk -l

9.6 使用者管理

     1 useradd

        useradd指令可以用來建立新使用者,指令文法圖如下: useradd USER -p PASSWORD

        選項-m用來建立home目錄,也可以提供-c FULLNAME提供使用者的全名

     2 deluser 

        deluser指令用來删除使用者,指令文法如下: deluser user

        --remove-all-files用來删除與使用者相關的所有檔案,包括home目錄

     3 chsh指令用來修改使用者的預設shell,指令文法: chsh USER -s shell

     4 passwd

        passwd指令用來修改使用者密碼,文法如下: passwd USER

     5 addgroup

        addgroup指令會為系統添加一個新的使用者組,指令文法如下: addgroup GROUP

     6 delgroup

        delgroup指令會删除一個使用者組,指令文法如下: delgroup GROUP

9.7 圖像檔案的批量縮放及格式轉換

     1 convert指令是一個用來出來圖像檔案的指令

     2 将一種圖像格式轉換為另一種圖像格式: convert file1.jpg file2.png

     3 指定縮放比例或輸出圖像的寬度和高度和将圖像進行調整: convert image.png -resize 1024x768 image.png

     4 指定百分比縮放: convert image.png -resize "50%" image.png

繼續閱讀