歡迎您光臨本站 註冊首頁

[RHCE033]unit6使用bash shell

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0
一、什麼是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"


[火星人 ] [RHCE033]unit6使用bash shell已經有433次圍觀

http://coctec.com/docs/linux/show-post-52499.html