l 絕對路徑;路徑的寫法一定由根目錄/寫起,例如/usr/share/doc這個目錄
l 相對路徑;路徑的寫法不是由/寫起,例如由;/usr/share/doc要到/usr/share/man下面時,可以寫成“cd…/man”這就是相對路徑的寫法。相對路徑意指相對于目前工作目錄的路徑。
相對路徑的用途
cd後面跟的一些特殊目錄
. 代表層次目錄
.. 代表上一層目錄
- 代表前一個工作目錄
~ 代表“目前使用者身份”所在的朱檔案夾
~account 代表account這個使用者的主檔案夾(account是個帳号名稱)
特别注意;在所有目錄下面都會存在的兩個目錄,分别是. 與.. 分别代表此層與上層目錄的意思
建立的處理目錄的指令;
Cd:切換目錄
Pwd;顯示目前目錄;
Mkdir;建立一個新的目錄;
Rmdir;删除一個空的目錄
Cd(相對路徑或絕對路徑)
Cd ~vbird 代表去到vbird這個使用者的主檔案夾,即/home/vbird
Cd ~ 表示回到自己的主檔案夾,即是/root這個目錄
Cd 沒有加上任何路徑,也還是代表回到自己主檔案夾的意思
Cd..表示去到目前的上層目錄,即是/root的上層目錄的意思。
Cd – 表示回到剛才哪個目錄,
Cd /var/spool/mail 這個就是絕對路徑的寫法,直接指定要去的完整路徑名稱
Cd ../mqueue 這個是相對路徑的寫法,我們由/var/spool/mail 到/var/spool/mqueue就這樣寫
Pwd (顯示目前所在的目錄)
Pwd (-P) 顯示檔期那的路徑,而非使用連接配接(link)路徑
加上-P參數後,會不以連接配接檔案的資料顯示,而是顯示正确的完整路徑
Mkdir (建立新目錄)
Mkdir (-mp) 目錄名稱
參數;
-p;幫助你直接将所需要的目錄(包含上層目錄)遞歸建立起來
加上-p可以遞歸建立多層目錄
-m:配置檔案案的權限,這屆設定,不需要看預設權限(umask)
Mkdir -m
範例;建立權限為rwx—x—x的目錄
-m 來強制為目錄設定權限,否則系統會使用預設權限
Rmdir -p (删除“空”的目錄)
-p;連同上層“空的”目錄也一起删除
利用-p參數可以将空的多層遞歸目錄删除 這個rmdir僅能“删除空的目錄”
關于執行檔案路徑的變量:$PATH
例題;
使用一般賬戶A執行ifconfig時,會出現“-bash:ifconfig:commandnot found”的字樣,因為ifconfigshi是放置到/sbin下面,而由上面的結果中我們還可以發現vbird的PATH并沒有設定/sbin,是以預設無法執行
但是可以使用/sbin/ifconfig eth0來執行這個指令,因為一般使用者還是可以使用ifconfig來查詢系統IP的參數,既然PATH沒有規範到/sbin,那麼我們使用“絕對路徑”也可以執行該指令
u 不同身份使用者預設的PATH不同,預設能夠随意執行的指令也不同(如root與vbird);
u PATH是可以修改的,是以一般使用者還是可以修改PATH來執行某些位于/sbin或/usr/sbin下的指令來查詢;
u 使用絕對路徑或相對路徑直接指定某個指令的檔案名來執行,會比查詢PATH來得正确;
u 指令應該放置到正确的目錄下面,執行才會比較友善
u 本目錄(.)最好不要放到PATH當中
檔案與目錄管理
在檔案與目錄的管理上,不外乎“顯示屬性”,“複制”“删除檔案”及“移動檔案或目錄”等。
檢視檔案與目錄:ls
Ls (-aAdfFhilnrRst) 目錄名稱
Ls (--color={never,auto,always}) 目錄名稱
Ls (--full-time) 目錄名稱
-a;全部的檔案,連同隐藏檔案(開頭為.的檔案)一起顯示出來
-A;列出全部的檔案(連同隐藏檔案,但不包括.與..這兩個目錄)
-d:僅列出目錄本事,而不是列出目錄内的檔案資料
-f:直接列出結果,而不進行排序(ls預設會以檔案名排序)
-F;根據檔案,目錄等資訊給與附加資料結構,例如;
*:代表可執行檔案; /:代表目錄; =:代表 socket檔案; | :代表FIFO檔案
-h:将檔案容量以人類易讀的方式(例如GB,kb等)列出來
-i:列出inode号碼,
-l:列出長資料串,包含檔案的屬性與權限等資料
-n;列出UID與GID;而非使用者與使用者組的名稱(UID與GID會在帳号管理提到)
-r:将排序結果反向輸出,例如;原本檔案名由小到大,反向則由大變小
-R;連同子目錄内容一起列出來,等于該目錄下的所有檔案都會顯示出來
-S;以檔案容量大小排序,而不是用檔案名排序
-t:依時間排序,而不是用檔案名
--color=never:不要依據額外年間特性給與顔色顯示
--color=always:顯示顔色
--color=auto:讓系統自行依據設定來判斷是否給與顔色,
--full-time:以完整時間模式(包含年,月,日,時,分)輸出
--time={atime,ctime};輸出通路時件或改變權限屬性事件(ctime)而非内容更改時間
案例一
将主檔案夾下的所有檔案列出來(含屬性與隐藏檔案)
-a全部的檔案,連同隐藏檔案(開頭為.的檔案)
-l列出長資料串,包含檔案的屬性與權限等資料
承上題;不顯示顔色,但在檔案名末顯示出改檔案名代表的類型
範例三;完整呈現檔案的修改時間
通過—full-time可以查閱到比較正确的完整時間格式
複制,删除,與移動 :cp,rm,mv
要複制檔案,使用cp(copy)這個指令即可,還可以建立連接配接檔案(快捷方式),對比兩檔案的新舊而與更新,以及複制整個目錄等的功能,至于移動目錄與檔案,則使用mv(move),這個指令也可以直接拿來作重命名,至于 删除就是rm(remove)指令
cp (複制檔案或目錄)
cp (-adfilprsu) 源檔案(source) 目标檔案(destination)
cp (options) source1 source2 source3 … directory
-a:相當與-pdr的意思,至于pad請參考後文(常用)
-d:若源檔案為連接配接檔案的屬性(link file),則複制連接配接檔案屬性而非檔案本身;
-f:為強制(force)的意思了,若目标檔案已經存在且無法開啟,則删除後再嘗試一次
-i;若目标檔案(destination)已經存在時,在覆寫時會先詢問操作的進行(常用)
-l:進行硬體連接配接(hard link)的連接配接檔案建立,而非複制檔案本身
-p;連同檔案的屬性一起複制過去,而非使用預設屬性(備份常用);
-r;遞歸持續複制,用于目錄的複制行為(常用);
-s;複制成為符号連結檔案(symbolic link),即“快捷方式”檔案;
-u;若destination比source舊才更新destination
最後需要注意的,如果源檔案有兩個以上,則最後一個目的檔案一定要是“目錄”才行!
複制(cp)這個指令非常重要的,不同身份者執行這個指令會有不同的結果産生,尤其是-a,-p的參數,對于不同身份來說,差別非常大,
拷貝檔案極其所擁有的特性則加上-a即可
cp /etc 到 /tmp目錄下
如果是目錄則不能直接複制,要加上-r的參數
Cp -r /etc /tmp
-r是可以複制目錄,但是檔案與目錄的權限可能會被改變
是以,也可以利用-a 來執行指令,尤其是在備份的情況下
Cp -s bashrc bashrc_slink
Cp -l bashrc bashrc_hlink
Ls -l bashrc*
使用-s -l 都會建立所謂的連接配接檔案
-l就是所謂的硬連結,bashrc_shlink 是一個“快捷方式,”這個快捷方式會連接配接到bashrc,是以你會看到檔案名又側會有一個指向(->)的符号
至于bashrc_hlink檔案與bashrc的屬性與權限完全一模一樣,與尚未進行連接配接前的差異則是第二列的link數由1變成2了
若~/.bashrc 比 /tmp/bashrc新才複制過來
Cp -u ~/.bashrc /tmp/bashrc
這個-u的特性是在目标檔案與源檔案有差異時才會複制的
是以,比較常用與“備份的工作當中”
rm (移除檔案或目錄)
rm(-fir)檔案或目錄
-f:就是force的意思,忽略不存在的檔案,不會出現警告資訊;
-i;互動模式,在删除前會詢問使用者是否操作;
-r;遞歸删除,最常用在目錄的删除了,這是非常危險的參數!!!
rm -i bashrc*
将目錄下的開頭為bashrc檔案名全部删除;
*代表的是0到無窮多個任意字元
将cp範例中所建立的/tmp/etc/這個目錄删除掉
Rmdir /tmp/etc
删不掉 因為這不是空的目錄!
Rm -r /tmp/etc
連續按y可删除
如果不想按y
\rm -r /tmp/etc
在指令前面加上反斜杠,可以忽略掉alias的指定參數
Mv (移動檔案或目錄,或更名)
Mv (-fiu)source destination
Mv (options)source1 source2 source3 … directory
-f:force強制的意思,如果目标檔案檔案已經存在,不會詢問而直接覆寫
-i:若目标檔案(destianation)已經存在,就會詢問是否覆寫
-u:若目标檔案已經存在,且source比較新,才會更新(update)
Basename /etc/sysconfig/network
Network 很簡單,就取得最後的檔案名
Dirname /etc/sysconfig/network
/etc/sysconfig 取得目錄名
檔案内容查閱
顯示檔案内容可以使用cat 與more即less,
u Cat;由第一行開始顯示檔案内容
u Tac;從最後一行開始顯示,可以看出tac是cat的倒寫形式
u nl ;顯示的時候,順便輸出行号,
u more;一頁一頁地顯示檔案内容
u less;與more類似,但是比more更好的是,它可以往前翻頁
u head;隻看頭幾行
u tail;隻看結尾幾行‘
u od;以二進制的方式讀取檔案内容
cat (-AbEnTv)
參數
-A:相當于-vET的整合參數,可列出一些特殊字元,而不是空白而已
-b;列出行号,僅針對非空白行做行号顯示,空白行不标行号;
-E;将結尾的斷行字元$顯示出來;
-n;列印出行号,連同空白行也會有行号,與-b的參數不同
-T:将(Tab)按鍵以^I顯示出來;
-v:列出一些看不出來的特殊字元
More (一頁一頁翻動)
More /etc/man.config
空格鍵:代表向下翻一頁;
Enter:代表向下滾動一行;
/字元串;代表在這個顯示的内容中,向下查詢“字元串”這個關鍵字
:f 立刻顯示出檔案名以及目前顯示的行數
q 代表立即離開more,不再顯示該檔案内容
b或(ctrl)-b 代表往回翻頁,不過這操作隻對檔案有用,對管道無用
使用more并不能往前翻頁,使用less可以使用上下按鍵等功能前後翻看檔案
空格鍵:向下翻動
Pagedown 向下翻動一頁;
Pageup 向上翻動一夜
/字元串 向下查詢“字元串”的功能
?/字元串 向上查詢“字元串”的功能;
n 重複前一個查詢(與/或?有關)
N 反向重複前一個查詢(與/或?有關);
q 離開less這個程式
資料選取
我們可以将輸出的資料做一個簡單的選取,那就是取出前面(head)與取出後面(tail)文字的功能,不過 head與tail都是以行為機關來進行資料選取的
Head(取出前幾行)
head (-n number)檔案
-n :後面接數字,代表顯示幾行的意思
tail (取出後面幾行)
tail -n number 檔案
取出檔案後面幾行 number行數
修改檔案的時間或建立新檔案:touch
Liunx下三個主要的時間變動
Modification time
當該檔案的内容資料更改時,就會更新這個時間,内容資料指的是檔案的内容,而不是檔案的屬性或權限
Status time
當該檔案的狀态改變時,就會更新這個時間,舉例來說,像是權限與屬性被更改了,都會更改這個時間
Access time
當該檔案的内容被取用時,就會更新這個讀取時間。舉例來說,我們使用cat去讀取/etc/man.config,就會更新該檔案的atime了,
Touch (-acdmt) 檔案
-a:僅修改通路時間;
-c:僅修改檔案的時間,若該檔案不存在則不建立新檔案
-d:後面可以接欲修改的日期而不用目前的日期,也可以使用—date=“日期或時間”;
-m:僅修改mtime;
-t:後面可以接欲修改的時間而不用目前的時間
建立一個bashrc檔案日期為2007/09/15 2:02
Touch -t 0709150202 bashrc
-t 後面加上修改的時間
通過touch可以輕易修改檔案的日期與時間,并且也可以建立一個空的檔案夾,看檔案什麼時候被改動過檢視ctime 就算是複制過來的檔案,這個時間也是沒有辦法修改的。
建立一個空的檔案
将某個檔案日期修改為目前日期(mtime與atime)
除了rwx權限外,在linux的Ext2/Ext3檔案系統下,我們還可以設定其他的系統隐藏屬性,這部分可使用chattr來設定,而以lsattr來檢視,最重要的屬性就是可以設定其不可修改的特性,讓連檔案的所有者都不能進行修改,這個屬性很重要,尤其是在安全機制方面
在/tmp下建立一個目錄 名稱為qwe 并且目錄所有這為dmstai,使用者組為users,此外任何人都可以進入該目錄浏覽檔案,不過除了dmstai之外,其他人不能修改該目錄下的檔案
建立目錄:Mkdir /tmp/qwe
修改屬性:Chown -R dmstai:users/tmp/qwe
修改權限:chmod -R 755 /tmp/qwe
檔案預設屬性 :umask
Umask是指定;目前使用者在建立檔案或目錄時候的權限預設值
022反掩碼的權限
直接輸入umask可以看到數字形态的權限設定分數,一種加入-S參數,就會以符号類型顯示出來 第一組是特殊權限用的 先不用看
- 若使用者建立“檔案”則預設沒有可執行權限(x),即隻有r,w這兩個選項,也就是最大為666,預設權限如下
- rw-rw-rw-
- 若使用者建立“目錄”,則由于x與是否可以進入此目錄有關,是以預設為所有權限均開放,即為777分,預設權限如下
- Drwxrwxrwx
umask對建立目錄與檔案的預設權限很有關系
umask 002 即可修改umask的權限
檔案隐藏屬性 chattr,lsattr
下面的chattr隻能在ext2和ext3的檔案系統上面生效
Chattr(設定檔案的隐藏屬性)
Chattr(+-=)(ASacdistu)檔案或目錄名稱
+:增加某一個特殊參數,其他原本存在參數則不動
-:删除某一個特殊參數,其他原本存在參數則不動
=:僅有後面接的參數
A:當設定了A這個屬性時,若你有通路此檔案(或目錄)時,他的通路事件atime将不會被修改,可避免I/O較慢的機器過度通路磁盤,這對速度較慢的計算機有幫助
S:一般檔案是異步寫入磁盤的,如果加上S這個屬性時,當你進行任何檔案的修改,該行動都會同步到磁盤中
a:當設定a之後,這個檔案将隻能增加資料, 而不能删除也不能修改資料,隻有root才能設定這個屬性。
c:這個屬性設定之後,就會自動将此檔案壓縮,在讀取的時候就會自動解壓縮。但是在存儲的時候就會先進行壓縮後在存儲(對大檔案挺有效的)
d:當dump程式被執行的時候,設定d屬性将可使檔案(或目錄)不會被dumnp備份
i:這個i它可以讓一個檔案“不能被删除,改名,設定連接配接也無法寫入或添加資料”對于系統安全性有很大的幫助,隻有root能設定此屬性
s:當檔案設定了s屬性時,如果這個檔案被删除,它将會被完全從這個硬碟空間中删除
u:與相反,當使用u來設定檔案時,如果該檔案被删除了,則資料内容其實還存在磁盤中,可以使用來找回該檔案
注意;屬性設定常見的是a與i的設定值,而且很多設定值必須要身為root才能設定
I在系統的資料安群上面,由于這些屬性是隐藏的性質,是以需要以lsattr才能看到該屬性,其中最重要的就是+i與+a這個屬性了,+i可以讓一個檔案無法被更懂,
此外,如果是logfile這種的登入檔案,就更需要+a這個可以增加但是不能修改舊有的資料與删除的參數了,
Lsattr(顯示檔案隐藏屬性)
Lsattr (-adR) 檔案或目錄
-a;将隐藏檔案的屬性也秀出來;
-d;如果接的是目錄,僅列出目錄本身的屬性而非目錄内的檔案名;
-R;連同子目錄的資料也一并顯示出來。
使用chattr設定後, 可以利用lsattr來檢視隐藏的屬性
檔案的特殊權限,SUID,SGID,SBIT
SetUID出現
當s這個标志出現在檔案所有者的x權限上時,例如上面的權限,此時就被稱為set UID,簡稱為SUID的特殊權限,suid有這樣的限制與功能
l SUID權限僅對二進制程式有效
l 執行者對于該程式需要具有x的可執行權限
l 本權限僅在執行該程式的過程中有效
l 執行者将具有改程式所有則的權限
SUID隻可用在二進制程式上,不能夠用在shell script上面,這是因為shell script隻是将很多的二進制檔案調進來執行而已,是以Sudi的權限部分,還是得看shell script調用進來的程式設定,而不是shell script本身,當然SUID對目也是無效的
Set GID
當s标志在檔案所有者的x項目為suid,那s在使用者組的x時則稱為set GID,SGID。
檢視具有SGID權限的檔案
與SUID不同的是,SGID可以針對檔案或目錄來設定,如果是對檔案來說,SGID有如下的功能
l SGID對二進制程式有用
l 程式執行者對與程式來說,需要備有x的權限;
l 執行者在執行的過程中将會獲得該程式使用者組的支援
StickyBit
l 這個Sticky Bit(SBIT)目前隻針對目錄有效,對于檔案已經沒有效果了。SBIT對于目錄的作用是;
l 當使用者對于此目錄具有w,x權限,則具有寫入的權限時;
l 當使用者在該目錄下建立檔案或目錄時,僅有自己與root才有權利删除該檔案
SUID/SGID/SBIT權限設定
4為SUID
2為SGID
1為SBIT
l 例子;
假設要将一個萬能鍵權限改為-rwsr-xr-x時,由于s在使用者權利中,是以是GID,是以,在原有的755之前還有加上4,也就是“chmod4755 filename”來設定。此外還有大S與大T的産生,參考下面
l touch test 建立一個測試用的空檔案
chmod 4775 test;加入具有SUID的權限
ls -l test 檢視
l chmod 6755 test; 加入具有SUID/SGID的權限
ls -l test 檢視
l chmod 7666 test;具有空的SUID/SGID權限
ls -l test
st都是替代x權限,因為執行的是666并沒有執行權限,
符号來代替
SUID為u+s SGID為g+s,SBIT則是o+t,
乘上,在上述的檔案權限中加入SGID與SBIT
檢視檔案類型;file
File;後面跟上需要檢視的檔案
指令與檔案的查詢
腳本檔案名的查詢
Which(尋找“執行檔案”)
Which(-a) command
-a:将所有由PATH目錄中可以找到的指令均列出來,而不是第一個被找到的指令名稱
l 這個指令是根據PATH這個環境變量所規範的路徑去查詢“執行檔案”的檔案名。是以,重點是找出執行檔案而已,且Which後面接的是完整檔案名,。若加上-a參數,則可以列出所有的額可以找到的同名執行檔案,而非僅顯示第一個而已
l Which預設是查找PATH内所規範的目錄。
檔案名的查找
Whereis(尋找特定檔案)
Whereis(-bmsu)檔案或目錄名
-b;隻找二進制格式的檔案
-m;隻找在說明檔案manual路徑下的檔案
-s;隻找source源檔案
-u;查找不在上述三個選項當中的其他特殊檔案
Locate(尋找的資料是由已建立的資料庫/var/lib/mlocate)裡面的資料所查找到的
Locate(-ir) keyword
-i:忽略大小寫的差異
-r:後面可接正規表達式的顯示方式
範例;找出系統中所有與passwd相關的檔案名
Locatepasswd
它是經由資料庫查找的,資料庫的建立預設是每台執行一次,手動更新資料庫updatedb
Updated;根據/etc/updated.conf的設定去查找系統硬碟内的檔案名,并更新/var/lib/mlocate内的資料庫檔案
Locate;依據/var/lib/mlocate内的資料庫記載,找出使用者輸入的關鍵字檔案名
Find
Find(PATH)(option) (action)
1. 與實踐有關的參數,共有-atime,-ctime與-mtime,下面以-mtime說明
-mtime n :為數字,意義為在n天之前的“一天之内”被更改過的檔案;
-mtime +n :列出在n天之前(不含n天本身)被更改過的檔案名;
-mtime-n ;列出n天之内(含n天本身)被更改過的檔案名
-newer file :file為一個存在的檔案,列出比file還要新的檔案名
Find / -mtime 0
0代表目前的事件,是以從喜愛你在開始到24小時前,有改動過内容的萬能鍵都會被列出來,那如果是3天之前的24小時内? Fine
/ -mtime 3 有改動過的檔案都被列出來的意思
尋找/etc下面的檔案,如果檔案日期比/etc/passwd新 就列出來
Find /etc -newer /etc/passwd
-newer用在分辨兩個檔案之間的新舊關系是很有用的
找出4天内被改動過的檔案名
Find /var -mtime -4
找出4天前的那一天
Find/var -mtime 4
有沒有加上+—差别很大
+4代表大于等于5天前的檔案名;find /var -mtime +4
-4代表小于等于4天前的檔案名;find /var -mtime -4
4則是代表4-5提起你那一天的檔案名:find /var -mtime 4
與使用者或使用者組名有關的參數;
-uidn :n為數字,這個數字是使用者的帳号ID。即UID,這個UID是記錄在/etc/passwd 裡面與帳号名稱對應的數字
-gidn :n為數字,這個數字是使用者組名的ID.即GID,這個GID記錄在/etc/group中,
-username :name為使用者組名,例如users
-nouser:尋找檔案的所有者不存在/etc/passwd 的人
-nogroup:尋找檔案的所有使用者組不存在于/etc/group中的檔案,當你自行安裝軟體時,很可能該軟體的屬性當中并沒有檔案所有者,這是可能的,在這個時候就可以使用-nouser與-nogroup查找。
查找/home 下面屬于vbird的檔案
Find/home -user vbird
當我們要找出任何一個使用者在系統當中的所有檔案時,就可以利用這個指令将屬于某個使用者的所有檔案都找出來。
查找系統中不屬于任何人的檔案
Find / -nouser
通過這個指令,可以輕易就找出哪些不太正常的檔案
與檔案權限及名稱有關的參數
-name filename;查找檔案名為filename的檔案
-size(+—)SIZE;查找比SIZE還要大(+)或小(-)的檔案,這個size的規格有;c:代表byte;k:代表1024bytes。是以要找比50kb還大的檔案,就是“-size +50k”
-typeTYPE :查找檔案的類型為TYPE的,類型主要有,一般正規檔案(f),裝置檔案(b,c),目錄(d),連接配接檔案(l),socket(s),及fifi(p)等屬性
-permmode ;查找檔案權限“剛好等于”mode的檔案,這個mode與類似chmod的屬性值,舉例來說,-rwsr-xr—r—的屬性為4755
-perm-mode ;查找檔案權限“必須要全部包括mode的權限”的檔案,舉例來說我們要查找-rwxr--r--,即0744的檔案,使用-perm -0744,當一個檔案的權限為-rwsr-wr-x,即4755時,也會被列出來,因為-rwsr-xr-x的屬性已經包括了-rwxr—r—的屬性了
-perm+mode:查找檔案權限“包含任意mode的權限”的檔案,舉例來說,我們查找-rwxr-xr-x,即-perm +755時,但一個檔案屬性為-rw-------也會被列出來,因為它有-rw…的屬性存在
範例;
找出檔案名為passwd的這個檔案
Find/ -name apsswd
利用這個-name可以查找檔案名
找出/var目錄下檔案類型為Socket的檔案名有哪些
Find/var -type s
查找檔案當中含有SGID或SUID或SBIT的屬性
Find/ -perm +7000
所謂的7000就是---s--s—t,那麼隻要含有s或t的就列出來
是以當然要使用+7000.使用-7000表示要含有—s—s—t的所有三個權限
是以就是+7000
将/bin目錄下隻要具有SUID或SGID的檔案就列出來
Find/bin -perm +6000
因為SUID是4分,SGID是2分總共6分,是以可用+6000來處理這個權限,
其他可進行的操作;
-execcommand:command為其他指令,-exec後面可再接其他的指令來處理查找到的結果
-print:将結果列印到螢幕上,這個操作是預設操作
将上個範例找到的檔案使用ls -l 列出來
Find/ -perm +7000 -exec ls -l {}\;
-perm後面跟的是具有SUID與SGID的權限
-exec後面跟的是額外的指令 比如 ls -l
{}代表的是“由find找到的内容”,find到的結果會被放到{}位置中
-exec一直到“\;”是關鍵字,代表find額外指令的開始(-exec)到結束(/;)在這中間的就是find指令内的額外指令,在本例中就是ls-l{}
因為“;”在bash環境下有特殊意思的;是以利用反斜杠來轉義。
找出系統中大于1MB的檔案
Find/ -size + 1000k
找出/etc下面檔案名包含httpd的檔案,
Find/etc -name ‘*httpd*;’
不但可以指定查找的目錄(連同子目錄)。并且額可以利用額外的參數來找到最正确的檔案名。
權限與指令件的關系(極重要)
權限對于使用者帳号來說是非常重要的,因為它可以限制使用者能不能讀取/建立/删除/修改檔案或目錄,在這一節将兩者結合,說明一下什麼指令在什麼樣的權限下才能夠運作
l 讓使用者能進入某目錄成為“可工作目錄”的基本權限
l 可使用的指令;例如cd等切換工作目錄的指令
l 目錄所需權限;使用者對這個目錄至少需要具有x的權限
l 額外需求,如果使用者想要在這個目錄内利用ls查閱檔案名,則使用者對此目錄還需r的權限
使用者在某個目錄内讀取一個檔案的基本權限是什麼
l 可使用的指令,