溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

linux文件目錄與管理

發(fā)布時(shí)間:2020-09-11 17:52:53 來源:網(wǎng)絡(luò) 閱讀:642 作者:楓晚 欄目:數(shù)據(jù)庫

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)限的文件

linux文件目錄與管理

與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 可使用的命令,

                                     


向AI問一下細(xì)節(jié)

免責(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)容。

AI