Linux目錄及文件相關(guān)知識整理

Linux 文件管理是學(xué)習(xí) Linux 的基礎(chǔ)铣口,看了鳥叔的 Linux 書籍,把 Linux 目錄及文件相關(guān)的知識整理如下蚕断。

說明:文本的測試環(huán)境是 CentOS 7迹冤。

  1. 文件屬性

1.1 基本概念

文件擁有者(Owner):在 Linux 中,每個用戶都有自己的主文件夾移宅,也就是 /home/user 文件夾归粉,user 為具體的用戶名,你就是這個文件夾下文件的擁有者漏峰,用戶之間是無法查看的糠悼。

群組(Group):為了便于用戶之間的合作交流,用戶可以組成一個小團(tuán)體浅乔,也就是群組倔喂。在這里大家可以共享一些文件,這些文件就是屬于整個群組的。

其他(Other):對于群組之外的用戶滴劲,都看作是其他人攻晒。

root 這個特殊用戶在 Linux 中是天神一般的存在,因為它可以做到一切事情班挖,當(dāng)然也包括查看任何用戶的主文件夾下的文件鲁捏,而普通用戶是無法查看 root 用戶的主文件夾 /root 的。

在 Linux 系統(tǒng)當(dāng)中萧芙,默認(rèn)的情況下给梅,系統(tǒng)上的所有帳號與一般身份使用者,還有 root 用戶的相關(guān)信息双揪, 都是記錄在 /etc/passwd 這個文件內(nèi)的动羽。至于個人的密碼則是記錄在 /etc/shadow 這個文件中,但是密碼都是經(jīng)過算法加密的渔期,即使是 root 用戶也沒法知道你的明文密碼(查看加密算法可用 authconfig --test | grep hashing 命令)运吓。 此外,Linux所有的群組名稱都是記錄在 /etc/group 文件內(nèi)的疯趟。

1.2 文件屬性

使用 root 用戶登錄拘哨,cd 切換到 /root 目錄,輸入 ls -al 列出目錄下的所有的文件(包含隱藏文件)及屬性信峻,ls 是 list 列表的縮寫倦青,a 即是 attribute 屬性的首字母,l 也是 list 的首字母盹舞。

image.png

如上圖产镐,把文件的屬性分為 7 列來看。

第一列為這個文件的類型與權(quán)限踢步,共有十個字符癣亚,第一個字符為文件的類型,d 表示是目錄(dictionary)贾虽,- 表示是普通的文件逃糟,剩下的九個字符為文件的權(quán)限吼鱼。權(quán)限位可分為三組蓬豁,第一組為文件擁有者的權(quán)限,r 表示是可讀(read)菇肃,w 表示是可寫(write)地粪,x 表示是可執(zhí)行(execute);第二組為群組其他人的權(quán)限琐谤,- 表示沒有該位的權(quán)限蟆技;第三組為群組外其他人的權(quán)限,Linux 中的文件權(quán)限控制就是通過這九個權(quán)限位來實現(xiàn)的。

說明:rwx 這三者對于文件和目錄意思是不一樣的质礼。

對于目錄來說旺聚,r 表示擁有此權(quán)限可以讀取該目錄的結(jié)構(gòu)列表,即查看目錄下的文件名和子目錄名眶蕉,但僅僅是文件名稱砰粹,能不能查看文件內(nèi)容,還需要看有沒有文件的可讀(r)權(quán)限造挽;w 表示擁有此權(quán)限可以更改該目錄的結(jié)構(gòu)列表碱璃,即更改目錄下的文件名或者子目錄名,具體為新建文件或目錄饭入,刪除已存在的文件或目錄嵌器,文件或目錄的重命名,文件或目錄的移動谐丢。x 表示擁有此權(quán)限的用戶可以進(jìn)入該目錄中爽航,無法進(jìn)入該目錄便不能讀取目錄中文件中的內(nèi)容,但是如果有目錄的 r 權(quán)限乾忱,是可以查看文件及目錄列表的岳掐,注意這兩者的區(qū)別,x 是文件內(nèi)容饭耳,r 是文件名稱串述。所以如果要開放某一目錄給任何人瀏覽,應(yīng)該至少給予 r 和 x 權(quán)限寞肖。

對于文件來說纲酗,r 表示擁有此權(quán)限可以讀取文件中的實際內(nèi)容;w 表示擁有此權(quán)限可以修改文件中的內(nèi)容新蟆,但不包括刪除文件觅赊,刪除文件權(quán)限是和文件所在目錄的權(quán)限 w 有關(guān)的;x 表示擁有此權(quán)限可以執(zhí)行文件琼稻,如一些命令文件吮螺。

image.png

第二列為這個文件有多少的鏈接文件,可想象 Windows 下一個文件的快捷方式有多少個帕翻。

第三列為這個文件的擁有者賬號鸠补。

第四列為這個文件的群組名稱,賬號名默認(rèn)和群組名同名嘀掸。

第五欄為這個文件的容量大小紫岩,默認(rèn)單位為字節(jié)(Byte)。

第六欄為這個文件的創(chuàng)建日期或者是最近的修改日期睬塌,日期格式為月 日 時間泉蝌,如果文件被修改的時間距離現(xiàn)在很久了歇万,則只會顯示年份。顯示文件完整的日期勋陪,可使用 ls -l --full-time 命令贪磺。

第七欄為這個文件的文件名,文件前有 . 代表這個文件為隱藏文件诅愚。

1.3 更改文件或目錄的屬性及權(quán)限

root 用戶可以更改任意文件或目錄的屬性缘挽,而普通用戶只能更改自己主文件夾下的文件或目錄的屬性。

1.3.1 chmod 改變文件及目錄權(quán)限

命令格式:chmod [-R] 權(quán)限寫法 文件或目錄呻粹,R 為可選參數(shù)壕曼,加上此參數(shù)表示同時遞歸改變目錄下的所有子目錄或文件的權(quán)限。

兩種方式:

  • 數(shù)字類型

使用數(shù)字來表示 rwx等浊,r->4腮郊,w->2,x->1筹燕。對三組權(quán)限(Owner轧飞,Group,Other)設(shè)置撒踪,只需將三個數(shù)字累加起來过咬,沒有某一位權(quán)限,累加數(shù)字就為 0制妄。

  • 符號類型

使用符號 u掸绞,g,o 來代表 User(Owner)耕捞,Group衔掸,Other,通過給這三個符號賦值(=)俺抽,加入(+)敞映,除去(-) rwx 來設(shè)置權(quán)限,另外還可以使用 a 表示所有用戶(All)來設(shè)置權(quán)限磷斧。

示例:

使用 root 用戶在系統(tǒng)的根目錄下振愿,創(chuàng)建 test 文件,查看 test 文件夾設(shè)置的默認(rèn)屬性為 -rw-r--r-- 1 root root 日期 test弛饭。

cd / # 切換目錄到根目錄
touch test # 默認(rèn)屬性創(chuàng)建 test文件
ls -l test # 查看 test 文件夾屬性

然后使用另外一個普通用戶登錄系統(tǒng)冕末,打開該文件,但是由于只有只讀屬性孩哑,所以無法編輯這個 test 空白文件栓霜。

使用 root 用戶翠桦,修改該文件的權(quán)限横蜒,使同群組的用戶(Group)及其他用戶(Other)可以編輯此文件胳蛮。

命令1:

chmod 746 test # 修改 test 文件屬性

命令2:

chmod g=rw,o=rw test # 使用重新賦值的方式設(shè)置權(quán)限,也可以將 g 和 o 連寫 chmod go=rw test

命令3:

chmod g+w,o+w test # 使用加入新權(quán)限的方式設(shè)置權(quán)限丛晌,也可以將 g 和 o 連寫成 chmod go+w test

命令4:

chmod a+w test # 直接使用 a 給所有用戶加上 w 權(quán)限

給文件設(shè)置權(quán)限命令有很多種仅炊,只需選擇一種即可。這樣修改 test 文件的權(quán)限后澎蛛,其他用戶就可以編輯該文件了抚垄。

1.3.2 chown 改變文件及目錄擁有者

命令格式:chown [-R] 用戶名稱[:群組名稱] 文件或目錄,R 為可選參數(shù)谋逻,加上此參數(shù)表示同時遞歸改變目錄下的所有子目錄或文件的擁有者呆馁。群組名稱也可以通過 chown 命令修改,當(dāng)然還可以通過下面的 chgrp 命令修改毁兆。

示例:

假如 root 用戶將 test 文件復(fù)制一份給另一個普通用戶 wzw浙滤,復(fù)制完后,test 副本的文件屬性中气堕,文件所有者和群組還是 root root纺腊,也就是復(fù)制操作會將原文件的文件屬性也復(fù)制。那么 wzw 這個普通用戶收到這個副本文件時茎芭,并不具有該文件的所有操作揖膜,如重新設(shè)置該副本文件的權(quán)限,所以 root 用戶在將這個副本文件交給 wzw 這個用戶之前梅桩,要將這個文件的擁有者修改為 wzw壹粟。

cp test test1 # 復(fù)制 test 文件為 test1 文件
ls -l test1 # 查看復(fù)制后的 test1 文件的屬性,文件擁有者和群組仍為 root root
chown wzw test:test test1 # 將 test1 文件擁有者和群組都修改為 wzw 用戶
ls -l test1 # 再次查看 test1 文件的屬性宿百,文件擁有者和群組已經(jīng)修改為 wzw wzw

修改文件屬性中群組也可以使用下面的 chgrp 命令煮寡。

1.3.3 chgrp 改變文件及目錄群組

命令格式:chgrp [-R] 群組名稱 文件或目錄,R 為可選參數(shù)犀呼,加上此參數(shù)表示同時遞歸改變目錄下的所有子目錄或文件的擁有者幸撕。

示例:

將上面復(fù)制的文件 test1 群組設(shè)為已經(jīng)存在的 root 群組和不存在的 test 群組,在 Linux 中外臂,創(chuàng)建新用戶后坐儿,默認(rèn)還會創(chuàng)建對應(yīng)的用戶名稱的群組。

chgrp root test1 # 將 test1 文件的群組屬性設(shè)為 root 群組
ls -l test1 # 查看 test1 文件的屬性宋光,可以看到群組已經(jīng)改為了 root貌矿,但文件的擁有者還是 wzw 沒有變
chgrp test test1 # 將 test1 文件的群組屬性設(shè)為 test 群組,會提示 test 是無效的組

chown 和 chgrp 命令都可以修改文件屬性的群組罪佳,但是 chown 還可以設(shè)置文件的擁有者逛漫,這就是兩者的區(qū)別。

  1. 目錄配置

2.1 FHS 標(biāo)準(zhǔn)

由于 Linux 的發(fā)行版非常多赘艳,除了文本使用的 CentOS 外酌毡,常見的還有 Ubuntu克握,Debian,RedHat 等等枷踏。如果每個發(fā)行版的系統(tǒng)目錄結(jié)構(gòu)都不一樣菩暗,那么就需要學(xué)習(xí)每個版本的 Linux,這肯定是我們不愿看到的旭蠕,所以 Linux 社區(qū)就制定了文件系統(tǒng)層次結(jié)構(gòu)標(biāo)準(zhǔn)停团,簡稱 FHS 標(biāo)準(zhǔn)。FHS 標(biāo)準(zhǔn)定義了 Linux 操作系統(tǒng)中主要目錄及目錄內(nèi)容掏熬,大多數(shù)的 Linux 發(fā)行版都是遵從 FHS 標(biāo)準(zhǔn)并維護(hù) FHS 的要求的佑稠。如今 FHS 標(biāo)準(zhǔn)也在不斷的修訂中。

2.2 目錄說明

   目錄                          說明                   
   /                     整個文件系統(tǒng)層次結(jié)構(gòu)的根目錄             
  /bin      可執(zhí)行文件(命令)目錄旗芬,可以被root與一般用戶使用讶坯,如 cat,chmod岗屏,mkdir 等常用命令
 /sbin      開機辆琅、修復(fù)、還原系統(tǒng)所需要的指令目錄这刷,這些指令只有 root 才能夠利用來“設(shè)置”系統(tǒng)婉烟,其他使用者最多只能用來“查詢”
 /boot      開機引導(dǎo)文件目錄,如 Linux 的內(nèi)核(kernel)文件名為 vmlinuz暇屋,開機管理程序 grub
  /dev      存取設(shè)備目錄似袁。在 Linux 中,任何設(shè)備都是以文本形態(tài)存在于這個目錄中的咐刨,如 cpu昙衅,disk 等
  /etc             系統(tǒng)主要的配置文件目錄,如前面提到的用戶的密碼信息定鸟。       
  /lib                      系統(tǒng)函數(shù)庫目錄                 
 /media                 可移除的設(shè)備目錄而涉,如光盤,DVD            
  /mnt                     暫時掛載的設(shè)備目錄                
  /opt               第三方軟件放置目錄联予,如 KDE 桌面管理系統(tǒng)         
  /run             系統(tǒng)開機后所產(chǎn)生的各項信息放置目錄啼县,可以使用內(nèi)存仿真       
  /srv            服務(wù)所需要取用的數(shù)據(jù)目錄,如 WWW 服務(wù)沸久,F(xiàn)TP 服務(wù)      
  /tmp      一般使用者或者是正在執(zhí)行的程序暫時放置文件的目錄季眷,任何人都能夠存取,重要的數(shù)據(jù)不可放置在此目錄
  /usr      軟件資源所放置的目錄卷胯,類似Windows 系統(tǒng)的 C:\Windows\ 和 C:\Program files\ 安裝一些系統(tǒng)默認(rèn)的軟件或者一般的軟件
/usr/bin                  用戶能夠使用的指令目錄               
/usr/lib                  類似于 /lib 目錄               

/usr/lib64 類似于 /lib64 目錄
/usr/libexec 某些不被一般使用者慣用的可執(zhí)行文件或腳本目錄子刮,如 X 圖形窗口下面的操作指令
/usr/local 軟件的安裝目錄
/usr/sbin 非系統(tǒng)正常運行所需要的系統(tǒng)指令,如某些網(wǎng)絡(luò)服務(wù)軟件的服務(wù)指令窑睁,基本功能和 /sbin 差不多
/usr/share 只讀架構(gòu)的數(shù)據(jù)文件和共享文件目錄
/usr/games 與游戲比較相關(guān)的數(shù)據(jù)放置目錄
/usr/include c/c++等程序語言的文件開始(header)與包含檔(include)放置目錄挺峡,當(dāng)我們以t arball 方式 (*.tar.gz 的方式安裝軟件)安裝某些軟件時葵孤,會使用到里頭的許多包含檔
/usr/src 一般源代碼建議放置目錄
/home 使用者主文件夾目錄。沒創(chuàng)建一個新的使用者賬號沙郭,便在該目錄下創(chuàng)建一個和用戶名稱相同的文件夾
/lib64 用來存放與 /lib 不同的格式的二進(jìn)制函數(shù)庫佛呻,如支持 64 位的 /lib64 函數(shù)
/root 系統(tǒng)管理員(root)的主文件夾
/proc 虛擬文件系統(tǒng)目錄裳朋,數(shù)據(jù)都是放在內(nèi)存中的病线,而不占用任何的硬盤空間,如系統(tǒng)核心鲤嫡、行程信息送挑,網(wǎng)絡(luò)狀態(tài)
/sys 虛擬文件系統(tǒng)目錄,和 /proc 類似暖眼,同樣也是不占用硬盤空間惕耕,主要也是記錄核心與系統(tǒng)硬件信息較相關(guān)的信息
/var 經(jīng)常性變動的文件目錄,如高速緩存诫肠,登錄文件以及軟件運行中產(chǎn)生的文件司澎,如 數(shù)據(jù)庫文件
/var/cache 應(yīng)用程序本身運行過程中會產(chǎn)生緩存文件目錄
/var/lib 程序執(zhí)行過程中數(shù)據(jù)文件放置的目錄
/var/lock 文件鎖目錄,如共享鎖栋豫,只能讀取文件挤安,不能修改文件
/var/log 登錄文件放置的目錄
/var/mail 個人電子郵件信箱放置的目錄
/var/run 與 /run 類似
/var/spool 排隊等待其他程序使用的數(shù)據(jù)目錄,如工作調(diào)度數(shù)據(jù)

在 CentOS7 中丧鸯,目錄的編排與過去的版本不同蛤铜,將許多原本放在根目錄(/)中的目錄,放到了 /usr 目錄中了丛肢,然后只在根目錄下加上目錄的鏈接設(shè)置围肥。包括下面這些:

  • /bin -> /usr/bin
  • /sbin -> /usr/sbin
  • /lib -> /usr/lib
  • /lib64 -> /usr/lib64
  • /var/lock -> /run/lock
  • /var/run -> /run

這樣做帶可以隱藏文件路徑拦焚,增加權(quán)限安全楼眷,有節(jié)省存儲的好處谨履。

結(jié)合上面的目錄邦蜜,Linux 的目錄樹結(jié)構(gòu)如下圖所示勇吊。

image.png
  1. 文件與目錄管理

3.1 特殊目錄與路徑

3.1.1 特殊目錄

  • .:表示當(dāng)前的目錄调限,也可以使用 ./ 來表示衙荐。
  • ..:表示上一級目錄荆陆,也可以使用 ../ 來表示篮愉。
  • -:表示前一個工作目錄腐芍。
  • ~:表示當(dāng)前使用者的主文件夾,也即是 /home/user名试躏。
  • ~user名:表示 user 這個使用者的主文件夾猪勇。

3.1.2 特殊路徑

  • 絕對路徑

一種從系統(tǒng)的根目錄開始寫起的路徑表示方式,如 /home/wzw/Desktop

  • 相對路徑

一種以當(dāng)前目錄為相對位置的路徑的表示方式颠蕴,如當(dāng)前在 /home/wzw/Download 目錄中泣刹,想切換到 /home/wzw/Desktop 目錄助析,只需要使用 cd ../Desktop 命令即可。

絕對路徑寫起來可能會比絕對路徑椅您,但具有絕對的正確性外冀,而相對路徑相比絕對路徑更加的靈活,如在寫程序時為了程序的可移植性掀泳,常使用相對路徑來表示目錄雪隧。

3.2 目錄相關(guān)命令

3.2.1 切換目錄

命令格式:cd 目錄

cd 是 Change Dictionary 的縮寫,目錄可以為前面提到的特殊目錄员舵,使用絕對路徑或者時相對路徑表示脑沿。

示例:

cd / # 切換目錄到根目錄

3.2.2 顯示當(dāng)前目錄

命令格式:pwd [-p]

pwd 是 Print Working Dictionary 的縮寫,也就是顯示當(dāng)前所在的目錄马僻,p 參數(shù)是可以取得當(dāng)前目錄的真實目錄庄拇,如鏈接的目錄文件 /bin ,直接使用 pwd 命令韭邓,顯示 /bin措近,但加上 P 參數(shù),顯示真實的目錄為 /usr/bin女淑。

示例:

cd /bin # 切換目錄到 /bin
pwd # 顯示當(dāng)前目錄為 /bin
pwd -P # 顯示當(dāng)前目錄真實目錄為 /usr/bin,CentOS7 下成立瞭郑,其他版本 Linux 可能不成立哦

3.2.3 查看目錄

命令格式:ls [-aAdfFhilnrRSt] 目錄名稱或者文件名、ls [--color={never,auto,always}] 目錄名稱或者文件名诗力、ls [--full-time] 目錄名稱或者文件名

ls 這個命令的參數(shù)比較多凰浮,參數(shù)的詳情可以使用 man 、 info 查看 ls 詳細(xì)信息苇本,或者查看 ls 的幫助ls -- help袜茧。

選項與參數(shù):

-a :全部的文件,連同隱藏文件( 開頭為 . 的文件) 一起列出來(常用)

-A :全部的文件瓣窄,連同隱藏文件笛厦,但不包括 . 與 .. 這兩個目錄

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

-f :直接列出結(jié)果俺夕,而不進(jìn)行排序 (ls 默認(rèn)會以文件名排序I淹埂)

-F :根據(jù)文件、目錄等信息劝贸,給予附加數(shù)據(jù)結(jié)構(gòu)姨谷,例如:

  *:代表可可執(zhí)行文件; /:代表目錄映九; =:代表 socket 文件梦湘; |:代表 FIFO 文件;

-h :將文件大小以人類較易讀的方式(例如 GB, KB 等等)列出來;

-i :列出 inode 數(shù)字捌议,也即是鏈接到目錄或者文件的數(shù)目

-l :長數(shù)據(jù)串行出哼拔,包含文件的屬性與權(quán)限等等數(shù)據(jù)(常用)

-n :列出 UID 與 GID 而非使用者與群組的名稱

-r :將排序結(jié)果反向輸出,例如:原本文件名由小到大瓣颅,反向則為由大到小

-R :連同子目錄內(nèi)容一起列出來倦逐,等于該目錄下的所有文件都會顯示出來

-S :以文件大小大小排序,而不是用文件名排序

-t :依時間排序宫补,而不是用文件名

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

--color=always :顯示顏色

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

--full-time :以完整時間模式 (包含年、月守谓、日穿铆、時您单、分) 輸出

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

這些參數(shù)最常用的還是 l 參數(shù)斋荞,為了方面使用,很多 Linux 版本都給 ls -l 命令起了個別名 ll虐秦,兩種命令是同樣的作用平酿。

3.2.4 創(chuàng)建新的目錄

命令格式:mkdir [-mp] 目錄名稱

mkdir 為 Make Dictionary 的縮寫,目錄名稱前可以加上目錄位置悦陋,m 參數(shù)設(shè)置目錄權(quán)限蜈彼,不采用默認(rèn)的目錄權(quán)限(umask),p 參數(shù)遞歸創(chuàng)建所需的目錄俺驶。

示例:

cd ~/Desktop # 切換用戶的主文件夾下的桌面
mkdir test # 在桌面上創(chuàng)建 test 目錄
mkdir -m 711 test0 # 創(chuàng)建 test0 目錄幸逆,并給目錄設(shè)置 rwx--x--x 權(quán)限
ls -ld test0 # 顯示 test0 目錄的屬性
mkdir -p test1/test2/test3 # 創(chuàng)建多級目錄,不加 p 參數(shù)暮现,會提示沒有此文件或目錄还绘,創(chuàng)建失敗
ls -ld test* # 顯示剛才創(chuàng)建的前綴為 test 目錄的屬性

3.2.5 刪除空的目錄

命令格式:rmdir [-p] 目錄名稱

rmdir 為 Remove Dictionary 的縮寫,p 參數(shù)遞歸刪除空目錄栖袋。

示例:

mkdir test # 刪除上面創(chuàng)建的 test 目錄
mkdir -p test1/test2/test3 # 遞歸刪除上面創(chuàng)建的 test1/test2/test3 目錄

但是如果目錄不為空拍顷,即目錄內(nèi)有內(nèi)容,就不能使用 rmdir 刪除目錄塘幅,而要用 rm -r 命令刪除昔案。

命令格式:rm [-rf] 目錄名稱

r 參數(shù)是將目錄下的內(nèi)容一一詢問是否要刪除,在加上 f 參數(shù)則不詢問直接強行刪除电媳。

示例:

mkdir test # 創(chuàng)建 test 目錄
touch test/test.txt # 在 test 目錄中創(chuàng)建 test.txt 文件
rm -rf test # 刪除 test 目錄及目錄中的所有內(nèi)容踏揣,如果直接 rmdir 刪除,會提示刪除失敗匾乓,目錄非空

3.3 文件相關(guān)命令

3.3.1 新建文件

命令格式:touch [-acdmt] 文件名稱

一個文件在 Linux 中是有多個時間參數(shù)來記錄時間相關(guān)的信息的捞稿。

  • modification time (mtime): 當(dāng)該文件的“內(nèi)容數(shù)據(jù)”變更時,就會更新這個時間,內(nèi)
    容數(shù)據(jù)指的是文件的內(nèi)容括享,而不是文件的屬性或權(quán)限搂根。
  • status time (ctime): 當(dāng)該文件的“狀態(tài) (status)”改變時,就會更新這個時間铃辖,像是權(quán)限與屬性被更改了剩愧,都會更新這個時間。
  • access time (atime): 當(dāng)“該文件的內(nèi)容被取用”時娇斩,就會更新這個讀取時間(access)仁卷。舉例來說,我們使用 cat 去讀取一個文件時犬第, 就會更新該文件的 atime 锦积。

touch 命令不僅可以創(chuàng)建文件,還可以修改文件的時間信息歉嗓,a 參數(shù)就是修改 atime 的丰介;m 參數(shù)是修改 mtime 的;c 參數(shù)修改文件的時間鉴分,若該文件不存在則不創(chuàng)建新文件哮幢;d 參數(shù)是 date 簡寫,可以在后面直接加上時間參數(shù)志珍。

3.3.2 復(fù)制文件

命令格式:cp [-adfilprsu] 來源文件 目標(biāo)文件

選項與參數(shù):

-a :相當(dāng)于 -dr --preserve=all 的意思橙垢,至于 dr 請參考下列說明(常用)

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

-f :為強制(force)的意思伦糯,若目標(biāo)文件已經(jīng)存在且無法打開柜某,則移除后再嘗試一次

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

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

-p :連同文件的屬性(權(quán)限喂击、用戶、時間)一起復(fù)制過去载慈,而非使用默認(rèn)屬性(備份常用)

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

-s :復(fù)制成為符號鏈接文件 (symbolic link),亦即“捷徑”文件

-u :destination 比 source 舊才更新 destination办铡,或 destination 不存在的情況下才復(fù)制

--preserve=all :除了 -p 的權(quán)限相關(guān)參數(shù)外辞做,還加入 SELinux 的屬性, links, xattr 等也復(fù)制了。

最后需要注意的寡具,如果來源文件有兩個以上秤茅,則最后一個目的文件一定要是“目錄”才行!

3.3.3 刪除文件

在上面刪除非空目錄中提到的命令也同樣適用于刪除文件童叠。

3.3.4 移動文件

命令格式:cp [--fiu] 來源位置 目標(biāo)位置

f 參數(shù)為如果目標(biāo)文件已存在框喳,則不詢問直接覆蓋课幕,i 參數(shù)為如果目標(biāo)文件已存在,則詢問是否覆蓋五垮,u 參數(shù)為如果目標(biāo)文件已存在乍惊,但來源文件比較新,則更新目標(biāo)文件為來源文件放仗,另外此命令還可以用來重命名文件和目錄润绎。

3.3.5 查看內(nèi)容

查看一個文件內(nèi)容的命令很多,最常用的有 cat诞挨、more莉撇、less 等等,當(dāng)然我們也可以直接在文本編輯器中惶傻,如vim(還有語法高亮)打開查看文件的內(nèi)容棍郎。

  • cat 是 Concatenate(連續(xù))的簡寫,并不是“貓”的意思哦银室,cat 由第一行開始顯示文件內(nèi)容
  • tac 從最后一行開始顯示涂佃,可以看出 tac 是 cat 的倒寫。
  • nl 顯示的時候粮揉,順道輸出行號巡李。
  • more 一頁一頁的顯示文件內(nèi)容抚笔,空格鍵向下翻頁扶认,Enter 鍵向下滾動一行,/字符串殊橙,查詢字符串辐宾。
  • less 與 more 類似,但是比 more 更好的是膨蛮,他可以往前翻頁叠纹,空格鍵向下翻頁,pagedown 鍵向下翻動一頁敞葛,pageup 向上翻動一頁誉察。
  • head 只看頭幾行。
  • tail 只看尾巴幾行惹谐。
  • od 以二進(jìn)制的方式讀取文件內(nèi)容持偏。

個人 GitHub 地址:https://github.com/weizhiwen,歡迎來訪氨肌。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末鸿秆,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子怎囚,更是在濱河造成了極大的恐慌卿叽,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異考婴,居然都是意外死亡贩虾,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進(jìn)店門沥阱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來整胃,“玉大人,你說我怎么就攤上這事喳钟∑ㄊ梗” “怎么了?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵奔则,是天一觀的道長蛮寂。 經(jīng)常有香客問我,道長易茬,這世上最難降的妖魔是什么酬蹋? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮抽莱,結(jié)果婚禮上范抓,老公的妹妹穿的比我還像新娘。我一直安慰自己食铐,他們只是感情好匕垫,可當(dāng)我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著虐呻,像睡著了一般象泵。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上斟叼,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天偶惠,我揣著相機與錄音,去河邊找鬼朗涩。 笑死忽孽,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的谢床。 我是一名探鬼主播兄一,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼萤悴!你這毒婦竟也來了瘾腰?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤覆履,失蹤者是張志新(化名)和其女友劉穎蹋盆,沒想到半個月后费薄,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡栖雾,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年楞抡,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片析藕。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡召廷,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出账胧,到底是詐尸還是另有隱情竞慢,我是刑警寧澤,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布治泥,位于F島的核電站筹煮,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏居夹。R本人自食惡果不足惜败潦,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望准脂。 院中可真熱鬧劫扒,春花似錦、人聲如沸狸膏。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽环戈。三九已至闷板,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間院塞,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工性昭, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留拦止,地道東北人。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓糜颠,卻偏偏與公主長得像汹族,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子其兴,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,792評論 2 345