日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

文件与目录管理——笔记

發(fā)布時(shí)間:2025/3/21 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 文件与目录管理——笔记 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目錄

1.特殊目錄:

2.處理目錄的命令:

3.執(zhí)行文件路徑變量:$PATH

4.文件與目錄管理:

1)查看文件與目錄:ls

2)復(fù)制、刪除與移動(dòng):cp,rm,mv

3)文件內(nèi)容查閱:

4)修改文件或創(chuàng)建新文件:

時(shí)間參數(shù):

5.文件與目錄默認(rèn)權(quán)限和隱藏權(quán)限:

1)文件默認(rèn)權(quán)限:umask

2)文件隱藏屬性:

3)文件的特殊權(quán)限:SUID,SGID,SBIT

Set UID功能與限制:

Set GID功能與限制:

文件:

目錄:

Sticky Bit功能與限制:

6.查看文件類型:file

命令與文件名的查詢:

1)腳本文件名的查詢:

2)文件名查找:

小結(jié):


1.特殊目錄:

“.”代表此層目錄

“..”代表上一層目錄

“-”代表前一個(gè)工作目錄

“~”代表“當(dāng)前用戶身份”所在的主文件夾

2.處理目錄的命令:

“cd”:切換目錄

“pwd”:顯示當(dāng)前目錄

“mkdir”:新建一個(gè)新目錄

“rmdir”:刪除一個(gè)空目錄

注:使用rmdir刪除目錄時(shí),目錄需要一層一層的刪除,而且被刪除的目錄里不能存在其他目錄或文件(空目錄),如果想將所有目錄下的東西都刪除使用rm -r 目錄名

3.執(zhí)行文件路徑變量:$PATH

當(dāng)在執(zhí)行一個(gè)命令時(shí),系統(tǒng)會(huì)照PATH的設(shè)置去每個(gè)PATH定義文件的目錄下查詢文件名為“xx”的可執(zhí)行命令,如果在PATH定義的目錄中含有多個(gè)文件名為“xx”的可執(zhí)行文件,那么先查詢到的同名命令先被執(zhí)行

使用 echo $PATH 可以查看有哪些目錄被定義出來(在一般用戶中不包括任何“sbin”的目錄)

PATH這個(gè)變量的內(nèi)容是由一堆目錄所組成的,每個(gè)目錄中間用冒號(hào)隔開(:),且每個(gè)目錄有順序之分

由此可以得出:

1.不同身份用戶默認(rèn)PATH不同,默認(rèn)能夠隨意執(zhí)行的命令也不同

2.PATH是可修改的,所以一般用戶可以通過修改PATH來執(zhí)行某些位于/sbin或/usr/sbin下的命令來查詢

3.命令應(yīng)放到正確的目錄下,執(zhí)行才會(huì)方便

4.本目錄(.)最好不要放在PATH中

4.文件與目錄管理:

1)查看文件與目錄:ls

-a:列出全部文件,包括隱藏文件

-A:列出全部文件,及所有隱藏文件,但不包括"."和".."這兩個(gè)目錄

-d:僅列出目錄本身,而不是列出目錄內(nèi)的文件數(shù)據(jù)

-f:直接列出結(jié)果,不進(jìn)行排序

-F:根據(jù)文件,目錄給予附加數(shù)據(jù)結(jié)構(gòu)(*:代表可執(zhí)行文件;/:代表目錄;=:代表socket文件;|:代表FIFO文件)

-h:將文件容量以MB,GB等方便閱讀的方式列出

-i:列出indoe號(hào)碼

-l:列出長(zhǎng)數(shù)據(jù)串,包含文件屬性與權(quán)限

-n:列出UID與GID,不是用戶名與組等數(shù)據(jù)

-r:將排序結(jié)果反向輸出

-R:連同子目錄一同列出,相當(dāng)于將該目錄下的所有文件都顯示出來

-S:以文件容量大小排序,而非文件名

-t:依據(jù)時(shí)間排序

--color=never:不要依據(jù)文件特性給予顏色顯示

--color=always:顯示顏色

--color=auto:讓系統(tǒng)自行依據(jù)設(shè)置來判斷是否給予顏色

--full-time:以完整時(shí)間模式輸出

--time={atime,ctime}:輸出訪問時(shí)間或改變權(quán)限屬性時(shí)間(ctime)而非內(nèi)容更改時(shí)間(modification time)

2)復(fù)制、刪除與移動(dòng):cp,rm,mv

cp(復(fù)制文件或目錄)

-a:相當(dāng)于-pdr,是在保留原文件屬性的基礎(chǔ)上復(fù)制文件

-d:若文件為連接文件(link file)的屬性,則復(fù)制連接文件屬性而非文件本身

-f:為強(qiáng)制(force)的意思,若文件已經(jīng)存在且無法打開,則刪除后再嘗試一次

-i:若目標(biāo)文件(destination)已經(jīng)存在,在覆蓋時(shí)會(huì)詢問操作的進(jìn)行

-l:進(jìn)行硬鏈接(hard link)的連接文件創(chuàng)建,并非復(fù)制文件本身

-p:連同文件屬性一同復(fù)制,并非使用默認(rèn)屬性

-r:遞歸持續(xù)復(fù)制,用于目錄的復(fù)制行為

-s:復(fù)制成符號(hào)鏈接文件(symbolic link),即快捷方式

-u:目標(biāo)文件(destination)比源文件(source)舊才會(huì)更新源文件

注:

1.如果源文件有兩個(gè)以上,則最后一個(gè)目的文件一定是目錄

2.在默認(rèn)條件中,cp的源文件與目的文件的權(quán)限是不同的,目的文件的所有者通常是命令操縱者本身,當(dāng)有一些特殊權(quán)限的文件時(shí)需要加上-a或-p可以完整復(fù)制文件權(quán)限

3.復(fù)制目錄時(shí),需要加-r

4.在一般用戶中,即使加上-a參數(shù),無法復(fù)制完整權(quán)限,只能復(fù)制文件的相關(guān)權(quán)限及時(shí)間屬性,與所有者、用戶組有關(guān)是無法操作的

rm(移除文件或目錄)

-f:忽略不存在的文件,不會(huì)出現(xiàn)警告

-i:互動(dòng)模式,在刪除前會(huì)詢問用戶是否操作

-r:遞歸刪除

注:

為了防止文件被誤刪,許多發(fā)行版的操作系統(tǒng)已經(jīng)默認(rèn)加入-I

當(dāng)文件中有“-”開頭時(shí),可以這樣刪除 “rm ./-xxx-”或“rm -- -xxx-”

mv(移動(dòng)文件與目錄,或更名)

-f:如果目標(biāo)文件已存在,不會(huì)詢問而直接覆蓋

-i:若目標(biāo)文件已存在,就會(huì)詢問是否覆蓋

-u:若文件已經(jīng)存在,且源文件比較新,才會(huì)更新

注:可以使用-u來測(cè)試文件的新舊,看看是否移動(dòng)

需要大批量來改文件名時(shí),使用rename

3)文件內(nèi)容查閱:

cat(concatenate):從第一行開始顯示文件

-A:相當(dāng)于-vET,show all,可以列出一些特殊字符

-b:僅對(duì)非空行列出行號(hào)

-E:將結(jié)尾的斷行字符以$顯示出來

-n:打印行號(hào),但與-b不同,空行也會(huì)顯示行號(hào)

-T:將tab按鍵顯示出來

-v:列出一些看不出來的特殊字符

tac:從最后一行開始顯示文件

同cat命令

?

nl:顯示的時(shí)候,同時(shí)輸出行號(hào)

-b:指定行號(hào)

1.-b a 不論是否有空行均列出行號(hào)

2.-b t 如果有空行,不會(huì)列出該行

-n:列出行號(hào)

-n ln:行號(hào)在最左邊顯示

-n rn:行號(hào)在最右邊顯示,且不加0

-n rz:同上,且加0

-w:行號(hào)字段占用的位數(shù)(加上行號(hào),默認(rèn)是6位)

more:一頁(yè)一頁(yè)的顯示文件內(nèi)容

less:與more類似,并且可以翻頁(yè)

head:只看開頭幾行,可以加數(shù)字表示想要看的行數(shù)

-n:后接數(shù)字,表示顯示多少行

當(dāng)接負(fù)數(shù)時(shí),代表列出前面的所有行數(shù),但不包括后面所寫的行數(shù)

?

tail:與head類似,只看結(jié)尾

-n:同上

當(dāng)接正數(shù)時(shí),代表該文件會(huì)從xx行后都列出

-f:表示持續(xù)監(jiān)測(cè)后面的文件名,需要按下ctrl+c才會(huì)停止檢測(cè)

od:以二進(jìn)制方式讀取文件

-t:后面接各種輸出類型

a:使用默認(rèn)字段輸出

c:使用ASCLL字符輸出

d [size]:利用十進(jìn)制(decimal)輸出數(shù)據(jù),每個(gè)正數(shù)占用 size bytes

f [size]:利用浮點(diǎn)數(shù)(floating)輸出數(shù)據(jù),每個(gè)正數(shù)占用 size bytes

o [size]:利用八進(jìn)制(octal)輸出數(shù)據(jù),每個(gè)正數(shù)占用 size bytes

x [size]:利用十六進(jìn)制(hexadecimal)輸出數(shù)據(jù),每個(gè)正數(shù)占用 size bytes

?

4)修改文件或創(chuàng)建新文件:

時(shí)間參數(shù):

modification time(mtime):當(dāng)該文件的內(nèi)容改變時(shí),會(huì)更新這個(gè)時(shí)間(內(nèi)容指文件內(nèi)容,并非文件屬性或權(quán)限)

status time (ctime):當(dāng)該文件的狀態(tài)(status)改變時(shí),會(huì)更新該時(shí)間(文件的權(quán)限或?qū)傩?#xff09;

access time(atime):當(dāng)文件內(nèi)容被取用,會(huì)更新該時(shí)間(使用文件內(nèi)容查詢時(shí),會(huì)更新該時(shí)間)

注:在默認(rèn)情況下,使用ls顯示的是該文件的mtime

?

在某些情況下,由于BIOS的設(shè)置錯(cuò)誤以及失去誤差,會(huì)導(dǎo)致系統(tǒng)時(shí)間“跑到”未來,可以使用touch來改變時(shí)間

touch:

-a:僅修改訪問時(shí)間,若果文件不存在,會(huì)創(chuàng)建一個(gè)新文件

-c:僅修改文件時(shí)間,文件不存在是不會(huì)創(chuàng)建文件

-d:后接修改時(shí)間,可以不用當(dāng)前時(shí)間;也可使用--date="日期或時(shí)間"

-m:僅修改mtime

-t:后接修改時(shí)間,可不用當(dāng)前時(shí)間,格式[YYMMDDhhmm]

注:當(dāng)復(fù)制了一個(gè)文件時(shí),并沒有辦法復(fù)制ctime這個(gè)屬性

?

5.文件與目錄默認(rèn)權(quán)限和隱藏權(quán)限:

1)文件默認(rèn)權(quán)限:umask

umask是指目前用戶在新建文件或目錄時(shí)的默認(rèn)權(quán)限(umask是指默認(rèn)值需要減掉的權(quán)限)

查看方式:

1.直接輸入uamsk,可以看到數(shù)字形態(tài)的權(quán)限設(shè)置分?jǐn)?shù)

?2.后面加-S,會(huì)以符號(hào)類型顯示出權(quán)限

文件一般默認(rèn)權(quán)限為644,最大權(quán)限為666

目錄一般默認(rèn)權(quán)限為755,最大權(quán)限為777

默認(rèn)情況下,root的umask會(huì)拿掉較多權(quán)限(默認(rèn)022),而一般身份用戶會(huì)保留用戶組的寫入(002)

2)文件隱藏屬性:

chattr:設(shè)置文件的隱藏屬性(注意:該命令只能在Ext2/Ext3的文件系統(tǒng)上生效)

參數(shù):

+:增加一個(gè)特殊參數(shù),其他原本存在的不變

-:減去一個(gè)特殊參數(shù),同上

=:既有后面接的參數(shù)

?

A:訪問一個(gè)文件時(shí),它的atime不會(huì)改變(對(duì)較慢的計(jì)算機(jī)有用)

S:一般文件是異步寫入磁盤,如果加上S后修改文件時(shí),改動(dòng)會(huì)同步寫入磁盤

a:設(shè)置a之后,該文件只能增加數(shù)據(jù),不能刪除和修改數(shù)據(jù)(只有root可以設(shè)置這個(gè)屬性)

c:會(huì)將文件自動(dòng)壓縮,讀取時(shí)自動(dòng)解壓縮;在存儲(chǔ)時(shí),會(huì)先壓縮在存儲(chǔ)

d:當(dāng)dump程序執(zhí)行時(shí),該屬性會(huì)是此文件(目錄)不會(huì)被dump備份

i:該屬性可以是一個(gè)文件不能被刪除、改名,設(shè)置連接也無法寫入或添加數(shù)據(jù)(只有root可以設(shè)置這個(gè)屬性)

s:但文件被刪除時(shí),它將完全從硬盤空間中刪除

u:與s相反,如果文件被刪除,數(shù)據(jù)內(nèi)容還存在于硬盤中,可以找回此文件

?

lsattr:顯示文件的隱藏屬性

參數(shù):

-a:顯示隱藏文件屬性

-d:如果接的是目錄,僅列出目錄本身屬性而非目錄內(nèi)的文件名

-R:連同子目錄的數(shù)據(jù)也一同列出

3)文件的特殊權(quán)限:SUID,SGID,SBIT

在文件或目錄中users、group以及others的可執(zhí)行權(quán)限沒有設(shè)置(x),所以S,T代表權(quán)限為空

?

Set UID功能與限制:

出現(xiàn)在文件所有者的x權(quán)限上,當(dāng)設(shè)置了SUID的程序文件,在用戶執(zhí)行該程序時(shí),用戶的權(quán)限是該程序文件的屬主的權(quán)限。(借權(quán)執(zhí)行自己用戶身份做不了的)讓一個(gè)沒有相應(yīng)權(quán)限的用戶運(yùn)行程序時(shí),可以訪問他沒有權(quán)限訪問的資源

s(小寫):表示SUID和所有者權(quán)限中可執(zhí)行位被設(shè)置

S(大寫):表示SUID被設(shè)置,但所有者權(quán)限中可執(zhí)行位沒有被設(shè)置

?

1.SUID僅對(duì)二進(jìn)制文件有效

2.執(zhí)行者對(duì)該文件需要有可執(zhí)行權(quán)限

3.本權(quán)限僅對(duì)執(zhí)行該程序的過程中(run-time)有效

4.執(zhí)行者具有該程序所有者(owner)的權(quán)限

注:SUID僅用在二進(jìn)制文件上,不能用在shell script;同時(shí)SUID對(duì)目錄也無效

Set GID功能與限制:

出現(xiàn)在用戶組的X權(quán)限上,功能與SUID類似,但SGID可以對(duì)目錄或文件設(shè)置 (一般情況下,出于對(duì)系統(tǒng)安全的考慮,盡量使用SGID代替SUID);

s(小寫):表示SUID和同組用戶權(quán)限中可執(zhí)行位被設(shè)置

S(大寫):表示SUID被設(shè)置,但同組用戶權(quán)限中可執(zhí)行位沒有被設(shè)置

?

文件:

1.對(duì)二進(jìn)制文件有效

2.程序執(zhí)行著對(duì)該程序要有可執(zhí)行權(quán)限

3.執(zhí)行者在執(zhí)行該程序中會(huì)獲得該程序用戶組的支持

目錄:

1.具有r與x權(quán)限,該用戶能夠進(jìn)入目錄

2.用戶在此目錄下的有效用戶組,將會(huì)變成該目錄的用戶組

3.用戶在此目錄下,具有寫權(quán)限(可以新建文件),則用戶創(chuàng)建的新文件的用戶組與此目錄的用戶組相同

?

Sticky Bit功能與限制:

SBIT只針對(duì)目錄有效,對(duì)文件沒有效果

t(小寫):表示SBIT和其他人權(quán)限中可執(zhí)行為被設(shè)置

T(大寫):表示SBIT被設(shè)置,但其他人權(quán)限中沒有設(shè)置可執(zhí)行位

?

1.用戶在此目錄下具有w,x權(quán)限

2.在用戶在該目錄下創(chuàng)建文件或目錄時(shí),僅有自己和root才有權(quán)利刪除

?

4為SUID = u+s

2為SGID = g+s

1為SBIT = o+t

?

6.查看文件類型:file

命令與文件名的查詢:

1)腳本文件名的查詢:

which(尋找“執(zhí)行文件”)

2)文件名查找:

whereis(尋找特定文件)

-b:只找二進(jìn)制文件

-m:只找說明文件manual路徑下的文件

-s:只找source源文件

-u:查找上述選項(xiàng)中的其他特殊文件

locate(查詢數(shù)據(jù)庫(kù)/var/lib/mlocate/mlocate.mdb來搜索文件)

-i:忽略大小寫差異

-r:后接正則表達(dá)式的顯示方式

find

1.與時(shí)間有關(guān)的參數(shù)

-atime n:在n天之內(nèi)改過的文件

-ctime +n:列出n天之前(不包含n天本身)被改過的文件名

-mtime -n:列出n天之前(包含n天本身)被改過的文件名

-newer file:file為一個(gè)已存在的文件,列出比file還新的文件名

2.與用戶用戶組有關(guān)的參數(shù)

-uid n:n表示用戶賬號(hào)的ID信息

-gid n:n表示用戶組名的ID信息

-user name:name為用戶賬號(hào)名

-group name:name表示用戶組名

-nouser:尋找文件的所有者不存在于/etc/passwd的人

-nogroup:尋找文件的所有用戶組不存在于/etc/group中的文件

3.與權(quán)限名稱有關(guān)的參數(shù)

-name filename:查找文件名為filename文件

-size [+ -] SIZE:查找比SIZE還要大(+)或小(-)的文件,SIZE規(guī)格:c表示byte,k表示kbyte

-type TYPE:查找文件類型為TYPE,TYPE包括:一般正規(guī)文件(f),設(shè)備文件(b,c),目錄(d),連接文件(l),socket(s),FIFO(p)

-perm mode:剛好等于mode的文件,mode為chmod的屬性值(=)

-perm -mode:必須包括mode的文件(>=)

-perm +mode:包含任一mode的權(quán)限(<=)

4.其他可進(jìn)行的操作

-exec command:command作為命令,后接其他命令來處理查找到的結(jié)果

-print:將結(jié)果打印到屏幕(此操作默認(rèn))

?

案例:find / -user jay -exec cp -a {} /test/ \;

”{}“代表由find找到的內(nèi)容

”-exec“到”\;“是關(guān)鍵字,代表find額外命令的開始(-exec)到結(jié)束(\;)

”;“表示轉(zhuǎn)義

小結(jié):

1.能讓用戶進(jìn)入目錄成為可工作目錄的基本權(quán)限

需要有用戶對(duì)此文件或目錄的執(zhí)行權(quán)限(x);如果想查閱目錄,還需要加上r

2.用戶在某個(gè)目錄中讀取一個(gè)文件的基本權(quán)限

用戶需要對(duì)此目錄有x;用戶需要對(duì)文件有r

3.用戶可以修改文件的基本權(quán)限

用戶在該文件所在的目錄至少有x;用戶對(duì)該文件要有r,w

4.用戶可以創(chuàng)建一個(gè)文件的基本權(quán)限

用戶在該目錄下有w,x(重點(diǎn)在w)

5.用戶進(jìn)入目錄并執(zhí)行某個(gè)命令的基本權(quán)限

用戶在該目錄至少有x;用戶在該文件至少有x

?

?

總結(jié)

以上是生活随笔為你收集整理的文件与目录管理——笔记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。