第四章:流程控制語句
上一次講到了流程控制語句中的if條件測試語句,今天來講講for、while還有case吧。
for循環語句,按照一個範圍循環(有目标、有範圍的循環結構)。
文法:for 變量名 in 取值清單
do (相當于國文中的“答”,數學中的“解”)
指令序列
done (結束語句,相當于我們的句号)
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHL0EEROBzYq5EMZR1T4VkMMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZwpmLwcTMzIDM0ATM3ETNwkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
while條件循環語句,根據某些條件來重複執行指令的語句(無初始目标,判斷條件測試的真假來決定是否繼續循環)。
文法:while 條件測試操作
do (相當于國文中的“答”,數學中的“解”)
指令序列
done (結束語句,相當于我們的句号)。
while中可以運用if判斷(隻有唯一結果時),在if中添加exit 0終止腳本運作。
小知識:在取餘操作時(1000 % 99),可以使用expr指令取得其結果(expr 100 % 99)。
case條件測試語句,在多個範圍内比對資料,若比對成功則執行相關指令并結束整個條件測試;
如果資料不在範圍内,則執行** )中的指令(特點是可以輸入字母*)
文法:case 變量值 in
模式1)
指令序列1
;;
*)
指令序列2
;;
esac
計劃任務服務程式:計劃任務分為 一次性計劃任務 與 長期性計劃任務。
一次性計劃任務:at 時間指令可實作此功能,編寫指令後按Ctrl+D結束編寫計劃任務;
at -l檢視已經設定好并且未執行的一次性計劃任務;
at -c 序号檢視計劃詳情;
atrm 序号删除未執行的一次性計劃。
長期性計劃任務:有周期性的計劃任務 crond-服務名稱、crontab-配置工具 熟記文法(分 時 秒 日 月 星期 指令)
crontab -e建立、編輯、删除計劃任務(是進入Vim編輯器進行編寫的);
crontab -l檢視目前計劃任務
以管理者身份登入系統,可使用crontab -u編輯其他人的計劃任務。
編輯計劃任務格式:分 時 日 月 星期 指令 (如有路徑的指令,路徑寫指令前)
* * * * * 指令(如有字段未設定需用**(*)占位,且日與星期**不能同用)
可用(,)逗号分别表示多個時段,如“8,9,10”,表示8、9、10分鐘、小時、日、月;
可用(- )表示一段連續的時間周期,如“ 5-10 ”,表示5到10分鐘、小時、日、月;
可用(/ )表示執行任務的時間間隔,如“ */2 ”,表示每隔2分鐘、小時、日、月、星期。
第五章:使用者身份與檔案權限
使用者身份與能力:
Linux系統中,UID如身份證一樣具有唯一性,是以可通過使用者的UID值來判斷其身份。
在RHEL7中,使用者身份有這些:
管理者 UID為0:系統的管理者使用者,使用者名預設為root,權限最大,限制最小;
系統使用者 UID從1到999:用于管理某一個服務,作用是細化工作,即使出現漏洞被黑客入侵,也能保證系統的穩定性;
普通使用者 UID從1000開始:由管理者建立的用于日常工作的使用者;
管理者建立使用者,UID預設從1000開始,即使前面有前置的号碼,且所有UID不能沖突。
userdd:用于建立新使用者。格式:useradd 選項 使用者名
-d:指定使用者家目錄(預設為 /home/username);
-u:指定該使用者的預設UID;
-s:指定使用者預設的Shell解釋器( /sbin/nologin 此解釋器為不能登入到系統);
可使用id 使用者名檢視使用者資訊。
groupadd:建立使用者組。格式:groupadd 選型 群組名
usermod:修改使用者屬性。格式:usermod 選項 使用者名 使用**-u參數修改使用者UID,-s**參數變更預設終端
passwd:修改使用者密碼、過期時間、認證資訊等。格式:passwd 選項 使用者名
userdel:删除使用者,删除後該使用者的家目錄預設保留下來。格式:userdel 選項 使用者名
-f強制删除(大部分情況不需使用)-r同時删除家目錄
檔案權限與歸屬
ls -l指令顯示的内容中,第一位為檔案類型,後面的**rwx-**為權限;
-:普通檔案; d:目錄檔案; l:連結檔案; b:塊裝置檔案; c:字元裝置檔案; p:管道檔案。
r=read,讀權限(讀取檔案的實際内容);
w=write,寫權限(編輯、新增、修改、删除檔案的實際内容);
x=execut,執行權限(運作一個腳本程式)。
權限配置設定 | 檔案所有者 | 檔案所屬組 | 其他使用者 |
---|---|---|---|
權限項 | 讀—————寫————執行 | 讀—————寫————執行 | 讀—————寫————執行 |
字元表示 | r—————w————x | r—————w————x | r—————w————x |
數字表示 | 4—————2————1 | 4—————2————1 | 4—————2————1 |
若某個檔案的權限為7則代表可讀r、可寫w、可執行x(4+2+1);若為6則代表可讀r、可寫w(4+2)
(- )是表示權限中的占位符,如果檔案權限隻有5(r+x=4+1)則用 r-x 表示,中間沒有的w用**-**表示。
rw–w-r-x,轉換為數字是625,每一個檔案權限都有九位字元表示。如果不能讀不能寫,則不能有執行權限。
重點:
三種權限對于一般檔案的作用:r是讀取文本檔案内容,w是修改一個檔案内容,x是可執行此腳本檔案的權限。
三種權限對于一般目錄的作用:r檢視目錄内檔案清單,w是能否在目錄内建立、改名删除檔案,x是能否進入該目錄權限。