linux操作系統(tǒng)命令
mkdir
-p 若不存在目錄則創(chuàng)建
alias
-p 顯示當(dāng)前可用alias
用戶設(shè)置加載順序
/etc/profile
$HOME/.bash_profile
$HOME/.bashrc
$HOME/.bash_login
$HOME/.profile
文件共享
TO-DO
**
yum 處理損壞的依賴
yum clean all
yum delist package_name
vim查找替換
s/old/new/g 全文替換
shell操作
$?
命令執(zhí)行返回碼,0成功
case
case variables in
pattern1 | pattern2) command1;;
pattern3)command2;;
) default command;;
esac
IFS
換行符:IFS=$'\n'
循環(huán)
for item in $items
do
command
done
for((vaiable;condition;))
外部變量的引用
${}超過9以后
特殊變量
$#統(tǒng)計(jì)變量個數(shù)
$@打印所有變量(按照IFS切割后)
$打印所有變量(按照整體)
shift移動變量使$1->$0
選項(xiàng)·與參數(shù)的分割
--分割符
read
讀取用戶輸入
-p 指定變量
read -p "Enter:" val
不指定變量將存儲于REPLY中
-t num 指定超時時間
-nNum 指定輸入字符數(shù)
-s 隱藏輸入(顏色跟背景色一樣)
文件中讀取
cat file|while read line
do
echo $line
done
永久重定向
exec 1>file 所有的標(biāo)準(zhǔn)輸出都會輸入到file內(nèi)
臨時文件
mktemp -t file.xxxxxx 返回全路徑隨機(jī)數(shù)替換x
mktemp -d dir.xxxxxx 臨時目錄
tee
重定向輸出到文件跟STDOUT上
-a 追加
信號
1 -- SIGNUP -- 掛起
2 -- SIGINT -- 終止
3 -- SIGQUIT -- 停止
9 -- SIGKILL -- 無條件終止
15 -- SIGTERM -- 盡可能終止
17 -- SIGNSTOP -- 無條件停止進(jìn)程不是終止進(jìn)程
18 -- SIGTSTP -- 停止或暫停進(jìn)程,單不終止
19 -- SIGCONT -- 繼續(xù)運(yùn)行停止的進(jìn)程
CTRL+C 發(fā)送SIGINT信號
CTRL+Z 發(fā)送SIGTSTP
ps查看后臺進(jìn)程
tty->pts/0掛鉤
jobs
帶+的作業(yè)是默認(rèn)作業(yè),作業(yè)命令未指定作業(yè)號的情況下會被當(dāng)作默認(rèn)的控制對象,帶-號為預(yù)備默認(rèn)作業(yè),當(dāng)+好作業(yè)結(jié)束帶-號的就會變成+號作業(yè)只存在一個+號一個-號作業(yè)
-l 列出pid以及作業(yè)號
-p 只列出pid
-r 只列出運(yùn)行中的作業(yè)
-s 只列出停止的作業(yè)
bg
重啟后臺作業(yè)
fg
前臺模式重啟作業(yè)
作業(yè)優(yōu)先級
nice -n [-20 -> +19] (高->低)
普通用戶無法使用
renice 改變已運(yùn)行任務(wù)的優(yōu)先級
-p 指定進(jìn)程號
只有自己能調(diào)度自己程序的優(yōu)先級,root可以調(diào)度所有的
定時任務(wù)
at
at [-f filename] time
time 比較寬泛
-M 屏蔽輸出
ate 列出等待的作業(yè)
atrm 作業(yè)號 刪除作業(yè)
crontab
min hour dayofmonth month dayofweek(0-6) command
不指定用*替換
-l 任務(wù)表
-e 添加任務(wù)列表(vim語法)
高級腳本
語句的返回值用$?獲取
sed
d-->刪除 sed '尋址d'
I-->插入(指定行前插入) sed '尋址i\text
a-->附加(指定行后插入) sed '尋址a\text
c-->修改行 sed '尋址C
y-->轉(zhuǎn)換 sed 'y/inchar/outchar'
打印
p-->打印文本行 sed -n '尋址p' 只打印匹配行
=-->打印不可見字符以ascii字符顯示 sed
l-->列出行
w-->寫入文件 sed '尋址w file'
r-->讀出到數(shù)據(jù)流中 sed '尋址r file'
s-->替換sed 's/old/new/option'
option -- n 替換第n個匹配的字符 --g 全文替換 --p 打印匹配的 --w file 將匹配結(jié)果寫入文件
尋址方式
1.n,m sed 'n,mcommand/old/new/option'
m-->$ 表示匹配到末行
2.匹配 sed '/pattern/command/old/new/option'
gawk
gawk 'BEGIN { } {} END {}'
$0 -- 代表整個行
$n -- 代表第n個數(shù)據(jù)以IFS分割