1. 程式人生 > >Linux學習筆記(23)

Linux學習筆記(23)

23

一、shell 基礎

shell是個命令解釋器,提供用戶和機器之間的交互

每個用戶都可以擁有自己特定的shell

centos7默認Shell為bash(Bourne Agin shell)

除了bash,還有zsh.ksh等


二、命令歷史

敲過的命令在/root/.bash_history裏儲存著,最多可以儲存1000條。

可以用history命令查看

history -c 可以清除內存裏,history裏的命令歷史,但是不能清除配置文件/root/.bash_history裏的命令

echo $HISTSIZE 查看環境變量,查看最多可以儲存多少命令。

/etc/profile 裏面可以改變環境變量

source /etc/profile 刷新profile文件,使環境變量立即生效


HISTTIMEFORMAT="%Y%m%d %H:%M:%S" 使history臨時顯示歷史命令的輸入時間

若想一直生效,在/etc/profile中加入 HISTTIMEFORMAT="%Y%m%d %H:%M:%S"一行

source /etc/profile 刷新一個profile文件即可


永久保存/root/.bash_history 不想被別人破壞或刪除

chattr + a /root/.bash_history 給這個用戶加入a權限


如果不正常退出,用exit或者logout。則歷史命令保存的不全



!! 執行最後一條命令

!n n表示數字。執行哪一條歷史命令

!命令 執行最後一次輸入的指定命令


三、命令補全即別名

tab鍵,如果只有一個開頭,按一下自動補全。如果是兩個以上,按兩下則自動補全


yum install -y bash-completion 下載一個自動補齊參數的包(需要從新啟動生效)


alisa別名

alisa 查看系統內所有的alisa命令

alisa+別名=‘命令‘ 創建alisa別名

unalisa+別名 取消自己創建的alisa別名


四、通配符

* 不分字符和個數

? 一個任意的字符

[] 裏面可以寫一個範圍。例如0-3或者123,13只顯示1和3.

{} 相當於方括號的13,但是中間要加 ,


五、輸入輸出重定向

> 把前面命令的輸出直接出入到後面的文件中,覆蓋後面文件原有的內容

cat 1.txt > 2.txt

>> 把前面命令的輸出追加到後面的文件中

cat 1.txt >> 2.txt


2> 錯誤重定向

2>> 錯誤追加重定向

&> = > 和 2>

&>> = >> 和 2>>

寫shell腳本時,可以把錯誤和正確的分開,以檢查腳本


Linux學習筆記(23)