【Linux系列】【基礎版】第三章 Shell基礎知識

3. Shell基礎知識     3.1 Shell的由來         3.1.1 Bourne Agin Shell         3.1.2 其他的shell, 有 zsh, ksh等     3.2 查看有沒有shell         3.2.1 yum list | grep zsh         3.2.2 ls /root/.bash_history         3.2.3 echo $HISTSIZE -> vi /etc/profile 修改HISTSIZE的值 -> source /etc/profile         3.2.4 history -c //清空命令歷史(內存中的)         3.2.5 HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S"         3.2.6 vi /etc/profile         3.2.7 chattr +a ~/.bash_history  //只能被追加,不會被刪除         3.2.8 !!  //最後一條命令;  !n  //     !words //     3.3 安裝參數補全源         3.3.1 yum install -y bash-completion //安裝參數補全源後需要重啓電腦(reboot)才生效         3.3.2 systemctl restart network.service //重啓網絡服務         3.3.3 rpm -qa bash-completion      3.4 alias 配置文件         3.4.1 vi .bashre //alias的配置文件(一部分)         3.4.2 cd /etc/profile.d/  //alias其他的一部分配置文件         3.4.3 Tab鍵:              3.4.3.1 按一下匹配命令和參數             3.4.3.2 按兩下顯示匹配信息供選擇     3.5 通配符         3.5.1 * 匹配所有字符 ls *.txt         3.5.2 ? 匹配一個字符 ls ?.txt         3.5.3 ls [0-9].txt         3.5.4 ls {1,2}.txt         3.5.5 重定向 cat 1.txt > 2.txt         3.5.6 追加重定向 cat 1.txt >> 2.txt         3.5.7 錯誤重定向 lsaaa 2> a.txt          3.5.8 追加錯誤重定向 lsaaa 2>> a.txt         3.5.9 wc -l < 1.txt //輸入重定向,wc -l查看文本行數;左邊需要是命令         3.5.10 ls [12].txt aaa.txt &> a.txt  //&> 爲正確錯誤重定向         3.5.11 ls [12].txt aaa.txt >1.txt 2>a.txt  //將正確的和錯誤的區分開     3.6 管道符和作業控制         3.6.1 cat 1.txt | wc -l         3.6.2 cat 1.txt | grep 'aaa'         3.6.3 ctrl + z //暫停一個任務         3.6.4 df -h //查看磁盤使用量         3.6.5 fg //前臺frontGround             3.6.5.1 fg IDNumber         3.6.6 jobs //查看後臺或已停止的任務         3.6.7 bg //後臺background             3.6.7.1 bg IDNumber         3.6.8 vmstate 1  //動態的顯示系統狀態         3.6.9 sleep 100 //暫停100秒             3.6.9.1 sleep 100 & //把命令放到後臺運行             3.6.9.2 ps aux| grep sleep   //查看進程          3.7 shell變量         3.7.1 env //查看系統的環境變量         3.7.2 set 命令             3.7.2.1 set |grep 111  //查找111             3.7.2.2 set 命令包含了很多變量,並且包含用戶自定義的變量             3.7.2.3 a=111  //自定義變量             3.7.2.4 set 用來顯示本地變量,env 用來顯示環境變量, export 用來顯示和設置環境變量         3.7.3 export 全局變量             3.7.3.1 export aming=linux             3.7.3.2 echo $aming             3.7.3.3 bash  //進入子bash             3.7.3.4 echo $aming              3.7.3.5 unset aming //取消環境變量          3.8 環境變量的配置文件         3.8.1 系統層次的             3.8.1.1 /etc/profile  用戶環境變量,交互,登錄時才執行             3.8.1.2 /etc/bashrc  用戶不用登錄,執行shell就失效         3.8.2 系統層次的             3.8.2.1 ~/.bashrc             3.8.2.2 ~/.bash_profile             3.8.2.3 ~/.bash_history              3.8.2.4 ~/.bash_logout         3.8.3 PS1變量             3.8.3.1 PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;36m\]\w\[\033[00m\]\$'             3.8.3.2 a='a$bc'             3.8.3.3 a=a"$b"c             3.8.3.4 . .bash_profile  和  source .bash_profile,  此處.和source都是加載使生效的作用             3.8.3.5 [登錄的用戶@主機名-所在的目錄(最後的層級)]             3.8.3.6 PS1='' //修改PS1             3.8.3.7 echo $PS1  //打印PS1的值        3.8.4 登錄的用戶@主機名-所在的目錄(最後的層級)        3.8.5 特殊字符            3.8.5.1 *  //任意個任意字符            3.8.5.2 ? //任意一個字符            3.8.5.3 #  //註釋            3.8.5.4 \  //脫義字符   e.g.  c=\$a\$b  ehco c            3.8.5.5 |  //管道字符                   3.9 cut 和 sort命令         3.9.1 cat /etc/passwd |head -2 |cut -d ":" -f 1-3  //-d表示分割;-f表示段         3.9.2 cut -d//分隔符; -f//指定段號; -c//指定第幾個字符         3.9.3 sort -n//以數字排序(字母認爲是0); -r//反序; -t//分隔符 -kn1/-kn1,n2          3.10 wc ,uniq, split 和 tee 命令         3.10.1 wc -l //統計行數; wc -m//統計字符數; wc -w//統計詞         3.10.2 cat -A 1.txt  //輸出行中假設爲123$, 其中$代表換行符         3.10.3 uniq 去重(需要先排序) uniq -c//統計行數             3.10.3.1 sort 1.txt |uniq -c         3.10.4 split -b//按字節爲單位進行切割   split -l//按行數進行切割         3.10.5 LC_ALL=C  //爲了去除所有本地化的設置,讓命令正確的執行         3.10.6 tee 重定向,並把之前的結果打印在屏幕上             3.10.6.1 sort 1.txt |uniq -c |tee a.txt              3.10.6.2 tee -a //表示追加              3.10.6.3 >a.txt  //清空a.txt         3.10.7 tr替換字符             3.10.7.1 echo "aminglinux" |tr '[al]' '[AL]'         3.11 一些特殊字符             3.11.1 $ 變量前綴   !$ 表示取前一次執行的命令             3.11.2 ;多條命令寫到一行,用分號分割             3.11.3 ~ 用戶家目錄,正則中表示匹配符             3.11.4 &放到命令後面,會把命令丟到後臺             3.11.5 >重定向   >>追加重定向   2>錯誤重定向   2>>追加錯誤重定向   &>將錯誤的和正確的全部重定向到一個文件中             3.11.6 [] 指定一個字符中的一個             3.11.7 || 或者  && 並且             3.11.8 [-d aminglinux] || mkdir aminglinux    //-d判斷是否是一個目錄且是否存在
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章