read命令的用法:linux
read 選項 變量 #read實現的做用是將從鍵入的字符串賦值給變量shell
-p 在鍵入命令以前先顯示一段字符vim
-t 等待用戶輸入的超時時間數組
-a 將鍵入的數據賦值給數組bash
變量的拓展:ide
$?:用於存放最後一次命令執行的返回值,將每一個變量做爲一個字段添加分隔符ui
$*:用於引用全部變量的參數,將全部的字段看做爲一個字段加入分隔符spa
$@:用於引用全部變量的參數
$#:顯示命令項腳本傳入參數的個數
$0:顯示腳本的當前名字以及路徑orm
$$:查看自身命令的進程
$!:查看最後一次執行在後臺的進程號
$_:引用最後一次執行完畢的結果
進程
腳本退出命令exit
exit + 返回值 #從腳本退出並將返回值設定爲後跟的數
一個簡單的用於腳本生成的腳本:
文件名 nsh
1 #!/bin/bash
2 #
3 ls $1 &> /dev/null && vim $1
4 ls $1 &> /dev/null ||cat> $1 <<EOF
5 #!/bin/bash
6 #:Title:
7 #:Synopsis:
8 #:DateTime:`date +"%F %T"`
9 #:Version:Unknow
10 #:Author: redhat_hu
11 #:Option:None
12
13 EOF
14 vim +8 $1
15 chmod +x $1
使用方法:nsh 腳本名
說明:
1. shbang行
2. 判斷新建的腳本名是否存在,若存在,則使用vim打開此文件
3. 若不存在,則向其中導入4~11行內容
4. 導入後使用vim打開新腳本,並將光標定位在新腳本的第八行
5. 新腳本退出vim後賦予可執行權限
linux進程管理:
進程:是計算機分配系統資源的基本單位
linux中進程優先級分爲:靜態優先級 100~139(可人爲控制),動態優先級 0~99(有kernel控制)。(優先級越小則越高)
對靜態有限的控制由nice值來實現,nice取值範圍-20~19與靜態優先級100~139一一對應,進程啓動默認nice爲0,給出讓出cpu使用權的進程,nice值上升,優先級降低。
進程查看相關命令:
ps命令
ps option
-e 顯示全部進程
-a 顯示與終端無關的進程
-x 顯示與終端有關的進程
-u 顯示進程的發起者
-o 自定義顯示哪些字段
經常使用ps aux
top option以動態的形式顯示當前進程的數據
-b batch mode以文本的方式顯示進程數據
-d delay time動態的刷新時間
-n 顯示次數
pgrep option processname
無選項默認輸出進程pid
-u 查看進程發起者的uid
-g 查看進程發起者的gid
pidof processname
查看某進程的進程號
pstree 顯示全部進程的進程樹
-p 顯示pid
與進程顯示相關的字段
PID:進程號
PPID:父進程號(全部進程都有init進程派生)
TTY:標示進程與哪一個終端相關
STAT:進程的狀態
D:不可中斷的睡眠狀態,例如I/O操做中
R:運行/就緒態
S:可中斷的睡眠態
T:stop中止態
Z:殭屍態(進程結束可是還沒有釋放資源)
一、 當前進程處於結束中,其父進程正在爲其清理佔用資源
二、 子進程結束時發現父進程在其以前結束,沒法清理釋放佔用資源
TIME:進程得到CPU的時間
COMMAND:進程的發起命令
%CPU:進程的cpu佔用率
%MEN:進程的內存佔用率
VSZ:進程在虛擬內存集中的佔用大小
RSS:進程在物理內存集中的佔用大小
進程間通訊機制:IPC主要分爲共享內存和信號量的進程間發送。
信號量控制命令kill
kill option SIG pid
-l 查看全部的信號量
信號量:
1:SIGHUP 若進程是服務發送此信號量重載配置文件
2:SIGINT 結束當前做業ctrl+c
9:SIGKILL 強行殺死進程
15:SIGKTERM 結束進程,讓進程自行關閉
18:SIGCONT 將中止的進程繼續
19:SIGSTOP 將運行進程中止
killall 進程名
殺死全部與進程名相關的進程
nice值的修改
nice命令啓動進程時制定nice值
nice –n 數值 命令 設定命令運行時初始值
renice 數值 進程號 設定運行中的進程nice值
做業控制:
做業分爲前臺做業和後臺做業,以是否佔用shell來區分。
將命令啓動即放入後臺執行:
命令 &
nohup命令能夠實現關閉終端後命令仍執行
前臺、後臺切換
ctrl+z 將當前做業送入後臺並中止
fg 做業號 #將做業從後臺調入前臺
bg 做業號 #將前臺做業調入後臺並運行,將後臺做業從中止轉爲運行
kill %做業號 #殺死做業 (默認15)
free顯示內存信息(默認以K爲單位)
-m 以兆爲單位顯示
uptime顯示啓動時間以及平均負載
vmstat 時間(秒) 顯示內存信息,按秒數刷新