history:默認1000條記錄
!$:表示上一次命令的最後的參數
!!:表示上一條命令
!數字:運行命令歷史裏面第數字條命令
!命令:表示運行最近一次的命令,(和!後面的一樣)
alias:別名
主要是用於簡化操作
unalias:可以取消別名
通配符:
*:表示可以匹配零個或多個字符
[]:表示裏面的一個字符
?:表示匹配一個任意字符
重定向:
>>:追加
>:覆蓋
清空一個文件:>filename
2>:表示錯誤信息重定向(覆蓋)
2>>:表示錯誤信息重定向(追加)
如果所有的信息都追加到一個文件:
eg:ssh *.sh >> champly.log 2>> champly.log
xargs:可以把輸出的東西轉化成一行
使用ctrl + z可以把任務掛起,使用jobs可以查看後臺任務,fg可以調出後臺的程序到前臺
jobs:可以看任務的號
fg+ 數字可以調出具體的後臺,如果不加,就是上一次,也就是最後一次調入後臺的
bg+ 數字:可以把任務調入後臺運行
ctrl + c:終止任務運行
系統自定義的變量偶是大寫的
自定義變量:
eg:champly=1
echo$champly
env:可以看系統環境變量(可以列出全局的變量export申明的變量)
set:可以看到系統環境變量和用戶自定義的變量
查看自定義的變量
自定義的變量:
數字、字母、下劃線、$(數字不能開頭)
字符串類型的:
單引號:強引用(不識別關鍵字)
雙引號:弱引用(識別關鍵字)
反引號:引用結果
字符串的疊加:
如果有特殊符號就是用單引號:
使用unset可以取消變量:
全局配置:
/etc/profile:
/etc/bashrc:
私有配置:
~/.bashrc:打開一個shell執行的文件
~/bash_profile:會在用戶登錄的時候執行
測試:
修改文件:
結果:
通過/etc/profile可以看見umask的值:
PS1表示的意思:
記住,$後面有一個空格,要修改的話不要忘記了
在shell中. 表示source,點後面必須有空格,表示生效的意思
~/.bash_history:命令歷史的文件
~/bash_logout:系統退出的時候運行的文件
shell中的特殊字符:
*:表示可以匹配零個或多個字符
?:表示匹配一個任意字符
#:表示註釋
$:用來標記一個變量
;:表示多個命令寫在一行
~:表示家
&:可以把一個任務放入後臺,也可以連接兩個命令
[]:表示裏面的符號選以一個
cut:分隔符:
cut -d ’:’ -f 1 /etc/passwd:
cut -c 1-3 /etc/passwd:
sort:排序(按照ASCII排序的)
sort -t ‘:’ -k 3 /etc/passwd(3表示給第幾段排序)加上 –n就是按照數字排序
wc filename:可以統計文件信息
-l:判斷一個文件有多少行
uniq -c:可以顯示重複的行
tee可以重定向:
cat 1.txt | tee 2.txt:可以把1.txt的內容重定向到2.txt並打印前面的命令
tr:可以替換字符
eg:ls | tr 'a-z' 'A-Z'
split:可以分割多個文件
-b:可以按照文件的大小來分割文件
eg:split -l 2000 1.txt
可以自定義名字:可以在最後面添加名字
可以統一的修改文件名:
ls champly* | xargs -i mv {} {}.txt
&&:表示兩個命令都執行
||:表示或(這兩個和c語言中的是一樣的執行順序)
2015年4月8日
by:champly