標籤:進程管理 shell 指令碼迴圈
使用!來調用過往命令
!! 重複執行上一條指令
!a 重複執行上一條以a為首的指令
!nubmer 重複執行上一條在history表中記錄號碼為number的指令
!-number重複執行前第number條指令
ailas abc=‘cd xxxxxxxxxxx/xxxxxxxx/xxxxxxxxxxxxx‘
unalias abc
" "將一串字元當成字串來看,可以轉譯特殊字元
‘ ‘將一串字元當成字串來看,無法轉譯特殊字元
·能夠返回命令執行的結果
echo `uname -a`
數學運算
$[]在中括弧內的運算式會被數學計算
轉義符\
用於取消命令列中字元的特殊含義
用於表示一行結束
結束符;
子shell啟用命令()
邏輯運算子
&& 當前一條指令執行成功後再執行後一條指令
|| 當前一條指令執行失敗後再執行後一條指令
登陸shell
預設情況下,在shell下改變變數,umask,alias只在此次登陸中有效,一旦登出就會恢複預設值。想永久生效需要去改設定檔。
定製登陸shell
全域設定檔案 /etc/profile
/etc/bashrc
使用者佈建檔案~/.bashrc
~/.profile
source ./bash_profile 執行環境變數
ctrl d 輸入已結束。
系統監視
uname顯示系統資訊 uname -a
hostname 顯示主機名稱 hostname a將主機名稱改成a(臨時)如果想永久更改需更改設定檔/etc/sysconfig/network
last 列出最近登入的使用者列表
lastlog 列出使用者的最後登入時間和登入終端地址
free 檢查記憶體情況
top 工作管理員
進程
查詢進程的指令
ps 選項 ps -ef 列出當前系統所有的進程psaux
pstree 以樹狀的方式來顯示進程關係
控制進程
kill -訊號 檔案
kill -9 強制終止
pkill 進程名
kill sleep //相當於 ps -ef |grep sleep |awk|xargs|kill
killall httpd //殺死所有進程,殺死所有http進程
進程的優先順序,用nice值來表示
nice 以一個不懂的nice值來運行指令nice -nnum command
renice 改變一個運行進程的nice值
renice -n pid
nohup sh 在後台執行指令碼
ctrl z 將一個前台進程掛起
fg job號將檔案前台運行 bg job號 將檔案後台運行
/proc目錄
Shell Scripts指令碼
shell指令碼是一個包含shell指令的文字檔
shell及哦啊本支援變數與簡單的文法來完成批量的工作
shell指令碼支援的互動的方式,在執行時從標準輸入讀取資料
有的啦ing的系統工作都是通過shell指令碼的方式來完成,例如系統開機,服務控制。
編輯shell指令碼
一般用VI編輯指令碼。在指令碼中以#開頭表示該行被注釋。
指令碼的第一個字元如果是非# 表示是一個bash指令碼
指令碼的第一個字元如果是
在shell與shell指令碼中,我們允許自己定義變數並為他們賦值
文法變數名=值
export 變數名 變數變成環境變數
unset 取消變數定義
使用read將資料讀入
read username從標準輸入read -p"please xxxxxxx": u1
echo輸出
運行shell指令碼
sh 路徑/指令碼名
/路徑/指令碼名
./路徑/指令碼名
條件判斷
if 條件[ "$pass"= `hostname`];
then
elif 條件
then
else
動作
fi
case 運算式 in
匹配值1)
動作; ;
匹配值2)
動作;;
esac
for 變數 in 數組
do
動作
done
while 條件
do
動作
done
until 條件
do
動作
done
X window系統