一、什麼是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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
Linux核心技能与应用
wy53780
2020-04-23 14:02:05
Python與家國天下
豌豆花下貓
2019-02-24 22:22:40
linux上安裝Docker(非常簡單的安裝方法)
幸運券發放
2019-02-24 19:38:01
2019年Java面試-併發容器篇
王知無
2019-02-24 15:12:46
淺淡個人學習嵌入式Linux過程
wx5c317e5b736d2
2019-02-24 13:31:30
DHCP服務原理與搭建(Linux系統+路由器,二選一方案)
wx5c7174443c6f9
2019-02-24 13:23:18
Redis安裝與配置
劉遄
2019-02-24 13:12:51
Linux查看CPU和內存使用情況
wbzjacky
2019-02-24 13:12:37
相關Linux安全方面的知識點
slqbj
2019-02-24 13:02:39
忘記了Linux密碼,使用GRUB重新設置
slqbj
2019-02-24 13:02:39
Oracle11g 基於linux 6.3下安裝
love壁虎
2019-02-24 12:55:06
Oracle基於Linux 7下的安裝
love壁虎
2019-02-24 12:55:05
Error response from daemon: OCI runtime create failed
uiz
2019-02-24 13:44:10