[RHCE033]unit6使用bash shell

一、什麼是shell
shell就是提供人機交互的一個界面。
什麼是bash shell
bash shell是一種比較流行的shell。/etc/shells文件中可以看到我們計算機中的shell集合。
一般用戶和root用戶登陸以後默認都是使用bash shell但是系統用戶使用的是nologin Shell。
二、通配符:
*----匹配0個或多個字符串
?---匹配有且只有一個單一字符
實例:
touch abc.txt
touch ab1.txt
touch ab.txt
rm -rf ab*.txt
最終結果是創建的3個文件都被刪除了。因爲*代表0個或多個字符。
touch abc.txt
touch ab1.txt
touch ab.txt
rm -rf ab?.txt
最終結果是隻有ab.txt沒有被刪除。空字符沒被匹配上。
所以*和?的區別是*可以匹配空字符而?不能匹配空字符。
[0-9]:包含了所有的數字(表示一個範圍)
[abc]:表示匹配列表中一個單一的字符
實例:
touch abcd.txt
touch abd.txt
touch abc.txt
rm -rf ab[cd].txt
最終結果是隻有abcd.txt不會刪掉,因爲[cd]只能對應一個單一的字符。
[^abc]:表示匹配除了列表中的字符以外的單一字符。
三、快捷鍵
Tab用於補齊命令名和文件名。
歷史記錄功能:history命令用於顯示歷史敲過的命令。默認保存1000條歷史命令。超過1000條就把前面的命令覆蓋掉。vim /etc/profile用於修改歷史命令默認保存條目數。修改該文件的HISTSIZE=1000後面的1000即可。歷史記錄保存在/home下的.bash_history文件中。只有當用戶登出的時候纔會將歷史記錄寫入此文件,不登出則是存在於內存中。每個用戶都是獨立的歷史記錄文件。-c參數是用於清除當前用戶的歷史記錄。!+歷史命令可以快速的使用以前使用過的命令。或者!+命令編號也可以快速的使用以前使用過的命令。crtl+r進行反向歷史查找。alt+.用於快速調用前面的歷史記錄。!$用於輸入前次輸入的參數。
~:代表用戶的home目錄。cd ~redhat可以直接進入用戶redhat的home目錄。
$()或``(注意是~對應的`不是單引號):用於調用命令執行的結果。
實例:
echo "This system's name (hostname)"
顯示的結果是:This system's name (hostname)
echo "This system's name $(hostname)"
顯示的結果是:This system's name station17.example.com
{}:取括號中所有的值。
實例:
touch {a,b,c}{1,2,3}.{txt,pl}
最終結果是建立多個文件:
a1.txt a1.pl a2.txt a2.pl a3.txt a3.pl b1.txt b1.pl b2.txt b2.pl b3.txt b3.pl c1.txt c1.pl c2.txt c2.pl c3.txt c3.pl
四、bash的變量
定義變量:HI=Hello,HI爲變量的名稱,Hello爲變量的值。名稱和值都可以自定義(這種變量稱之爲本地變量,只在當前有效,切換用戶以後就不生效了。)
查詢變量:echo $HI即可
變量有三種:本地變量、環境變量(對於所有用戶都有效)、全局變量(可以影響整個系統的全局)
五、命令行下的快捷鍵
ctrl+a(home):將光標移至行首
ctrl+e(end):將光標移至行尾
ctrl+u:將刪除光標前所有的內容
ctrl+k:將刪除光標後所有的內容
ctrl+箭頭:將光盤向左或向右移動一個字符串
ctrl+shift+c:複製
ctrl+shift+v:粘貼
六、腳本基礎
創建shell腳本:
第一步:創建一個包含命令的文本文件
註釋:用於告訴別人這個腳本是用作什麼的以及內容的含義。
#.....就是註釋
第二步:chmod u+x myscript.sh用於加上執行權限
第三步:執行:./myscript.sh即可
七、其他
alias用於定義一個命令使得在使用這個定義的命令時包含命令+參數
腳本實例:
#!/bin/bash
# This script displays some information about your environment
echo "Greetings. The date and time are $(date)"
echo "Your working directory is: $(pwd)s"
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章