1. 程式人生 > >Linux 進階筆記(二)

Linux 進階筆記(二)

這幾篇博文主要記錄博主的Linux 學習之路,用作以後回顧和參考。大家可以選擇略過也可以作參考。

Linux 服務管理

(一)服務的簡單介紹

服務的啟動與自啟動:
      服務啟動:就是在當前系統中讓服務執行,並提供功能
      服務自啟動:自啟動是指讓服務在系統開機或者重啟之後,隨著系統啟動而啟動的服務

chkconfig –list : ->檢視服務的自啟動狀態,可以看到所有rpm 包安裝的服務(注意不能檢視原始碼包安裝的服務)

(二)RPM 包服務管理

RPM 包預設安裝的服務分為獨立的服務和基於xinetd 的服務

RPM 包在安裝的時候一般不需要指定安裝的目錄,所以RPM 包和原始碼包在安裝後的主要區別就是安裝位置的不同,下面是一般情況下RPM 包安裝後文件所在的目錄:


RPM 包獨立服務的啟動命令:

/etc/init.d/[服務名] start |stop |status |restart
service [服務名] start |stop |status |restart : -> 需要注意這個命令是紅帽系列專屬

RPM 包獨立服務的自啟動命令:

chkconfig –level 2345 [獨立的服務名] [on |stop] : -> 可以通過chkconfig –list |grep [服務名] 檢視自啟動狀態
vi /etc/rc.local : -> 通過修改配置檔案的方式可以將需要自啟動或關閉的服務寫在該配置檔案中(與上面的方法相獨立)
ntsysv : ->

命令進入圖形化介面進行配置(紅帽系列專屬)

(三)原始碼包服務管理

原始碼包的啟動命令:

[絕對路徑] [start |stop] : ->比如啟動原始碼包http 服務:/usr/local//apache/bin/apachectl start

原始碼包的自啟動命令:

vi /etc/rc.local : -> 修改該配置檔案,比如新增/usr/local//apache/bin/apachectl start 資料就是自啟動http 服務

(四)總結

附一張腦圖:

Linux 系統管理

(一)程序管理

程序管理的作用:
      一:判斷伺服器的健康狀態
      二:檢視系統中的所有程序
      三:殺死程序

檢視程序相關命令:

ps aux : -> BSD 作業系統格式檢視系統中的所有程序
ps -le : -> 使用Linux 標準命令格式檢視系統中的所有程序
pstree -pu : -> 檢視所有程序,並顯示程序的PID 和程序的所屬使用者

以 “ps aux” 命令為例檢視程序輸出:下面內容是其中一部分輸出

[root@localhost ~]# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.4  0.1  19356  1580 ?        Ss   18:22   0:08 /sbin/init
root         2  0.0  0.0      0     0 ?        S    18:22   0:00 [kthreadd]
.................

各個欄位解釋:

檢視系統健康狀態:

top [選項]
選項:

  • -d [秒數] : -> 指定top 命令每隔幾秒重新整理一次,預設情況下是3秒
  • -b : -> 使用批處理模式輸出,一般和 ‘-n’結合使用
  • -n [次數] : -> 指定top 命令執行的次數

在執行top 命令後在互動模式下可以執行的命令:

? 或 p : -> 顯示互動模式的幫助
P : -> 以CPU 使用率進行排序,也是預設的排序
M : -> 以記憶體的使用率進行排序
N : -> 以PID 排序
q : -> 退出top 命令

殺死程序的命令:

kill -1 [程序id] : -> 重啟程序
kill -9 [程序id] : -> 殺死程序
killall [選項] [訊號] [程序名] : -> 按照程序名殺死程序
選項:

  • -i :互動式,詢問是否殺死某個程序
  • -I :忽略程序名的大小寫

pkill [選項] [訊號] [程序名] : -> 按照程序名殺死程序
pkill -t [訊號] [終端號] : -> 按照終端號踢出使用者

程序優先順序:
執行 “ps -le”命令系統中的所有程序,查出的內容如下:
這裡寫圖片描述
其中PRI (Priority)、NI(Nice)。這兩個值都是優先順序,數字越小代表該程序的優先順序越高。其中PRI 的值是不可修改的,NI 值可以修改。

nice 相關的命令:

nice -n [NI 值] [相關服務啟動命令] : -> 該命令只可以給新執行的服務賦予NI 值。比如: nice -n -5 service httpd start
renice [NI 值] [PID] : -> 修改已經存在的程序的NI 值,但是隻可以根據程序的PID 值修改

(二)工作管理

工作管理簡介:
      工作管理指的是在單個登入終端中同時管理多個工作的行為。

注意事項:
      一: 當前登入的終端,只能管理當前終端的工作
      二:放入後臺的命令必須是可以持續執行一段時間
      三:放入後臺執行的命令不能和前臺使用者有互動或者需要前臺輸入,否則放入後臺的工作只能暫停,而不能執行

相關命令:

[命令] & : -> 將命令放入後臺並執行,比如拷貝大檔案等
Ctrl + z : -> 在命令執行的時候會將程序放在後臺並暫停
jobs -l : -> 檢視後臺程序的工作號及PID 號
fg %[工作號] : -> 將後臺暫停的程序工作恢復到前臺執行
bg %[工作號] : ->將後臺暫停的程序工作恢復到後臺執行

可以通過下面幾種方法將後臺命令脫離當前終端:
      一:將後臺執行的命令加入 /etc/rc.local 配置檔案
      二:使用系統的定時任務,讓系統在指定的時間執行某個後臺命令
      三:使用nohup 命令

系統資源檢視:
一:執行“vmstat [重新整理延時] [重新整理次數]” 命令
這裡寫圖片描述

相關欄位解釋:



二:執行“dmesg | grep cpu]” 命令,檢視核心檢測資訊
三:執行“free [-b |-k |-m |-g]” 命令,檢視記憶體使用狀態
這裡寫圖片描述
相關欄位解釋:

四:執行“cat /proc/cpuinfo” 命令,檢視CPU 資訊
五:執行“uptime” 命令,檢視系統的啟動時間和平均負載,也就是執行“top”命令第一行所看到的資料。使用“w” 命令類似。
六:檢視系統與核心相關資訊

uname [選項]
選項:

  • -a : -> 檢視系統所有的相關資訊
  • -r : -> 檢視核心版本
  • -s : -> 檢視核心名稱

(三)系統定時任務

at 一次性定時任務

chkconfig –list | grep atd : -> 檢視at 服務是否啟動
service atd restart : -> 啟動at 服務
service atd status : -> 檢視at 服務的狀態


at命令:

at [時間] : -> 定時執行任務
atq : -> 查詢當前伺服器上的at 工作
at -c [工作號] : -> 檢視任務的具體內容

crontab 迴圈定時任務

chkconfig –list | grep crond : -> 檢視crontab 是否啟動
service crond status : -> 檢視 crontab 的執行狀態


crontab 相關命令:

crontab -e : -> 進入crontab 編輯頁面,開啟vim 編輯工作
crontab -l : -> 檢視root 使用者的crontab 任務
crontab -r : -> 刪除使用者定義的所有crontab 任務

“crontab -e”下vim 編輯任務的格式 : * * * * * [任務]

簡單的練習:

比如:“/1 * * * echo 666666 >> /root/crontest”表示每隔一分鐘向/root/crontest 檔案中輸出一句話。

執行系統定時任務的方法:

  • 手動執行定時任務,使用crontab 命令
  • 系統執行定時任務,將需要執行的定時任務指令碼複製到 /etc/cron.daily(例),對應的目錄中

anacron 相關

anacron 是用來保證在系統關機的時候錯過的定時任務,可以在開機之後再執行。