五周第三次課 8.1 shell介紹 8.2 命令歷史 8.3 命令補全和別名 8.4 通配符 8.
8.2 命令歷史
8.3 命令補全和別名
8.4 通配符
8.5 輸入輸出重定向
8.1 shell介紹
shell是一個命令解釋器,提供用戶和機器之間的交互
支持特定語法,比如邏輯判斷、循環(if for whell)
每個用戶都可以有自己特定的shell
CentOS7默認shell為bash(Bourne Agin Shell)
還有zsh、ksh等yum list |grep zsh 搜索yum 中是否有zsh
# yum list |grep ksh
8.2 命令歷史
shell的屬性 特性
我們輸入的命令可以用向上的方向鍵來查看歷史命令 ,這些歷史命令存儲在用戶的家目錄下1. # ls /root/.bash_history 歷史命令保存在用戶家目錄的.bash_history文件中
2. # history 查看存儲了多少命令history -c 清空內存裏面的命令歷史 ,並不會刪除配置文件.bash_history中的歷史命令
這個文件裏最大存儲為1000條命令
1000條命令是由系統自帶的環境變量決定的
3. # echo $HISTSIZE 環境變量HISTSIZE 決定了歷史命令的保存數量
我們剛敲過的命令暫時是存在內存裏面的,不會保存在歷史命令文件中,只有退出終端後 才會保存在歷史命令文件中
4.變量HISTSIZE 去哪裏更改呢? 在 /etc/profile 中更改
HISTSIZE=1000
5. # source /etc/profile 更改數量之後需要運行這個命令才會使我們更改的配置文件生效
6. # HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S " 定義格式 會記錄日期和時間
Y--年份 m--月份 d--日期 H--小時 M--分鐘 S--秒
如何更改命令格式的具體步驟哦~~~~
如果讓記錄時間和日期的歷史命令生效需要把這個命令放在 ---- # vi /etc/profile 中然後------把 # HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S " 放在HISTSIZE 下----- # source /etc/profile---重新打開終端--# echo $ HISTTIMEFORMAT---# history
讓命令歷史永久保存 我們可以給它增加一個隱藏的權限
7. # chattr +a ~/.bash_history 永久保存
給.bash_history加一個a權限,不能刪除,可以追加
只有當用戶正常退出當前shell時,在當前shell中運行的命令才會保存至.bash_history文件中
正常退出 輸入 exit 或者 logout 可以正常退出 如果直接關閉服務器我們輸出的歷史命令是不會保存的
8.# !! :連續兩個!表示執行上一條命令(輸入的最後一個命令)!n n代表數字 運行第n條命令
# !echo: !echo表示執行命令歷史中最近一次以echo開頭的命令(從下往上找)
8.3 命令補全和別名
補全
1. tab鍵
不僅可以補全命令 也可以補全路徑(命令開頭 如果多的話要按兩下,)
2.# yum install -y bash-completion 參數補全需要安裝bash-completion
安裝完包之後 還需要重啟一下電腦 參數補全才可以生效reboot 重啟
別名
1.alias 給命令重新起個名字
alias 別名=‘原本命令‘ 給命令更改別名
# unalias 別名 取消自定義的別名
alias 查詢alias 用法
2.配置別名的文件在什麽地方 第一個在用戶的家目錄下 # .bashrc 還有一些是在 /etc/profile.d/
五周第三次課 8.1 shell介紹 8.2 命令歷史 8.3 命令補全和別名 8.4 通配符 8.