Linux學習筆記(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)