Linux學習筆記(二十三)shell介紹、history命令歷史、命令補全和別名、通配符、
阿新 • • 發佈:2018-03-08
alias shell 歷史命令 通配符 一、shell介紹
參數補全,安裝bash-completion
- shell是一個命令解釋器,提供用戶和機器之間的交互
- 支持特定語法,比如邏輯判斷、循環
- 每個用戶都可以有自己特定的shell
- CentOS7默認shell為bash(Bourne Agin Shell)
- 還有zsh、ksh等、
二、history - history命令
是最近輸入過的命令歷史,當前輸入的命令會放在內存當中,只有每次正常退出終端,命令歷史才會寫入history文件中 - .bash_history
命令歷史存放的文件echo $HISTSIZE
命令歷史最大存放1000條
這個設置可以在
/etc/profile中修改vim etc/profile
如果想讓歷史表中顯示歷史命令的時間可以用以下命令
單獨執行時只在當前命令窗口生效
想要永久生效的話就將命令加入/etc/profile 環境變量vim /etc/profile source !$ //使環境變量生效
如果希望history文件永久保存chattr +a ~/.bash_history
這時候文件只能追加不能刪除,無視1000條限制
!!
執行上一條命令
!n
執行歷史命令中第n條命令
!word
執行命令歷史中最後一條Word命令,這裏Word可以更換為任意命令
三、命令補全和別名
tab鍵,敲一下,敲兩下
敲一下會自動補全命令。如果有多個開頭相同的命令,則需要敲兩下從列表中選擇
yum install -y bash-completion
安裝後需要重啟生效
alias別名給命令重新起個名字
alias restartnet=‘systemctl restart network.service‘
各用戶都有自己配置別名的文件 ~/.bashrc
這個文件有很少的幾個默認alias
/etc/profile.d/ 目錄下存放一些其他的別名
ls /etc/profile.d/
自定義的alias放到~/.bashrc
取消別名用unalias 四、通配符
ls *.txt //列出所有的txt文件 ls ?.txt //列出文件名是一個字符的txt文件 ls [0-9].txt //列出文件名是1-9的txt文件 ls [13].txt //列出文件名是1或者3的txt文件 ls {1,2}.txt //列出文件名為1的txt文件和文件名為2.txt文件,如果有其中一個不存在,會提示
五、輸入輸出重定向
cat 1.txt >2.txt //將前面命令的輸出輸入到後面的文件中(覆蓋2.txt內容)
cat 1.txt >> 2.txt //將前面命令的輸出追加輸入到後面的文件中(在2.txt中追加)
ls aaa.txt 2>err //將前面命令的錯誤信息輸入到後面的文件(覆蓋)
ls aaa.txt 2>>err //將前面命令的錯誤信息追加輸入到後面的文件(不覆蓋)
ls {1,6}.txt &>999.txt //將正確和錯誤信息都輸入到後面文件中
ls {1,6}.txt >999.txt 2>66.txt //將正確信息輸入999.txt,錯誤信息輸入66.txt
wc -l < 1.txt //輸出右邊文件的文件行數(左邊需要是命令,不可以是文件)
Linux學習筆記(二十三)shell介紹、history命令歷史、命令補全和別名、通配符、