history、重定向、alias

 shell介紹

簡單點理解,就是系統跟計算機硬件交互時使用的中間介質,它只是系統的一個工具。實際上,在shell和計算機硬件之間還有一層東西那就是系統內核了。打個比方,若是把計算機硬件比做一我的的軀體,而系統內核則是人的大腦,至於shell,把它比做人的五官彷佛更加貼切些。回到計算機上來,用戶直接面對的不是計算機硬件而是shell,用戶把指令告訴shell,而後shell再傳輸給系統內核,接着內核再去支配計算機硬件去執行各類操做。shell

 

Shell是一個命令解釋器,提供用戶和機器之間的交互,支持特定的語法,好比邏輯判斷、循環。每一個用戶均可以有本身特定的shell,CentOS7的默認shell爲bash(Bourne Agin Shell),常見的還有zsh(power-shell)、ksh(Korn shell)。bash

命令歷史(history)

語法: history [-c]
-c:=clear 清除內存中的命令,不能刪除配置文件中的歷史命令工具

顯示使用過的命令歷史,默認保存1000條使用過的命令(注:此令須要是在正常關機操做狀況下的處1000條命令)!spa

history環境變量

變量HISTSIZE

該變量決定命令歷史保存的命令的數目。內存

定義變量HISTSIZE

搜索關鍵字"HIST"找到‘HISTSIZE=1000’,在此更改其數字,保存退出,而後執行命令‘source /etc/profile’刷新該配置文件纔會生效。io

更改history顯示格式

直接爲‘HISTTIMEFORMAT’賦值便可,不過此時該格式只適用於當前終端。若是要其使用於全部用戶,則須要將其寫入history配置文件並刷新後生效。zsh

命令歷史永久保存

即,使命令歷史記錄只能寫入不能被刪除!變量

使用文件特殊權限,爲‘.bash_history’文件配置‘a’權限(只可追加,不可刪除),限於正常關機操做。配置

‘!!’命令

 

‘!’的用法:‘!n’(n表明數字),表示運行命令歷史中的第n條命令;‘!word’,表示運行上一次以該word開頭的命令。!! 連續兩個 `!', 表示執行上一條指令。file

eg:

命令補全和別名

命令補全Tab

按一次tab能夠補全一個命令或參數(須要安裝包bash-completion,並重啓系統);按兩次tab能夠顯示以某字母開頭的全部命令或文件名。

alias命令

語法: alias [命令別名]=[具體命令] 設置別名
取消別名:unalias [命令別名]

直接輸入alias會顯示系統全部的別名:

系統別名存放在配置文件‘~/.bashrc’和‘ls /etc/profile.d/’下:

通配符

通配符‘*’表明零個或多個任意字符

通配符‘?’表明一個任意字符

中括號‘[]’,「ls [0-9].txt」表示0-9區間內的任意.txt文件

花括號‘{}’,「ls {1,2,3}.txt」表示括號內任意.txt文件

輸入輸出重定向

輸入重定向用於改變命令的輸入,輸出重定向用於改變命令的輸出。

 

「>,>>,<,2>,2>>」
‘>’:輸出重定向
‘>>’:追加劇定向
‘2>’:錯誤重定向
‘<’:輸入重定向:右邊輸入到左邊

使用‘>’命令時會將文件內原有內容刪除:

應用

說明: 使用ls命令查看 {1,2}.txt aaaa.txt,1.txt和2.txt文件存在,可使用ls查看,aaaa.txt不存在,使用ls查看會報錯,‘> 1.txt 2> 3.txt’意思是將正確信息保存到1.txt,將錯誤信息保存到3.txt。

說明: 使用ls命令查看 {1,2}.txt aaaa.txt,1.txt和2.txt文件存在,可使用ls查看,aaaa.txt不存在,使用ls查看會報錯,&>’意思是將正確和錯誤信息保存到a.txt。

相關文章
相關標籤/搜索