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