TAB補全html
還有zsh、ksh、等 linux
history -c 清空內存中的記錄
echo $HISTSIZE 系統的history環境變量正則表達式
vi /etc/profile history 配置文件
HISTSIZE=100000 能夠改大
source /etc/profile 當即生效
HISTTIMEFORMAT="%Y%m%d - %H:%M:%S"
修改history格式 年月日 時分秒shell
如若使其永久生效必須寫進配置文件中 /etc/profile
和HISTSIZE 放一塊兒bash
永久保存 chattr +a /.bash_history
若是不正常退出,歷史命令就會保存不完整ide
!! :重複上條命令 !n : 重複執行第n號條命令 !echo : 倒敘(從下往上)找第一個echo 的命令執行一遍
tab 鍵 補全 敲一下補全命令 敲兩下補全目錄以及其餘命令
CentOS 6之前 不支持參數補全
CentOS 7之後都支持
安裝多一個包yum -y install bash-completion
alias 別名給命令從新起名字
各用戶都有本身配置別名的文件 /root/.bashrc
ls /etc/profile.d/
自定義的alias 放到 /root/.bashrc 還有 /etc/profile.d 下面ui
元字符.net
`*` 前一個字符匹配0次到任意屢次(星號前一個字符不起做用) ? 表示一個任意的字符 { } 表示範圍內的 或的關係 . 匹配除了換行符外任意一個字符 ^ 匹配行首 $ 匹配行尾 [ ] 匹配中括號指定的任意一個字符,只匹配一個字符 列如[0-9]匹配任意一位數字,[a-z][0-9]匹配小寫字母和一位數字構成的兩位字符 [^] 匹配除了中括號的字符之外的任意一個字符。取非的結果 列如[^0-9]匹配任意一位非數字字符。 \ 轉義符,用於取消特殊符號的含義 \{n\} 表示前面的字符剛好出現n次。 列如:[0-9]\{4\} 匹配4位數字。 [1][3-8][0-9]\{9\}匹配手機號碼 \{n,\} 表示前面的字符出現不小於n 次。 列如[0-9]\{2,\} 表示兩位及以上的數字 \{n,m\} 表示前面的字符出現至少n次,最多m次。 列如 :[a-z]\{6,8\}匹配6-8位的小寫字母
">" 把正確輸出的結果 重定向 到定義的文件中 以覆蓋的方式 ">>" 把輸正確出的結果 重定向 到定義的文件中 尾部追加 "2>" 把命令產生的錯誤信息 輸出到文件中去 以覆蓋的方式 "2>>" 把命令產生的錯誤信息 輸出到文件中去 追加劇定向 "2>&1" 把正確和錯誤的信息都追加到文件裏去 "<" 輸入重定向 wc -l < 1.txt 將文件計數
把前面命令的結果傳給後面的命令執行code
; : 命令1;命令2 多個命令順序執行,命令之間沒有任何的邏輯關係 && : 命令1 &&命令2 邏輯與 || : 命令1 || 命令2 邏輯或 * ls && echo yes || echo on
ctrl + z 中止信號放入後臺 jobs 列出中止的任務 fg +工做號 將任務放前臺 bg +工做號 將任務放後臺 sleep 休眠 命令 & 放入後臺運行
nohup 用途:不掛斷地運行命令。 語法:nohup Command `[ Arg … ] [ & ]` 不管是否將 nohup 命令的輸出重定向到終端,輸出都將附加到當前目錄的 nohup.out 文件中。 若是當前目錄的 nohup.out 文件不可寫,輸出重定向到 $HOME/nohup.out 文件中。 若是沒有文件能建立或打開以用於追加,那麼 Command 參數指定的命令不可調用。 退出狀態:該命令返回下列出口值: 126 能夠查找但不能調用 Command 參數指定的命令。 127 nohup 命令發生錯誤或不能查找由 Command 參數指定的命令。 不然,nohup 命令的退出狀態是 Command 參數指定命令的退出狀態。
PATH 、HOME 、PWD、 LOGNAMNE 系統變量 通常都是大寫字母 env 查看環境變量命令 set 查看系統全部變量命令 多了不少變量,而且包括用戶自定義的變量 set -u :調用未聲明變量是會報錯 unset 刪除變量 環境變量:全局變量 用戶自定義變量: 局部變量、本地變量 自定義變量 a=1 變量名規則:能夠是字母、數字下劃線,首位不能爲數字 變量值有特殊符號時須要用單引號括起來 單引號 ‘ 中間不識別變量’ 雙引號「中間可識別變量」 echo $SSH_TTY 顯示本身所在的終端、 pstree 進程樹
全局變量 export b=2 export 定義全局變量 向下的全局變量 環境變量 環境變量配置文件 系統級別的 /etc/profile 用戶環境變量,交互,登陸才執行 /etc/bashrc 用戶不用登陸,執行shell就生效 /etc目錄下的文件,會對全部用戶起做用,對登陸起 /etc/.bashrc /etc/profile /etc/.bash_profile.d/*.sh 家目錄文件下,只會對當前用戶起做用 /root/.bash_profile /root/.bashrc /root/.bash_history /root/.bash_logout 用戶退出作的操做 ~ 表示用戶家目錄 PS1=`'\[\033[01;32m\][\u@\h\[\033[00m\]\[\033[01;36m\] \W\[\033[01;00m\]]\$' source <=>.`
`*` 任意個任意字符 ? 任意一個字符 `#` 註釋字符 \ 脫義字符 | 管道符
cut 分割 -d 分隔符 -f 指定斷號 -c 指定第幾個字符 sort 排序 -n 以數字排序 (字母和符號默認爲0) -r 反排序 -t 分割符 -kn1/-kn1,n2 wc -l 統計 行數 -m 統計字符數 -w 統計詞 以空格爲分隔符 cat -A 查看全部包括隱藏符 uniq 去重複 (先排序再去重複) -c 統計重複行數 tee 和 > 相似 , 重定向的同時還在屏幕顯示 tee -a 追加 至關於 '>>' tr 替換字符 (針對字符操做) tr'a' 'b',大小寫替換tr '[a-z]' '[A-Z]' split 切割 -b 大小(默認單位字節) -l 行數
1. $ 變量前綴 !$組合 正則裏面表示行尾 2. ; 多條命令寫到一行去,用分號分割 3. ~用戶家目錄,後面正則表達式表示匹配符 4. &放到命令後面,會把命令放置後臺 5. `>` , >> , (正確重定向)2> , 2>>(錯誤重定向) , &> 正確錯誤重定向 6. [ ] 指定字符中的一個,[0-9],[a-zA-Z],[abc] 7. || 和 && 與或 邏輯關係,用於命令之間
source exec 區別 http://alsww.blog.51cto.com/2001924/1113112server
Linux特殊符號大全 http://ask.apelearn.com/question/7720
-eq -> '=' 等於 -ne -> '≠' 不等於 -gt -> '>' 大於 -lt -> '<' 小於 -ge -> '≥' 大於等於 -le -> '≤' 小於等於
-z 字符串 -> 是否爲空 -n 字符串 -> 是否爲非空 字符串 == 字符串 -> 字符串是否相同,相等 字符串 !=字符串 -> 字符串是否不相等
條件1 -a 條件2 -> 相與,都成立則爲0 條件1 -o 條件2 -> 香或,有一個成立則爲0 ! 條件 -> 非,與原來相反
-r file 用戶可讀爲真 -w file 用戶可寫爲真 -x file 用戶可執行爲真 -f file 文件爲正規文件爲真 -d file 文件爲目錄爲真 -c file 文件爲字符特殊文件爲真 -b file 文件爲塊特殊文件爲真 -s file 文件大小非0時爲真 -t file 當文件描述符(默認爲1)指定的設備爲終端時爲真
文件1 -nt 文件2
判斷文件1的修改時間是否比文件2的 新 (若是新,則爲真。修改時間)
文件1 -ot 文件2
判斷文件1的修改時間是否比文件2的 舊 (若是舊,則爲真。修改時間)
文件1 -ef 文件2
判斷文件1是否和文件2的 iNode號一致,能夠理解爲兩個文件是否爲同一文件。(這個判斷做用於判斷硬連接是很好的方法)