當需要進行一些重複而量大的操作時,指令碼檔案能使我們更輕鬆
首先來認識下幾個基礎的命令
echo 內容將內容輸出到螢幕
程式1 | 程式2將程式的輸出結果作為程式2的輸入
greap name 抓取含name的檔案
$變數取變數的值
$@ 輸出引數
$#輸出引數數量
$n輸出第n個引數
$?輸出是上乙個程式返回的值
exit n返回n
$0輸出當前程式名
-eq等於為真
-ne不等於為真
-gt大於為真
-lt小於為真
-e程式存在為真
`命令```裡的內容視為乙個命令
who檢視系統下的使用者
top 檢視程序
輸出第一列
echo 「ff" > 檔案 將輸出的內容輸入到指定檔案,內容不顯示到螢幕
echo "hvkjvk" >/dev/null 將輸出內容刪除
命令 >file 終端上只能看見標準錯誤
命令 2>file終端上只能看見標準正確
命令 >file 2>&1終端上什麼也看不見
for i in `seq 1 10`;do 命令;done 以i為變數迴圈十次
if [ a = b ];then 命令;fi當a=b成立,執行一次命令
while [ a = b ] ; do 命令;done 當a=b成立,執行命令
例子:編寫乙個名為chname的程式,將當前目錄下所有的.txt檔案更名為.doc檔案。
首先我們建立該檔案
vi chname
以下是指令碼檔案
#!/bin/bash //標頭檔案
n=$# //取引數數量
echo "$n" //輸出引數個數
for i in `seq 1 $n` //以i為變數迴圈n次
domv ./$i.txt ./$i.doc //將txt轉化成doc
done
接著我們更改chname許可權,使其具有執行許可權
chmod +x chname
然後我們將要改變的內容輸入到該指令碼
./chname `ls`
結束例子:編寫乙個名為chuser的程式,執行中每隔5分鐘檢查指定的使用者是否登入系統,使用者名稱從命令列輸入;如果指定的使用者已經登入,則顯示相關資訊。
#!/bin/bash //標頭檔案
n=$# //確認引數數量
if [ $n -ne 1 ] //數量如果不為1,則提示錯誤
then
echo "place enter one usr"
exit 1 //返回1
for i in `seq 1 10000000`
dowho | grep $1 //讀取當前使用者名稱 檢測是否包含引數
sleep 5m //等待5分鐘
done
基於Linux下的dhcp服務
dhcp伺服器動態獲得位址的簡要的工作原理 服務端通過廣播位址向dhcp伺服器傳送請求,dhcp伺服器接受到請求,將沒有租出的ip位址傳送給客戶端,響應給客戶端乙個dhcp offer封包,同時返還的dhcp discover封包內包含mac,並且有乙個 xid 編號來辨別該封包,客戶端根據需要接受...
基於Linux下的重置密碼
我們在實際的操作中總是會出現密碼忘記的情況,接下來演示重置密碼操作。root密碼忘記 1.重新啟動系統 2.在系統啟動階段按上下健停止系統系統引導 3.選擇啟動引導標題,按 e 進行編輯 4.找到linux16引導條目這一行,從這行最後刪除到ro選項,並把ro改為rw,然後新增rd.break選項 ...
基於linux下的字元匹配
建立檔案 touch fi le fiale fiale fi?le fi6le alpha 匹配單個字母 格式 rm fr fi alpha le 結果如下圖所示 lower 匹配單個小寫字母 upper 匹配單個大寫字母 digit 匹配單個數字 alnum 匹配單個數字或字母 punct 匹配...