shell的基礎(chǔ)
1.記錄命令歷史記錄
在家目錄的.bash_history上象缀,會保存1000條歷史命令
常用三個命令:
!!:執(zhí)行上一條指令
!n:執(zhí)行歷史中第n條指令,如!1002
!字符串:執(zhí)行歷史中最近的一次以該字符串開頭的命令
2.命令行補全:Tab鍵
3.別名: alias
單alias爷速,查看所有的別名
alias 別名='實際名'
unalias 別名
4.通配符
在bash下央星, *匹配零個或者多個字符,?匹配一個字符
touch創(chuàng)建文檔
5.輸入惫东、輸出重定向
符號>>與>
如echo >> 1.txt
6.管道符(重要)
| 用于前一個指令的輸入作為后一個指令的輸入莉给!
可能不太能理解,其實就是過濾的過程
7.作業(yè)控制
運行進程的時候凿蒜,crtl+z使進程暫停(ctrl+c取消進程)禁谦,然后使用fg(foreground)命令恢復(fù)。
在ctrl+z之后废封,可以使用命令jobs
來查看有哪些進程是暫停的州泊。
如果要把暫停的進程放在后臺運行,可以使用bg命令
但是有多個的時候漂洋,需要加上標號
&符號遥皂,使用&符號的時候力喷,會把任務(wù)放到后臺運行,并且會顯示pid的信息演训。
例如: vmstat 1 > /emp/1.log &
ps aux可以找到線程弟孟。
8.變量
符開頭的,如PATH
9.命令env
可以列出系統(tǒng)所有的變量
10.set命令
與env命令一樣样悟,會列出所有的變量
11.常用的環(huán)境變量文件
11.1 /etc/profile 重要的環(huán)境變量拂募,如PATH,USER等
11.2 /etc/bashrc 主要預(yù)設(shè)umask和PS1
11.3 .bash_profile
11.4 .bashrc 包含屬于自己的shell信息
11.5 .bash_history
11.6 .bash_logout
12.shell中的特殊符號
*代表多個,?代表一個字符窟她,#為注釋符號陈症,\為轉(zhuǎn)義字符。
管道符|震糖,一般針對文檔字符比較常用录肯,比如cat,less, head,tail,grep,cut,sort,wc,uniq,tee, tr, split,sed,awk等
其中g(shù)rep,sed,awk是正則必須掌握的
cut命令:截取一個字段
格式:cut -d '分隔字符' [-cf]n
-d:后跟分隔字符
-c:后接第幾個字符
-f:后跟第幾個區(qū)塊
sort命令:做排序
sort[-t 分隔符] [-kn1,n2] [-nru]
-t:分隔字符
-n:純數(shù)字排序
-r:反向排序
-u:表示去重
-kn1,n2:n1區(qū)間到n2區(qū)間
wc命令:統(tǒng)計文檔的行數(shù)、字符數(shù)或詞數(shù)
-l 行數(shù)
-m 字數(shù)
-w 次數(shù)
uniq命令:
刪除重復(fù)的行吊说,-c表示統(tǒng)計重復(fù)的行數(shù)
tee命令:作用類似于重定向>论咏,但是把文件寫入的時候還打印在屏幕上
tr命令:用于替換字符
-d:表示刪除某個字符
-s:刪除重復(fù)的字符
tr 'a' 'A' 替換
split命令:用于切割文檔,常用的是-b和-l颁井;
-b:分割文檔的大小厅贪,
-l:根據(jù)行數(shù)分割
特殊符號可以作為變量的開始,也可以和!結(jié)合使用雅宾,!$表示上一條命令中的最后一個變量
特殊符號;
一行中輸入多個命令卦溢,使用分號;
特殊符號~
波浪符~表示家目錄,root用戶的家目錄是:/root,普通用戶是/home/username
特殊符號&
把一條命令放到后臺執(zhí)行秀又,使用&
如:sleep 30 &
重定向>, >>, 2>, 2>>
將錯誤信息重定向到文檔中,使用2>或者2>>
如:ls aaa 2>/temp/error
中括號[]
內(nèi)容是字符組合贬芥,代表字符中的任何一個吐辙,也可以是一個范圍
如 ls -d test[1-9].txt
&&與||
command1 ; command2 不管1執(zhí)行成功不,都執(zhí)行2
command1 && command2 1執(zhí)行成功后蘸劈,才執(zhí)行2
command1 || command2 1執(zhí)行成功了就不執(zhí)行2