Unit 5 首先在介紹Users,Groups and Permissions前 先簡單講解了下 Process 許可權 用戶實際的操作時在操作系統的每一個操作進程 進程的運行來維持服務的運行 進程就是agent Process 運行時該進程有(uid標明所具有的許可權,gid標明所具有的訪問許可權) Security context 這裡需要說明下文件的訪問許可權的判定順序 ★文件的訪問許可權的判定先判定uid 是否匹配,匹配的話繼續判定gid 是否匹配à再到other <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />★許可權的分類 u,g,o許可權的種類 r,w,xr àreadwàwritex àexe1.對文件來說:R代表用戶可查看文件W 代表用戶編輯並保存此文件X 表示可以執行此文件中的命令或程序2.對目錄而言: R 可以使用ls 命令查看此目錄中的文件信息W代表用戶可以在此目錄創建文件,也可以刪除文件X 表示用戶可以cd 到這個目錄,並且可以使用–l命令查看此目錄中的文件信息.W 許可權可以隨意修改目錄的信息. l對rwx修改的方法對應二進位的轉化方法八進位轉化rwx 1117rw- 1106r-x1015r-- 1104-wx0113-w-0102--x0011--- 0000àààr=4w=2x=1 改變文件許可權的兩個命令lChmod的使用方式Chmod-R遞歸修改1.使用數字: chmod6662.使用 u,g,o - =rwx配合使用,如下表格
u,g,oa(all)
,-,=
r,w,x,
特殊沒有任何許可權的話 u或g或o = --- ★改變文件的屬主 ,屬組的指令lChown chmod [OPTION]... MODE[,MODE]... FILE...1.-R遞歸修改2. --reference = a b參照a 的標準把b改為a 的屬組屬主lchgrpchgrp [OPTION]... GROUP FILE... chgrp [OPTION]... --reference=RFILE FILE...1,2同上chown使用方法l創建文件時的許可權問題許可權取決於創建文件時的反向掩碼Umask創建目錄時是用 777 減去掩碼后三位就是創建出來的文件的許可權注意:文件默認時不具有執行許可權通常情況對於目錄而言,是777-umask 就是目錄創建出來的許可權對於文件而言,是666 – umask 就是創建出來普通文件的許可權★對於普通用戶來說掩碼是002對於管理員掩碼是022 ★如果umask要永久生效需要編輯用戶的環境變數來實現,今後介紹.Unit 6★通配符Command Line Shortcuts File Globbing● Globbing is wildcard expansion:m * - matches zero or more charactersm ? - matches any single characterm [0-9] - matches a range of numbers m [abc] - matches any of the character in the listm [^abc] - matches all except the characters in thelistm Predefined character classes can be used[:keyword:]Keyword: alpha,upper,lower,digit,alnum,punct,space★(以後shell編程常用,需熟練掌握)Example:查看一個字母,兩個任意字元.三個字母,第一個字母可能為為 j,p,gLs [[:alapha:]]??.[jgp] [[:alapha:]] [[:alapha:]]★Tab 鍵的使用Command Line ShortcutsThe Tab Key● Type Tab to complete command lines:m For the command name, it will complete a command namem For an argument, it will complete a file name● Examples:$ xte<Tab>$ xterm$ ls myf<Tab>$ ls myfile.txtTab查找路徑是在path 所指定的目錄中從前往後查找 ★Histroy命令History 的內容是保存在內存當中的,當關機和註銷時會保存在/home/.bash_history下echo $HISTSIZE 顯示變數值 可查看history的保存歷史的條數引入:變數是命名的內存空間,相當於在內存中開闢一塊有名字的空間根據其名字可以調用其中的數據.History指令操作-c clear 清除history記錄的條數-aappend 寫到文件當中(不覆蓋原來的)-wwirte同上(覆蓋原來的)History Number 表示顯示你所輸入的 Number 的那些行技巧:!164 表示執行命令歷史中的第164條命令!l表示最近使用的以l為開頭的命令!?HISTF最近一次包含了字元串 HISTF的命令!-3 表示倒數第三條命令^命令1^命令2表示把一條命令中的命令1替換成命令2!$ 表示執行上一條命令的一 個參數(clt .同理)★HISTCONTROL 變數功能設置Export HISTCONTROL=ignorespace以空格開頭的命令不記錄HISTCONTROL=ignoredups單一重複命令不記錄Export HISTCONTROL =erasedups 重複命令不記錄此種聲明只對當前操作有效,登出,註銷之後則不起作用.★搜索操作:Type Ctrl-r to search for a command incommand history.(從后往前)m (reverse-isearch)`': ★$()命令替換★Shell的簡介Shell 相當於翻譯官,還提供了編程環境.Shell 我發源: Sh首先在貝爾實驗室里誕生–>經過比爾joy 改進為cshà又經人改進為ksh後來又經過重寫融合了csh 和ksh àbashbash 遵循GPL規則bash shell 提供一些功能:流程式控制制順序執行循環執行選擇執行跳轉執行Shell與c 不同,shell 是腳本語言是動態的Shell腳本運行是解釋運行的,不需要編譯,執行時邊解釋邊運行.(有利於時刻修正錯誤)Bash shell的變數類型:-本地變數 -環境變數-預定義變數(通常為位置變數)-特殊變數本地變數的賦值:NAME=Jerry NUM=3變數的顯示Echo ${ NUM }(花括弧一般可省略)★本地變數表示只對當前shell有效,對子shell無效.要想有效的話,需聲明環境變數.導出環境變數export 變數變數賦值可以為數也可以為別的變數也可以為其他命令等