Linux-文件系統(tǒng)-學(xué)習(xí)筆記

1、文件系統(tǒng)與目錄結(jié)構(gòu)


在不重啟的情況下愚屁,磁盤掃描搜索新增加的磁盤的方法:

echo '- - -' > /sys/class/scsi_host/host2/scan


centos6和centos7 根目錄差別:

run目錄是centos7新增加的


除了/\以及nul以外做祝,理論上其他字符都可以用作文件名:

touch ?"a b" ? 創(chuàng)建了叫a b的文件

touch ?/root/-a ? 創(chuàng)建了叫-a的文件

但不建議這樣做啡彬,避免引起不必要的誤讀和操作麻煩


命令: lsblk ?= list ?block ?列出塊設(shè)備的意思


dd ? if=/dev/zero ? of=/data/bigfile ? bs=1m ? count=1024

以上命令實現(xiàn)在data目錄下生成一個1G的bigfile文件,從dev目錄中用0填滿bigfile


pwd ?-P ? ?絕對路徑

顯示當(dāng)前目錄或文件夾真實路徑


../ ? ? ./ ?相對路徑

../ ? 表示父目錄 ? ./表示當(dāng)前目錄


命令:basename ? 文件路徑

只查看路徑的基名

命令: dirname ? ?文件路徑

只查看路徑的基目錄寂玲,不要文件


du ?-sh ? ?/*

查看并列出根目錄下各文件大刑迥蟆(如此類推)


*文件系統(tǒng)如果是NTFS格式冠摄,則linux系統(tǒng)默認(rèn)是無法識別的


cd ?~tiny

直接進(jìn)tiny用戶的家目錄


cd ? -?

回到剛才離開的目錄


echo ?$OLDPWD

$OLDPWD記錄上一次進(jìn)入過的文件夾路徑


2、ls 命令

ls ? -R ?

遞歸顯示文件夾內(nèi)的所有文件


ls ?-ld ? ? (ls ? -l ?相當(dāng)于 ll)

顯示當(dāng)前文件夾內(nèi)各文件(或文件夾)的詳細(xì)列表几缭,不顯示遞歸子文件


ll ?/bin ? 與ll ?/bin/ ?效果不一樣 ?/bin實際上是個軟鏈接


ls ?/data ?-1

單列顯示


文件名優(yōu)先級排列順序:

數(shù)字 > 字母(不區(qū)分大小寫) > 字母+數(shù)字


ls ? -S?

按文件大小排序(默認(rèn)從大到泻佑尽)

ls ? -Sr

按文件大小排序(從小到大)


ls ? -t

按修改時間(mtime)排序(從最新到最舊)


ll ? --time=atime ? ?/data/file

查看讀文件/data/file的時間

ll ? --time=ctime ? ?/data/file

查看/data/file文件的元數(shù)據(jù)的變化時間


stat ? /data/file

?查看/data/file文件的三個時間,數(shù)據(jù)修改時間年栓,讀取時間乔询,元數(shù)據(jù)修改時間


ls ? -ltu

按atime從新到舊,詳細(xì)列表排序


ls ? -U

按創(chuàng)建時間從新到舊 排序


ls ? -X

按文件后綴排序


ls ? -d ?*/

只顯示當(dāng)前文件夾的內(nèi)容韵洋,不顯示子文件夾內(nèi)容


3、文件通配符


通配符 ?* ? 代表文件名的字符(不代表文件內(nèi)容)


ls ?黄锤?

查看文件名是單個字符的文件


ls ?~-/file

查看上個瀏覽過的文件的file文件夾


ls ? file[1..20]


?顯示名稱是1到2和0的file前綴文件夾搪缨,..在里面沒用

ls ?file ?[137]

表示顯示file文件名包含1或者3或者7的文件

ls ?file[1-7] ?或者ls ?file{1..7} ? (花括號內(nèi)這樣書寫獲得順序)

顯示文件名包含1234567順序的文件

笛卡爾積的ls文件查看,按照ASCII碼規(guī)則顯示文件

ls ?f[wang]

表示查看文件名f +w或 a或 n或 g 四個字符的f文件

ls ?f[^wang]

表示查看不包含w a?n g 四個字符的f文件

ls ?-d ?.* ? (也可以 ?l. ?)

只顯示當(dāng)前目錄的隱藏文件


ls ?-R ? .[^.]* ? (排除 ..)

顯示當(dāng)前目錄的隱藏子文件


4鸵熟、touch命令


touch ? ?路徑/新建文件名

如果文件名已經(jīng)存在副编,touch命令并不會新建并覆蓋原有文件,但會把原有文件的三時間刷新到現(xiàn)在流强。


touch ? -t ? 201910200830.50 ? /etc/hosts

指定了/etc/hosts文件的atime和mtime的時間戳


touch ?-c ? f2

如果f2文件不存在痹届,則不創(chuàng)建 ?(多用來刷新文件的三時間)


touch ?`date ?-d ? "-1 day" ?+%F`.log

反向單引號嵌套日期命令,創(chuàng)建指定日期的.log文件名文件


5打月、cp命令


cp ? ?etc/hosts ? ?~tiny/

被復(fù)制到的地址队腐,tiny家目錄后沒有明確文件名,則自動生成同名hosts文件奏篙,如果tiny家目錄下已經(jīng)有hosts文件柴淘,則直接覆蓋,如果在管理員賬戶下秘通,系統(tǒng)詢問你是否覆蓋为严。

為什么呢?

在root賬號里肺稀,cp命令并不是真cp第股,而是別名 cp -i ?,將會詢問你是否覆蓋


cp ? ?文件1 ? 文件2 ? ?目標(biāo)文件目錄

當(dāng)多個文件復(fù)制到一個文件目錄下時话原,目標(biāo)文件必須是文件夾夕吻,否則報錯


cp ? -r ? 文件夾 ? ?目標(biāo)文件目錄

必須加-r才可以復(fù)制文件夾

如果以上操作再一次執(zhí)行诲锹,那么文件夾會直接被復(fù)制進(jìn)新建的文件夾底下,成了子文件夾


cp ? ?-a ? ?(包含-d ?-p ?-r ?梭冠,保留軟鏈接辕狰,保留文件原有屬性,遞歸復(fù)制子文件)

可用于完整文件復(fù)制控漠,相當(dāng)于文件備份


cp ? -av ?

可以看到復(fù)制過程(但容易造成死機)


cp ?-u

只復(fù)制新文件到舊同名文件蔓倍,舊文件不會覆蓋新同名文件


cp ? --backup=numbered ?復(fù)制文件 ? 被復(fù)制文件 ??

以上命令,被復(fù)制文件會被覆蓋盐捷,但事先會生成一份備份偶翅,可避免誤操作


cp ? /data/* ? /data/f1

以上復(fù)制命令,*表示data目錄下的所有文件碉渡,但是有個問題要注意聚谁,*并不包含.后綴的隱藏文件。

cp ?-a ? /dev/sda ? /data

復(fù)制設(shè)備文件滞诺,加-a 形导,只復(fù)制設(shè)備文件的屬性


rename ?"conf" ?"conf.bak" ? file*

rename命令,批量改名习霹,將原來帶.conf后綴的file.conf文件名朵耕,增加后綴.bak,變成file.conf.bak


6淋叶、mv命令


mv ?a ? b

沒有指明路徑阎曹,則表示將a文件改名為b,對于文件夾也適用

mv ?downloads/ ? D

改文件夾名字為D


mv ?-t ? ?移入的目錄 ? 移出的目錄

移出目錄與移入目錄的位置對調(diào)


在root管理員下煞檩,mv ?rm ?都是別名处嫌,會詢問你是否覆蓋或者是否刪除


7、rm命令


rm ? -r ?文件

遞歸刪除文件


rm ?-rf ? ?文件

強行刪除文件(慎用)


rm ?-rf ? ? / ? ?--no-preserve-root?

強行刪除根目錄下所有文件(非常危險)


出于安全起見斟湃,可以把rm定義成別名熏迹,別名實際是mv


lsof ? | grep deleted

以上命令可查看部分已經(jīng)被刪除了的文件,但還未釋放空間凝赛。有的時候當(dāng)一個用戶刪除了一個文件癣缅,但同時另一個終端的用戶在占用這個文件,就會出現(xiàn)這類情況哄酝。


> ? ?file

rm ? ?-f ? ?file

? 使用以上方法刪除大文件file友存,可確保空間立即被釋放陶衅。


8.tree命令

centos7系統(tǒng)默認(rèn)沒有安裝tree程序包:

輸入:rpm ? -ivh ?/run/media/root/CentOS\ 7\ x86_64/Packages/tree-1.6.0-10.el7.x86_64.rpm

可進(jìn)行安裝屡立。


mkdir ?-p ? /data/dir1/dir2/dir3/dir4

自動判斷并創(chuàng)建子目錄dir1/dir2/dir3/dir4


rmdir ? /data/dir1

刪除子目錄(目錄必須是空的才可以刪)相比rm命令,rmdir相對安全,只能刪除空目錄


rmdir ? ?-p ? /data/dir1

遞歸刪除子目錄(只要遞歸的目錄是空的就可以刪)


cp ? ?/etc/hosts{,.bak}

以上命令利用花括號構(gòu)成參數(shù)組合膨俐,等價于:

cp ? /etc/hosts ? ?/etc/hosts.bak

表示對hosts文件在本地etc文件夾復(fù)制一份進(jìn)行備份hosts.bak



9勇皇、索引節(jié)點


inode ?--》節(jié)點編號

ls ?-i

可以查看當(dāng)前文件夾下各文件的節(jié)點編號

節(jié)點編號在同一個磁盤分區(qū)下,是唯一的


直接指針最大容量為48K=12X4k

間接指針通過不斷生成間接指針表焚刺,一個表4k敛摘,一個表指針4字節(jié),則一個表可以接受1024個間接指針乳愉,如此類推兄淫,4字節(jié)X1024X1024X1024。蔓姚。捕虽。

df ?-i

以上命令 查看各磁盤空間內(nèi)的節(jié)點編號存量


**如果系統(tǒng)遇到顯示磁盤空間滿,但是實際上查詢空間沒有滿的情況坡脐,這個問題很可能就是節(jié)點編號被消耗干凈了泄私,創(chuàng)建空文件也會占用節(jié)點編號。


當(dāng)命令參數(shù)過多時:

命令會報錯

echo ?file{1..100000} ?| xargs ?rm

以上命令可以批量刪除花括號組合文件(參數(shù)過多時使用)


對于目錄的文件結(jié)構(gòu):

要訪問f1 备闲,f2 文件晌端,首先要查看目錄的節(jié)點編號,再通過節(jié)點編號找到目錄的數(shù)據(jù)內(nèi)容恬砂,目錄的數(shù)據(jù)內(nèi)容就是所存放的f1咧纠,f2兩個文件名以及各自的節(jié)點關(guān)系,如:f1對應(yīng)1000號節(jié)點 觉既,f2對應(yīng)2000號節(jié)點。


**當(dāng)系統(tǒng)刪除文件f1時乳幸,系統(tǒng)實際上是刪除了f1的節(jié)點空間瞪讼。實際的數(shù)據(jù)內(nèi)容空間,并未第一時間刪除粹断。等待新的數(shù)據(jù)對它進(jìn)行覆蓋


*shred ?-zv ?hosts

*shred ?-zv ?-n 6 ?hosts ?(覆蓋6次)

以上命令是利用其它字符覆蓋hosts的內(nèi)容符欠,真正刪除文件數(shù)據(jù)內(nèi)容



10、軟鏈接和硬鏈接


ln ?f1 ?f2

創(chuàng)建硬鏈接瓶埋,f1和f2 兩個節(jié)點編號相同


2是指鏈接數(shù)希柿,f1,f2养筒,隨著硬鏈接數(shù)量增長

**硬鏈接本質(zhì)上是同一個文件曾撤,起了多個名字。

**假如用rm刪除了f2晕粪,對讀寫f1不受影響

**硬鏈接和windows里面的快捷方式挤悉,有區(qū)別

**硬鏈接的創(chuàng)建,不能跨分區(qū)

**硬鏈接不支持目錄的創(chuàng)建


ln ?-s ? f2 ?f2link

創(chuàng)建軟鏈接巫湘,f2和f2link 節(jié)點編號不同

**軟鏈接之間的文件大小毫無關(guān)系

**如果軟鏈接的原文件f2被刪除装悲,則鏈接不能訪問f2

**軟鏈接可以跨分區(qū)創(chuàng)建

**軟鏈接可以創(chuàng)建目錄鏈接

** ?ll -i ? 查看的鏈接數(shù)不會增長


以上創(chuàng)建f2的軟鏈接時出現(xiàn)紅色錯誤昏鹃。要避免創(chuàng)建錯誤,輸入的f2路徑必須是相對于目標(biāo)位置/root/的路徑诀诊,而不能是相對于當(dāng)前目錄data下的路徑洞渤。也可以直接鍵入f2的絕對路徑。


readlink ? 文件名

直接查看文件的軟鏈接


11属瓣、file命令

file ? ?文件

例: file ?tree.txt

以上命令可以查看文件屬于什么類型(文本载迄、壓縮、可執(zhí)行程序)奠涌,而判斷文件類型的方式是看該文件的頭部信息宪巨,叫magic number

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市溜畅,隨后出現(xiàn)的幾起案子捏卓,更是在濱河造成了極大的恐慌,老刑警劉巖慈格,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件怠晴,死亡現(xiàn)場離奇詭異,居然都是意外死亡浴捆,警方通過查閱死者的電腦和手機蒜田,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來选泻,“玉大人冲粤,你說我怎么就攤上這事∫趁校” “怎么了梯捕?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長窝撵。 經(jīng)常有香客問我傀顾,道長,這世上最難降的妖魔是什么碌奉? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任短曾,我火速辦了婚禮,結(jié)果婚禮上赐劣,老公的妹妹穿的比我還像新娘嫉拐。我一直安慰自己,他們只是感情好魁兼,可當(dāng)我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布椭岩。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪判哥。 梳的紋絲不亂的頭發(fā)上献雅,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天,我揣著相機與錄音塌计,去河邊找鬼挺身。 笑死,一個胖子當(dāng)著我的面吹牛锌仅,可吹牛的內(nèi)容都是我干的章钾。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼热芹,長吁一口氣:“原來是場噩夢啊……” “哼贱傀!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起伊脓,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤府寒,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后报腔,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體株搔,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年纯蛾,在試婚紗的時候發(fā)現(xiàn)自己被綠了纤房。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡翻诉,死狀恐怖炮姨,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情碰煌,我是刑警寧澤舒岸,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站拄查,受9級特大地震影響吁津,放射性物質(zhì)發(fā)生泄漏棚蓄。R本人自食惡果不足惜堕扶,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望梭依。 院中可真熱鬧稍算,春花似錦、人聲如沸役拴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至科平,卻和暖如春褥紫,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背瞪慧。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工髓考, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人弃酌。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓氨菇,卻偏偏與公主長得像,于是被迫代替她去往敵國和親妓湘。 傳聞我的和親對象是個殘疾皇子查蓉,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,577評論 2 353

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