Linux 文件管理

一作箍、lrzsz

Linux和Windows互傳文件工具。

1. 安裝

yum install lrzsz
rpm -ivh /run/media/root/CentOS\ 7\ x86_64/Packages/lrzsz-0.12.20-36.el7.x86_64.rpm

二、Linux一級目錄

帶*號為標(biāo)準(zhǔn)的目錄結(jié)構(gòu)模聋。

boot*

存放靜態(tài)文件和啟動相關(guān)文件既鞠,包括內(nèi)核晕翠。

內(nèi)核文件:
ll -h /boot/vmlinuz-2.6.32-696.el6.x86_64
-rwxr-xr-x. 1 root root 4.1M Mar 22 2017 /boot/vmlinuz-2.6.32-696.el6.x86_64

dev*

存放設(shè)備相關(guān)文件瞳浦。
字符設(shè)備担映,不是硬件的,是邏輯上的設(shè)備术幔。按照順序訪問另萤。沒有緩存概念。如:/dev/zero诅挑、……四敞;
塊設(shè)備,隨機(jī)訪問(按照一定規(guī)則拔妥,快速定位文件所在位置)忿危。有緩存概念。如:/dev/sda没龙、/dev/sdb铺厨、……。

etc*

存放系統(tǒng)配置硬纤。

lib*

存放共享庫解滓。

media*

掛載點,用于掛載設(shè)備筝家。

mnt*

掛載點洼裤,一般是管理員手工掛載。

opt*

存放第三方應(yīng)用程序軟件包溪王。

sbin*

存放管理員運(yùn)行的程序腮鞍。

bin*

存放普通用戶能運(yùn)行的程序。
存放基本命令庫莹菱,基本二進(jìn)制程序移国。
在CentOS7中,bin不是文件道伟,而是軟鏈接迹缀。

srv*

存放服務(wù)相關(guān)的程序和數(shù)據(jù)。

tmp*

存放臨時文件蜜徽。

usr*

第二層目錄結(jié)構(gòu)裹芝,存放大部分應(yīng)用程序。默認(rèn)情況娜汁,所有一級目錄中usr目錄最大嫂易。

var*

存放可變數(shù)據(jù),如:web頁面掐禁、ftp數(shù)據(jù)怜械、log日志、……

home

用戶家目錄傅事,存放用戶數(shù)據(jù)缕允。

lost+found

與文件系統(tǒng)有關(guān),只要是ext系列文件系統(tǒng)蹭越,所有目錄下都會有該目錄障本。存放因系統(tǒng)某些故障原因?qū)е侣窂交靵y的文件。

misc

雜項。

實戰(zhàn)功能
(1) 實現(xiàn)光盤自動掛載

CentOS6執(zhí)行命令cd /misc/cd驾霜,進(jìn)入神奇的目錄案训,即可使用光盤;
CentOS7需要先安裝autofs程序粪糙。

proc

虛擬目錄强霎,映射成內(nèi)存數(shù)據(jù),該目錄下的內(nèi)容都存在內(nèi)存蓉冈。

sys

存放硬件相關(guān)信息城舞。

實戰(zhàn)功能
(1) 識別新增硬盤

執(zhí)行命令echo '- - -' > /sys/class/scsi_host/host2/scan,觸發(fā)磁盤掃描寞酿,在不重啟系統(tǒng)的情況下識別硬盤家夺。

net

與misc相關(guān),和自動掛載相關(guān)伐弹。

selinux

與selinux安全策略相關(guān)拉馋。

三、文件系統(tǒng)

1. 識別大小寫

在Linux中掸茅,對大小寫敏不敏感由文件系統(tǒng)決定椅邓,如:標(biāo)準(zhǔn)Linux文件系統(tǒng)(ext*和xfs)對大小寫敏感,而FAT等格式對大小寫不敏感昧狮。

2. Linux支持類型

Linux默認(rèn)支持ext系列景馁、xfs和FAT系列文件系統(tǒng),不支持NTFS文件系統(tǒng)逗鸣。

四合住、文件名

1. 實戰(zhàn)功能

(1) 創(chuàng)建和刪除帶-號文件

創(chuàng)建和刪除時帶上該文件的完整路徑。

五撒璧、文件類型

1. 類型顏色

(1) 系統(tǒng)顏色配置文件

/etc/DIR_COLORS

六透葛、復(fù)制

1. 場景

(1) 1個源文件,目標(biāo)不存在

復(fù)制并改名卿樱。

(2) 1個源文件僚害,目標(biāo)存在且為文件

覆蓋目標(biāo)文件,默認(rèn)管理員用戶會提示是否覆蓋繁调,而普通用戶直接覆蓋萨蚕。

(3) 1個源文件,目標(biāo)存在且為目錄

復(fù)制到目標(biāo)目錄下并保留原文件名蹄胰。

(4) 多個文件岳遥,目標(biāo)不存在

報錯:提示目標(biāo)非目錄。

(5) 多個文件裕寨,目標(biāo)存在且為文件

報錯:提示目標(biāo)非目錄浩蓉。

(6) 多個文件派继,目標(biāo)存在且目錄

復(fù)制到目標(biāo)目錄下并保留原文件名。

(7) 目錄捻艳,目標(biāo)不存在

復(fù)制并改名驾窟。

(8) 目錄,目標(biāo)存在且為文件

報錯讯泣。

(9) 目錄纫普,目標(biāo)存在且為目錄

復(fù)制到目標(biāo)目錄下并保留原目錄名阅悍。

(10) 目錄好渠,目標(biāo)同名存在且為目錄

提示是否覆蓋目標(biāo)目錄及內(nèi)部的所有同名文件。

2. 實戰(zhàn)功能

(1) 復(fù)制字符文件或塊文件等特殊文件

cp -a

不能直接使用cp復(fù)制节视,需要使用cp -a保留文件屬性信息拳锚,否則會進(jìn)入特殊文件中逐個字節(jié)的數(shù)據(jù)復(fù)制,而不是復(fù)制文件名稱寻行。

(2) 批量復(fù)制并修改文件名

rename

cp無法實現(xiàn)批量復(fù)制并修改文件名霍掺,需要使用rename命令批量修改文件名。

(3) 備份文件

cp Source_File{,.bak}

配合文件通配符可以實現(xiàn)文件備份

七拌蜘、刪除

1. 實戰(zhàn)功能

(1) 刪除為掛載點的目錄

如果目標(biāo)目錄為掛載點杆烁,則rm -rf只能刪除該目錄下所有文件及子目錄,而作為掛載點的目錄無法被刪除简卧。

(2) 刪除根目錄下所有數(shù)據(jù)

方法1:
rm -rf / --no-preserve-root

從CentOS6開始兔魂,rm -rf /已經(jīng)不允許執(zhí)行,需要帶上--no-preserve-root參數(shù)举娩;
刪除時/proc/目錄下的文件會提示無法被刪除析校,因為/proc/不是硬盤數(shù)據(jù),是存儲在內(nèi)存铜涉,所以無法被刪除智玻。

方法2:
rm -rf /*

執(zhí)行該操作沒有任何提示信息,也不需要追加任何參數(shù)芙代,直接刪除根目錄下所有數(shù)據(jù)吊奢。

建議:
alias 'rm=mv -t /recycle/'

rm命令定義成mv -t,刪除時只是把文件移動到指定的臨時目錄下纹烹,以便將來刪除錯誤還能還原恢復(fù)页滚。

(3) 刪除文件后無法釋放空間或刪除大文件

因為該文件在刪除時正在被占用或訪問,刪除時不會立即釋放空間滔韵。

方法1:
lsof | grep deleted
killall

執(zhí)行lsof | grep deleted命令查看當(dāng)前系統(tǒng)中被刪除但還未釋放空間的文件逻谦,然后使用killall殺掉正在占用或訪問文件的進(jìn)程。

方法2:
> Source_File
rm

直接使用>覆蓋目標(biāo)文件的內(nèi)容陪蜻,然后執(zhí)行rm刪除邦马。
建議使用這種方法處理大文件。

八、移動

1. 同一分區(qū)下移動

在同一分區(qū)移動滋将,數(shù)據(jù)在磁盤中是不動的邻悬,只是把目錄結(jié)構(gòu)調(diào)整,所以速度快随闽。

2. 不同分區(qū)下移動

不同分區(qū)移動父丰,就需要把數(shù)據(jù)慢慢移動到另一個分區(qū)上,所以速度慢掘宪;
移動相當(dāng)于先復(fù)制再刪除蛾扇,如果移動過程中死機(jī),會發(fā)現(xiàn)兩邊都存在數(shù)據(jù)魏滚。

九镀首、tree

顯示目錄樹

1. 安裝

yum install tree
rpm -ivh /run/media/root/CentOS\ 7\ x86_64/Packages/tree-1.6.0-10.el7.x86_64.rpm

十、meta data

元數(shù)據(jù)鼠次,即文件屬性更哄。

1. 節(jié)點表

存放文件元數(shù)據(jù)的空間。

內(nèi)容:文件類型腥寇、權(quán)限成翩、UID、GID赦役、鏈接數(shù)麻敌、文件大小、時間戳扩劝、指向磁盤上文件的數(shù)據(jù)塊指針庸论、inode(節(jié)點編號)、有關(guān)文件的其他數(shù)據(jù)……

2. 節(jié)點編號

用于標(biāo)識文件的唯一性棒呛。

范圍:
在分區(qū)中唯一聂示,每個分區(qū)有自己的節(jié)點編號范圍。當(dāng)在分區(qū)中創(chuàng)建新文件時簇秒,系統(tǒng)會自動分配在該分區(qū)中唯一的節(jié)點編號鱼喉。

數(shù)量:
不同分區(qū)最多存放的節(jié)點編號總數(shù)都不同,每創(chuàng)建1個文件就要消耗1個節(jié)點編號趋观。

(1) 實戰(zhàn)功能

創(chuàng)建文件時提示空間滿扛禽,但查看磁盤分區(qū)實際仍有空閑空間
df -i

原因是該磁盤分區(qū)下的創(chuàng)建過多小文件把所有節(jié)點編號耗盡,而不是空間滿皱坛。使用df -i命令查看磁盤分區(qū)的節(jié)點編號使用情況编曼。

3. 指針地址

指向數(shù)據(jù)所在位置;
指針指向的磁盤數(shù)據(jù)塊大小固定4KB剩辟,單位為block(在Linux中是分配文件的最小單位)掐场。

(1) 直接指針

能夠直接指向存儲的數(shù)據(jù)區(qū)域往扔,共有12個直接指針,也就是能通過直接指針直接找到的最大文件為48KB熊户。

(2) 間接指針

不指向數(shù)據(jù)塊萍膛,而是指向指針塊。指針塊里分成很多小指針塊嚷堡,小指針塊再指向真正存放數(shù)據(jù)的數(shù)據(jù)塊或其他指針塊蝗罗。
小指針塊大小固定4Byte,1個指針塊由1024個小指針塊組成蝌戒,所以一級間接指針最多可以存儲4MB數(shù)據(jù)串塑;而二級間接可以存儲4GB數(shù)據(jù);三級間接指針可以存儲4TB數(shù)據(jù)瓶颠。

4. 目錄

文件引用一個是 inode號拟赊;
人是通過文件名來引用一個文件刺桃;
一個目錄是目錄下的文件名和文件inode號之間的映射粹淋;
目錄的元數(shù)據(jù)里只存儲了關(guān)于該目錄的元數(shù)據(jù)信息,元數(shù)據(jù)的數(shù)據(jù)信息(即目錄的數(shù)據(jù)內(nèi)容)存儲了該目錄下每個文件及節(jié)點編號的對應(yīng)關(guān)系瑟慈。

(1) 訪問目錄下文件的流程

要訪問目錄下的文件桃移,需要先找到目錄的節(jié)點表,然后通過指針找到數(shù)據(jù)內(nèi)容(目錄下的文件的節(jié)點編號)葛碧,再通過文件的節(jié)點編號找到文件的節(jié)點表借杰,最后再通過節(jié)點表找到文件的真正數(shù)據(jù)內(nèi)容。
如果要訪問目錄下的文件进泼,前提就是必須要有權(quán)限訪問該目錄蔗衡,因為那些文件存放再目錄下的,如果訪問不了目錄下的內(nèi)容乳绕,就不能拿到文件的節(jié)點編號绞惦,也就進(jìn)不了文件的節(jié)點表,進(jìn)而看不到文件數(shù)據(jù)內(nèi)容洋措。

(2) 刪除文件的流程

實際是系統(tǒng)把文件的節(jié)點表刪除济蝉,但文件數(shù)據(jù)仍在磁盤上,沒有立即刪除菠发,只是在數(shù)據(jù)空間上加上標(biāo)記(該空間已空閑王滤,可以寫入內(nèi)容),但當(dāng)另一個文件使用數(shù)據(jù)塊時將被覆蓋滓鸠。

實戰(zhàn)功能
恢復(fù)被刪除的文件數(shù)據(jù)

為被刪除的文件分配新的節(jié)點編號雁乡,再指向原來的數(shù)據(jù)空間。

十一糜俗、硬鏈接與軟鏈接

1. 硬鏈接

(1) 定義

1個文件踱稍,有1個節(jié)點編號墩弯,對應(yīng)多個文件名。

(2) 創(chuàng)建

不能跨分區(qū)創(chuàng)建寞射,必須在同一設(shè)備或分區(qū)下創(chuàng)建渔工;
不支持對目錄創(chuàng)建;
一般針對不同目錄創(chuàng)建桥温。

(3) 鏈接數(shù)

文件

每創(chuàng)建一次硬鏈接后引矩,鏈接數(shù)會遞增+1;
文件要存在侵浸,至少有一個鏈接數(shù)旺韭;
當(dāng)鏈接數(shù)為0,該文件將被刪除掏觉。

目錄

目錄默認(rèn)至少有2個鏈接數(shù)区端,第一個鏈接數(shù)是目錄本身,第二個鏈接數(shù)是目錄下的.(即當(dāng)前目錄)澳腹;
如果在目錄下每創(chuàng)建一個子目錄后织盼,鏈接數(shù)會遞增+1,該鏈接數(shù)是子目錄下的..(即父目錄)酱塔。

2. 軟鏈接

(1) 定義

通過指針把符號鏈接指向另一個文件沥邻;
軟鏈接跟原始文件不是同一個文件。

(2) 創(chuàng)建

支持跨設(shè)備羊娃、分區(qū)創(chuàng)建唐全;
支持對目錄創(chuàng)建;
軟鏈接的大小跟的原始文件大小沒有任何關(guān)系蕊玷,大小是指向路徑字符串的長度(字節(jié))邮利;
軟鏈接不僅可以針對文件、目錄創(chuàng)建垃帅,還可以針對軟鏈接創(chuàng)建延届,如果原始文件丟失,則相關(guān)的軟鏈接全部失效挺智;
指定原始文件時祷愉,要么使用絕對路徑,要么使用相對于軟鏈接的路徑赦颇,不能相對原始文件當(dāng)前工作目錄二鳄;
建議使用相對路徑創(chuàng)建。

(3) 實戰(zhàn)功能

軟件媒怯、版本快速安全切換

不論軟件什么版本订讼,都創(chuàng)建同一名稱的軟鏈接,將來更新版本時扇苞,只需要把軟鏈接指向新版本路徑即可欺殿,不需要更改文件配置寄纵。
軟鏈接不能直接修改指向,需要先刪除脖苏,再重新創(chuàng)建程拭。

基于兼容性的目的

有些軟件由于版本更迭,數(shù)據(jù)遷移到新的目錄棍潘,為了照顧舊軟件恃鞋,創(chuàng)建軟鏈接指向新路徑,舊軟件通過軟鏈接路徑還能找到新版本軟件亦歉。

定義短路徑

把一些比較深的路徑定義成較短路徑恤浪,類似別名的效果。

3. 總結(jié)

(1) 硬鏈接和軟鏈接區(qū)別

本質(zhì)

硬鏈接:一個文件對應(yīng)多個名稱肴楷,是同一文件水由;
軟鏈接:一個文件對應(yīng)快捷方式,是不同文件赛蔫。

鏈接數(shù)

硬鏈接:增長鏈接數(shù)砂客;
軟鏈接:不增長鏈接數(shù)。

跨分區(qū)

硬鏈接:不支持跨分區(qū)濒募;
軟鏈接:支持跨分區(qū)鞭盟。

目錄

硬鏈接:不支持對目錄創(chuàng)建;
軟鏈接:支持對目錄創(chuàng)建瑰剃。

原始文件和鏈接文件關(guān)系

硬鏈接:原始文件和鏈接文件屬性一樣,是平等關(guān)系筝野;
軟鏈接:軟鏈接依賴于原始文件晌姚。

刪除

硬鏈接:刪除原始文件,鏈接文件不受任何影響歇竟;
軟鏈接:刪除原始文件挥唠,鏈接文件失效。

大小

硬鏈接:與原始文件一致焕议;
軟鏈接:由原始文件的路徑所決定宝磨。

十二、文件內(nèi)容

1. 文件后綴

在Linux中盅安,文件后綴對系統(tǒng)沒什么影響唤锉,只是對操作者有影響。

2. 文件類型

(1) 分析流程

判斷文件頭部信息别瞭,不同類型的文件窿祥,區(qū)別主要在于頭部。頭部會有描述蝙寨,體現(xiàn)文件的區(qū)別晒衩,即magic number嗤瞎。

3. 運(yùn)行程序格式

(1) Windows

EXE、.dll听系、.lib贝奇、……

(2) Linux

ELF、.so靠胜、.a弃秆、……

4. 實戰(zhàn)功能

(1) 通過十六進(jìn)制數(shù)工具查看文件頭部信息

hexdump -n 100 -c

因為不同類型的文件,區(qū)別主要在于頭部髓帽。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末菠赚,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子郑藏,更是在濱河造成了極大的恐慌衡查,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件必盖,死亡現(xiàn)場離奇詭異拌牲,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)歌粥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進(jìn)店門塌忽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人失驶,你說我怎么就攤上這事土居。” “怎么了嬉探?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵擦耀,是天一觀的道長。 經(jīng)常有香客問我涩堤,道長眷蜓,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任胎围,我火速辦了婚禮吁系,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘白魂。我一直安慰自己汽纤,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布碧聪。 她就那樣靜靜地躺著冒版,像睡著了一般。 火紅的嫁衣襯著肌膚如雪逞姿。 梳的紋絲不亂的頭發(fā)上辞嗡,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天捆等,我揣著相機(jī)與錄音,去河邊找鬼续室。 笑死栋烤,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的挺狰。 我是一名探鬼主播明郭,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼丰泊!你這毒婦竟也來了薯定?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤瞳购,失蹤者是張志新(化名)和其女友劉穎话侄,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體学赛,經(jīng)...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡年堆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了盏浇。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片变丧。...
    茶點故事閱讀 38,646評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖绢掰,靈堂內(nèi)的尸體忽然破棺而出痒蓬,到底是詐尸還是另有隱情,我是刑警寧澤曼月,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布谊却,位于F島的核電站,受9級特大地震影響哑芹,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜捕透,卻給世界環(huán)境...
    茶點故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一聪姿、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧乙嘀,春花似錦末购、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至婴噩,卻和暖如春擎场,著一層夾襖步出監(jiān)牢的瞬間羽德,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工迅办, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留宅静,地道東北人。 一個月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓站欺,卻偏偏與公主長得像姨夹,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子矾策,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,514評論 2 348

推薦閱讀更多精彩內(nèi)容