標籤:find
7.1.1:檔案尋找:根據檔案的各種屬性去找到相對應檔案。檔案尋找分為:(即時尋找、非即時尋找)locate:非即時尋找(依賴於索引,而索引構建相當佔資源:索引的建立會在系統空閑時進行,手動更新updatedb,查詢速度快,模糊尋找)、
7.1.2、find:即時尋找 (精準、準確尋找,速度慢)使用格式:find [option]... [尋找路徑] [尋找條件] [處理動作]。-name “檔案名稱” 舉例:find /etc -name "p*[0-9]*",-iname:和name一樣忽略字元大小寫,-user、-group、-uid、-gid、-nouser(尋找沒有屬主的檔案)、-nogroup(尋找沒有屬組的檔案):舉例find /etc -user root。可以做非(-not)、與(-a)、或(-o)舉例:find /etc -not -user root -a -name "p*[0-9]*" -ls
7.1.3、檔案類型尋找-type(f:普通檔案、d:目錄檔案、l:連結檔案、b:塊裝置、c:字元檔案、s:通訊端檔案、p:具名管道,舉例:find -type f -name "*[0-9]*")、檔案大小尋找-szie([+|-]#unit 常用unit{k、m、g},舉例:ls -hdl $(find -size +1k))、時間戳記尋找:分為2種以天尋找和以分鐘尋找(以天尋找為atime、mtime、ctime),以分鐘尋找(amin、mmin。cmin)格式為[+|-]#,舉例:find /opt/ -mtime +60 -name "*.*" -exec rm -rf {} \;
7.1.4、許可權尋找-perm([+|-]mode 精確尋找,舉例:find -perm 644、+表示包含所指定任一許可權即可、-表示每一類使用者都必須包含指定許可權),處理動作:-exec COMMAND {} \; ({}表示前面尋找到的資訊\;固定格式,舉例:find ./ -perm -001 -a -type f -a -name "*[0-9]*" -exec ls -lk {} \;或者:find ./ -perm -644 -a -type f -a -not -name "*.sh" -exec mv {} {}.txt \;)、-ok和-exec相同只是命令執行前會提示使用者舉例:find ./ -perm -644 -a -type f -a -name "*.txt" -ok ls -l {} \;如果命令參數過長無法執行時可以通過,find | xargs COMMAND方式執行
7.2.1、linux中特殊許可權:進程以某使用者身份運行,進程是發起此進程使用者的代理,suid:set uid:前提:此類檔案有可執行條件,任何使用者運行此類命令時,此進程有效身份不是發起者自身而是此進程的屬主。修改方式:chmod u+s file,當ls -l查看時會出現[S|s],s表示原有檔案有執行許可權,S表示原有檔案沒有執行許可權(此類檔案不能執行)
7.2.2、sgid:set gid設定目錄屬主為sgid後,所有使用者在此目錄下建立檔案的屬組將為此目錄的屬組,chmod g+s file
7.2.3、sticky:粘滯位,chmod o+t file,限定使用者只能刪除自己建立檔案。
7.3.1、mail查看目前使用者的mail help查看協助list查看使用命令直接輸入編號可以查看郵件內容
7.3.2、at一次性執行任務at time(支援很多時間格式) ,舉例:at now+10min command 後Ctrl+d:提交任務,at -l查看未執行任務 at -d #刪除任務#表示任務序號。
7.3.3、cron:查看運行狀態service crond status,service crond start啟動、chkconfig crond on下次開機時自啟動,
系統cron:定義在/etc/crontab。使用者cron:定義在/var/spool/cron/每個使用者都有一個與使用者名稱同名的檔案(注意:如果定義在cron中的任務是指令碼,此指令碼中的各命令尋找時遵循的是cron的PATH環境變數定義;因此,在命令列中測試無問題的指令碼,在cron中未必;)
7.3.4、crontab格式(分鐘、小時、天、月、周、command),-l: 列出已經定義的所有任務、-e: 開啟編輯介面定義任務、-r: 刪除所有任務(注意:如果在crontab的使用者命令中使用%,得轉義)舉例:0 */4 * * * [ -d /backup ] || mkdir /backup; /bin/cp -a /etc /backup/etc-$(date +‘%Y%m%d%H‘)
7.4.1、sleep 為cron添加秒級任務方法,舉例:for i in {1..6}; do echo `/bin/date +%Y-%m-%d-%H-%M-%S` >> /tmp/test.txt; sleep 10; done
7.4.2、facl(file access control list)普通使用者可以單獨向某使用者或某組設定對某檔案存取權限;不通過修改屬主或屬組來實現的,lsattr顯示擴充屬性、chattr修改擴充屬性、getfacl 顯示檔案控制列表、setfacl設定檔案控制列表(-m 設定額外使用者訪問授權機制而無須改變原來屬性u:USERNAME:MODE FILE,舉例:setfacl -m u:test:rw- test.txt || setfacl -m g:test:rw- test.txt修改組許可權、-x取消額外設定許可權-x u:USERNAME FILE,舉例:setfacl -x -u:test test.txt,對目錄設定許可權可以用-R遞迴執行)
7.4.3、迴圈while和until(while適用於迴圈次數未知,或不便用for直接產生較大列表時使用判斷為真時進入迴圈:while 測試條件;do 迴圈體 done,測試條件為真,則進入迴圈,until和while相反,判斷為假進入迴圈)舉例
650) this.width=650;" src="https://note.wiz.cn/api/document/files/unzip/cf6fe2dc-e32d-4bb9-8618-5c7c32315798/d0cf976d-1ffe-2cb6-08d2-ef98c7fcc23b.3483/index_files/7042a957b4bce3638127cdbbff557259.png" style="border:0px;font-family:‘Microsoft YaHei UI‘, ‘Microsoft YaHei‘, SimSun, ‘Segoe UI‘, Tahoma, Helvetica, sans-serif, ‘Microsoft YaHei‘, Georgia, Helvetica, Arial, sans-serif, ‘宋體‘, PMingLiU, serif;font-size:14px;line-height:21px;white-space:normal;" alt="7042a957b4bce3638127cdbbff557259.png" />模數方式650) this.width=650;" src="https://note.wiz.cn/api/document/files/unzip/cf6fe2dc-e32d-4bb9-8618-5c7c32315798/d0cf976d-1ffe-2cb6-08d2-ef98c7fcc23b.3483/index_files/b3ae9f48bd0125ba876d6362c21353c5.png" style="border:0px;font-family:‘Microsoft YaHei UI‘, ‘Microsoft YaHei‘, SimSun, ‘Segoe UI‘, Tahoma, Helvetica, sans-serif, ‘Microsoft YaHei‘, Georgia, Helvetica, Arial, sans-serif, ‘宋體‘, PMingLiU, serif;font-size:14px;line-height:21px;white-space:normal;" alt="b3ae9f48bd0125ba876d6362c21353c5.png" />
接收一個參數判斷是否有效使用者,如果是顯示ID和bash否則提示無該使用者,輸入q或者quit時退出
650) this.width=650;" src="https://note.wiz.cn/api/document/files/unzip/cf6fe2dc-e32d-4bb9-8618-5c7c32315798/d0cf976d-1ffe-2cb6-08d2-ef98c7fcc23b.3483/index_files/2851d8a066a40354b19fd5533922d275.png" style="border:0px;font-family:‘Microsoft YaHei UI‘, ‘Microsoft YaHei‘, SimSun, ‘Segoe UI‘, Tahoma, Helvetica, sans-serif, ‘Microsoft YaHei‘, Georgia, Helvetica, Arial, sans-serif, ‘宋體‘, PMingLiU, serif;font-size:14px;line-height:21px;white-space:normal;" alt="2851d8a066a40354b19fd5533922d275.png" />
馬哥教育第7天find、特殊許可權、crontab、facl、while