天天看點

@Linux就該這麼學——第四章:Vim編輯器與Shell腳本(下)與第五章:使用者身份與權限(上)第四章:流程控制語句第五章:使用者身份與檔案權限

第四章:流程控制語句

上一次講到了流程控制語句中的if條件測試語句,今天來講講for、while還有case吧。

for循環語句,按照一個範圍循環(有目标、有範圍的循環結構)。

文法:for 變量名 in 取值清單

do (相當于國文中的“答”,數學中的“解”)

指令序列

done (結束語句,相當于我們的句号)

@Linux就該這麼學——第四章:Vim編輯器與Shell腳本(下)與第五章:使用者身份與權限(上)第四章:流程控制語句第五章:使用者身份與檔案權限
@Linux就該這麼學——第四章:Vim編輯器與Shell腳本(下)與第五章:使用者身份與權限(上)第四章:流程控制語句第五章:使用者身份與檔案權限

while條件循環語句,根據某些條件來重複執行指令的語句(無初始目标,判斷條件測試的真假來決定是否繼續循環)。

文法:while 條件測試操作

do (相當于國文中的“答”,數學中的“解”)

指令序列

done (結束語句,相當于我們的句号)。

while中可以運用if判斷(隻有唯一結果時),在if中添加exit 0終止腳本運作。

小知識:在取餘操作時(1000 % 99),可以使用expr指令取得其結果(expr 100 % 99)。

@Linux就該這麼學——第四章:Vim編輯器與Shell腳本(下)與第五章:使用者身份與權限(上)第四章:流程控制語句第五章:使用者身份與檔案權限
@Linux就該這麼學——第四章:Vim編輯器與Shell腳本(下)與第五章:使用者身份與權限(上)第四章:流程控制語句第五章:使用者身份與檔案權限

case條件測試語句,在多個範圍内比對資料,若比對成功則執行相關指令并結束整個條件測試;

如果資料不在範圍内,則執行** )中的指令(特點是可以輸入字母*)

文法:case 變量值 in

模式1)

指令序列1

;;

*)

指令序列2

;;

esac

@Linux就該這麼學——第四章:Vim編輯器與Shell腳本(下)與第五章:使用者身份與權限(上)第四章:流程控制語句第五章:使用者身份與檔案權限

計劃任務服務程式:計劃任務分為 一次性計劃任務 與 長期性計劃任務。

一次性計劃任務: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就該這麼學——第四章:Vim編輯器與Shell腳本(下)與第五章:使用者身份與權限(上)第四章:流程控制語句第五章:使用者身份與檔案權限
@Linux就該這麼學——第四章:Vim編輯器與Shell腳本(下)與第五章:使用者身份與權限(上)第四章:流程控制語句第五章:使用者身份與檔案權限

第五章:使用者身份與檔案權限

使用者身份與能力:

@Linux就該這麼學——第四章:Vim編輯器與Shell腳本(下)與第五章:使用者身份與權限(上)第四章:流程控制語句第五章:使用者身份與檔案權限

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 使用者名檢視使用者資訊。

@Linux就該這麼學——第四章:Vim編輯器與Shell腳本(下)與第五章:使用者身份與權限(上)第四章:流程控制語句第五章:使用者身份與檔案權限

groupadd:建立使用者組。格式:groupadd 選型 群組名

usermod:修改使用者屬性。格式:usermod 選項 使用者名 使用**-u參數修改使用者UID,-s**參數變更預設終端

@Linux就該這麼學——第四章:Vim編輯器與Shell腳本(下)與第五章:使用者身份與權限(上)第四章:流程控制語句第五章:使用者身份與檔案權限

passwd:修改使用者密碼、過期時間、認證資訊等。格式:passwd 選項 使用者名

@Linux就該這麼學——第四章:Vim編輯器與Shell腳本(下)與第五章:使用者身份與權限(上)第四章:流程控制語句第五章:使用者身份與檔案權限

userdel:删除使用者,删除後該使用者的家目錄預設保留下來。格式:userdel 選項 使用者名

-f強制删除(大部分情況不需使用)-r同時删除家目錄

@Linux就該這麼學——第四章:Vim編輯器與Shell腳本(下)與第五章:使用者身份與權限(上)第四章:流程控制語句第五章:使用者身份與檔案權限

檔案權限與歸屬

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是能否進入該目錄權限。

@Linux就該這麼學——第四章:Vim編輯器與Shell腳本(下)與第五章:使用者身份與權限(上)第四章:流程控制語句第五章:使用者身份與檔案權限

繼續閱讀