第九章:文件核心基礎(chǔ)知識(shí)碟婆,day12

本章重點(diǎn)

1)掌握Linux文件屬性的各個(gè)列的含義(ls -lhi結(jié)果)及對(duì)應(yīng)知識(shí)概念逞频。
2)磁盤空間不足故障的多重判斷和解決(面試常考)任岸。
3)請(qǐng)描述軟鏈接和硬鏈接的特點(diǎn)及區(qū)別(面試吃匍考)。
4)請(qǐng)描述Linux系統(tǒng)文件刪除的原理(面試诚砬保考)困鸥。

分類 硬鏈接 軟鏈接
概念 與原文件指向同一個(gè)inode節(jié)點(diǎn),節(jié)點(diǎn)號(hào)相同 快捷方式剑按,指向原文件名
創(chuàng)建方式 ln ln -s
特點(diǎn) 不能對(duì)目錄使用疾就,不可跨文件系統(tǒng),刪除原文件對(duì)鏈接無任何影響 經(jīng)常對(duì)目錄使用艺蝴,可跨文件系統(tǒng)猬腰,刪除原文件鏈接失效
image.png

1. Linux是一個(gè)典型的多用戶,多任務(wù)的系統(tǒng)

用戶:管理Linux系統(tǒng)而存在的
用戶一般分為用戶名和用戶ID猜敢,相當(dāng)于名字和身份證
用戶名是給人用的姑荷,用戶ID是給計(jì)算機(jī)識(shí)別的
user UID
Linux里邊所有的用戶和進(jìn)程都要有對(duì)應(yīng)的用戶
文件存在必須對(duì)應(yīng)用戶
進(jìn)程運(yùn)行必須對(duì)應(yīng)用戶

  • 命令:
    id root 查UID
    id 查看用戶身份
    whoami 查自己

2. Linux用戶分3類

  • 超級(jí)管理員 root
    權(quán)限堪稱黃帝盒延。UID為0(UID為0的都有皇帝對(duì)應(yīng)的權(quán)限)
    修改:
    不要修改ID為0便管理員
    作業(yè):root密碼丟失了如何找回來?
  • 虛擬用戶(傀儡)
    實(shí)際存在的用戶鼠冕,又不允許登錄添寺。
    價(jià)值何在?
    滿足文件或進(jìn)程或?qū)僦鞯囊笮阜选5遣粫?huì)帶來管理風(fēng)險(xiǎn)
    UID: uid 1-499
  • 普通用戶
    實(shí)際存在的用戶计露,又允許登錄。
    管理員身份創(chuàng)建的(大臣)
    權(quán)限僅限制在家目錄憎乙,在一些系統(tǒng)級(jí)目錄可讀不可寫票罐,不可以進(jìn)入/root目錄
    UID {C7 1000起步 C6 500 起步}最高60000
  • 創(chuàng)建用戶


    image.png
  • image.png

3. 用戶組:集合、組織

  • Linux中每一個(gè)用戶都要有一個(gè)組織寨闹,這個(gè)組織就叫用戶組
    用戶組也是給人看的胶坠,用戶組也有唯一標(biāo)識(shí),Group ID簡(jiǎn)稱GID
    默認(rèn)情況創(chuàng)建用戶繁堡,并沒有創(chuàng)建用戶組沈善,他自動(dòng)創(chuàng)建一個(gè)
    和用戶名相同的用戶組以及相同的GID


    image.png

4. 用戶和用戶組的對(duì)應(yīng)關(guān)系

  • (1)1對(duì)1
    (2)1對(duì)多個(gè)用戶組
    (3)多個(gè)用戶對(duì)應(yīng)一個(gè)用戶組
    (4)多對(duì)多

5. 文件權(quán)限:嚴(yán)格的權(quán)限,Linux安全權(quán)限嚴(yán)格

image.png

image.png

6. (789)列文件最后修改時(shí)間

  • 文件時(shí)間有三種
    修改時(shí)間:Modify 文件內(nèi)容被改過
    訪問時(shí)間:Access 最后被讀取的時(shí)間
    變化時(shí)間:Change 屬性改變的最后時(shí)間
    stat 命令可以看
    ls 也可以

ls參數(shù):
-t modify椭蹄,文件內(nèi)容被改過之后的時(shí)間闻牡。
-c change,文件屬性發(fā)生改變的時(shí)間绳矩。
-a access罩润,文件內(nèi)容被訪問過的時(shí)間。

image.png

[root@oldboyedu ~]# stat /etc/hosts
File: ‘/etc/hosts’
Size: 158 Blocks: 8 IO Block: 4096 regular file
Device: 803h/2051d Inode: 16829878 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: system_u:object_r:net_conf_t:s0
Access: 2020-10-01 00:00:21.849999186 +0800訪問時(shí)間
Modify: 2013-06-07 22:31:32.000000000 +0800修改時(shí)間
Change: 2019-03-04 11:15:49.426692303 +0800變化時(shí)間
Birth: -
[root@oldboyedu ~]# stat -c %A /etc/hosts
-rw-r--r--

[root@oldboyedu /data]# echo oldboy>>test.txt
[root@oldboyedu /data]# stat test.txt
File: ‘test.txt’
Size: 14 Blocks: 8 IO Block: 4096 regular file
Device: 803h/2051d Inode: 33656257 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:default_t:s0
Access: 2020-10-01 11:07:28.953508888 +0800
Modify: 2020-10-01 11:07:53.119507988 +0800
Change: 2020-10-01 11:07:53.119507988 +0800
Birth: -
[root@oldboyedu /data]# cat test.txt
oldboy
oldboy
[root@oldboyedu /data]# cat test.txt
oldboy
oldboy
[root@oldboyedu /data]# stat test.txt
File: ‘test.txt’
Size: 14 Blocks: 8 IO Block: 4096 regular file
Device: 803h/2051d Inode: 33656257 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:default_t:s0
Access: 2020-10-01 11:08:32.147506535 +0800
Modify: 2020-10-01 11:07:53.119507988 +0800
Change: 2020-10-01 11:07:53.119507988 +0800
Birth: -
[root@oldboyedu /data]# chmod +x test.txt
[root@oldboyedu /data]# stat test.txt
File: ‘test.txt’
Size: 14 Blocks: 8 IO Block: 4096 regular file
Device: 803h/2051d Inode: 33656257 Links: 1
Access: (0755/-rwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:default_t:s0
Access: 2020-10-01 11:08:32.147506535 +0800
Modify: 2020-10-01 11:07:53.119507988 +0800
Change: 2020-10-01 11:08:57.442505593 +0800
Birth: -

[root@oldboyedu /data]# ls --time-style=long-iso -l
total 12
-rw-r--r--. 1 root root 0 2020-10-01 00:19 1.txt
-rw-r--r--. 1 root root 0 2020-10-01 00:19 2.txt
-rw-r--r--. 1 root root 0 2020-10-01 00:19 3.txt
-rw-r--r--. 1 root root 0 2020-10-01 00:19 4.txt
-rw-r--r--. 1 root root 0 2020-10-01 00:19 5.txt
-rw-r--r--. 1 root root 187 2020-10-01 09:01 oldboy.tar.gz
-rw-r--r--. 1 root root 18 2020-10-01 09:01 paichu.txt
-rwxr-xr-x. 1 root root 14 2020-10-01 11:07 test.txt

7. 什么是索引點(diǎn)翼馆?

  • 命令:df -i 查看inode數(shù)量
    df -h查看block數(shù)量

  • 第一列:
    表現(xiàn)形式是數(shù)字 33631841 叫做文件的索引節(jié)點(diǎn)(Index Node)
    類似人的身份證割以,索引節(jié)點(diǎn)是文件在系統(tǒng)中的唯一標(biāo)識(shí)。
    找一個(gè)文件最終都要通過索引節(jié)點(diǎn)才能找到
    索引節(jié)點(diǎn)的概念出在ext文件系統(tǒng)中(ext2 ext4 ext3).

  • 索引節(jié)點(diǎn)是硬盤上的一塊存儲(chǔ)空間应媚。大小256字節(jié)或512字節(jié)严沥。

  • 索引節(jié)點(diǎn)里存放是數(shù)據(jù)是文件的屬性(大小、時(shí)間中姜、用戶和組消玄、權(quán)限等)都
    在索引節(jié)點(diǎn)里,唯獨(dú)不包含文件名(文件名在上級(jí)目錄的block里)丢胚。

  • 磁盤要想使用翩瓜,先分區(qū),格式化(創(chuàng)建文件系統(tǒng))携龟。
    格式化創(chuàng)建文件系統(tǒng)時(shí)兔跌,就會(huì)生成大量的inode和block。
    inode作用存儲(chǔ)文件的屬性信息峡蟋,同時(shí)存放指向文件實(shí)體(block)的指針(類似軟鏈接)
    block作用是存放文件內(nèi)容的(大片)浮定。

  • Block叫做磁盤塊相满,是用來存放實(shí)際數(shù)據(jù)的實(shí)體單元(ext文件系統(tǒng)一般最大為4KB),即用來真正存放數(shù)據(jù)桦卒,例如:照片、視頻等普通文件數(shù)據(jù)匿又,單個(gè)大的文件需要占用多個(gè)Block塊來存儲(chǔ)方灾,
    特別小的單個(gè)文件如果不能占滿整個(gè)Block塊,剩余的空間也無法在利用碌更。

  • 一個(gè)Block最多只能存一個(gè)文件的內(nèi)容裕偿,一個(gè)block 4K,放了0.1K文件痛单,剩3.9K浪費(fèi)了嘿棘。


    image.png

    image.png

    image.png
  • 磁盤滿原因有兩種:
    1、inode滿了旭绒。
    2鸟妙、block滿了。
    ====================================
    提示:
    no space left on device 報(bào)錯(cuò)挥吵,沒有空間在設(shè)備上了重父。
    磁盤滿了。
    [root@oldboyedu /]# cd /app/logs/
    [root@oldboyedu /app/logs]# touch {1..100}.txt
    touch: cannot touch ‘6.txt’: No space left on device
    touch: cannot touch ‘7.txt’: No space left on device
    ====================================
    檢查步驟:
    步驟1:df -h
    步驟2: df -i 看是不是inode滿了
    ====================================
    為什么inode會(huì)滿忽匈?
    小文件太多
    初始化時(shí)候 block數(shù)量遠(yuǎn)大于inode數(shù)量房午。
    一個(gè)文件大片 占一個(gè)inode,10萬個(gè)block丹允。
    [root@oldboyedu /app/logs]# cp /bin/cat ddd
    [root@oldboyedu /app/logs]# cp /bin/cat dddd
    cp: error writing ‘dddd’: No space left on device
    cp: failed to extend ‘dddd’: No space left on device
    文件滿了郭厌。
    9.5.6 磁盤空間不足導(dǎo)致企業(yè)故障的案例 自學(xué)。雕蔽。 講文件系統(tǒng)時(shí)候回來講這里

8.硬鏈接

  1. 什么是硬鏈接折柠?
    具有相同inode節(jié)點(diǎn)號(hào)的文件互為硬鏈接。
    一個(gè)文件的兩個(gè)入口萎羔。
    [root@oldboyedu ~]# ls -ldi test test/.
    16964029 drwxr-xr-x. 2 root root 4096 Oct 1 14:07 test
    16964029 drwxr-xr-x. 2 root root 4096 Oct 1 14:07 test/.
    [root@oldboyedu /data]# ls -ldi oldboy
    33631853 drwxr-xr-x. 5 root root 45 Oct 4 21:03 oldboy
    [root@oldboyedu /data]# ls -ldi oldboy oldboy/. oldboy/test{1..3}/..
    33631853 drwxr-xr-x. 5 root root 45 Oct 4 21:03 oldboy
    33631853 drwxr-xr-x. 5 root root 45 Oct 4 21:03 oldboy/.
    33631853 drwxr-xr-x. 5 root root 45 Oct 4 21:03 oldboy/test1/..
    33631853 drwxr-xr-x. 5 root root 45 Oct 4 21:03 oldboy/test2/..
    33631853 drwxr-xr-x. 5 root root 45 Oct 4 21:03 oldboy/test3/..
  2. 硬鏈接原理


    image.png
  3. 測(cè)試
    創(chuàng)建硬鏈接:
    命令組成:ln 源文件 硬鏈接文件
  • a.文件硬鏈接
    [root@oldboyedu /data]# echo "I am oldboy." >oldboy.txt
    [root@oldboyedu /data]# cat oldboy.txt
    I am oldboy.
    [root@oldboyedu /data]# ln oldboy.txt oldboy_hard_link
    [root@oldboyedu /data]# ls -lirt
    total 20
    33656257 -rwxr-xr-x. 1 root root 14 Oct 1 11:07 test.txt
    33656238 -rw-r--r--. 2 root root 13 Oct 4 21:10 oldboy.txt
    33656238 -rw-r--r--. 2 root root 13 Oct 4 21:10 oldboy_hard_link
    作用:
    1液走、備份,防止誤刪贾陷。
    [root@oldboyedu /data]# ln /etc/hostname /opt/hostname
    [root@oldboyedu /data]# cat /opt/hostname
    oldboyedu
    [root@oldboyedu /data]# rm -f /etc/hostname
    [root@oldboyedu /data]# cat /etc/hostname
    cat: /etc/hostname: No such file or directory
    [root@oldboyedu /data]# cat /opt/hostname
    oldboyedu
    [root@oldboyedu /data]# ln /opt/hostname /etc/hostname
    [root@oldboyedu /data]# cat /etc/hostname
    oldboyedu
  • b.目錄硬鏈接
    不支持人工創(chuàng)建目錄硬鏈接缘眶。
    [root@oldboyedu /data]# ln oldboy oldgirl
    ln: ‘oldboy’: hard link not allowed for directory
    老男孩的思考:
    /etc/目錄,對(duì)應(yīng)一個(gè)分區(qū)
    /home目錄髓废,還可能對(duì)應(yīng)一個(gè)分區(qū)巷懈。
    ln /etc/ /home/oldboy

9.軟鏈接:

本質(zhì)是快捷方式,指向源文件實(shí)體慌洪,本身和源文件是不同的文件顶燕。
實(shí)踐:

  • 文件
    [root@oldboyedu /data]# !echo
    echo "I am oldboy." >oldboy.txt
    [root@oldboyedu /data]# cat oldboy.txt
    I am oldboy.
    [root@oldboyedu /data]# ln -s oldboy.txt oldboy_soft_link
  • 目錄:是工作中的重點(diǎn)
    [root@oldboyedu /data]# mkdir oldboy
    [root@oldboyedu /data]# touch oldboy/test.txt
    [root@oldboyedu /data]# ln -s oldboy oldboy_soft_link_dir
    [root@oldboyedu /data]# ls oldboy_soft_link_dir/
    test.txt
    [root@oldboyedu /data]# ls oldboy
    test.txt
  • 工作中為什么會(huì)使用軟鏈接凑保。
    第一個(gè)用途:
    安裝軟件:/application/nginx-1.10
    過半年:/application/nginx-1.20
    導(dǎo)致一個(gè)問題,工作中涌攻,開發(fā)等引用/application/nginx-1.10路徑欧引。
    安裝軟件:/application/nginx-1.10===>/application/nginx(讓開發(fā)用)
    過半年: /application/nginx-1.20===>/application/nginx(讓開發(fā)用)
    第二個(gè)用途:
    /etc/對(duì)應(yīng)的分區(qū)要滿了,沒法放很多文件恳谎,但是程序還想通過/etc/目錄訪問文件冕末。
    此時(shí)加酵,我們可以把文件放入/opt/oldboy下掉瞳,然后做一個(gè)到/etc/oldboy的軟鏈接硕蛹。
    [root@oldboyedu /data]# mkdir /opt/oldboy
    [root@oldboyedu /data]# touch /opt/oldboy/{1..3}.txt
    [root@oldboyedu /data]# ln -s /opt/oldboy/ /etc/oldboy
    [root@oldboyedu /data]# ls /etc/oldboy
    1.txt 2.txt 3.txt
    [root@oldboyedu /data]# ll /opt/oldboy
    total 0
    -rw-r--r--. 1 root root 0 Oct 4 22:02 1.txt
    -rw-r--r--. 1 root root 0 Oct 4 22:02 2.txt
    -rw-r--r--. 1 root root 0 Oct 4 22:02 3.txt

Linux文件刪除原理

  1. 靜態(tài)文件:沒有進(jìn)程或程序正在訪問的文件
    所有的硬鏈接數(shù)為0(i_link),即所有硬鏈接都被干掉了鸵膏,包括自身膊升。
    硬鏈接的數(shù)量的代表變量符號(hào)i_link
    rm -f oldboy.txt oldboy_hard_link
    執(zhí)行完 其實(shí)文件也沒刪,關(guān)機(jī)停止運(yùn)行谭企。
    a.系統(tǒng)定時(shí)清理沒有文件名的inode廓译。
    b.磁盤檢查會(huì)清理。
    c.增加新文件時(shí)優(yōu)先占用沒有文件名的inode赞咙。
    恢復(fù)的工具:debugfs,ext3grep等等责循。
    亡羊補(bǔ)牢其實(shí)不可取的,違反運(yùn)維的三大核心原則攀操。
    多備份院仿,操作前備份,異服務(wù)器和異地備份速和。
  2. 動(dòng)態(tài)文件:有程序或進(jìn)程訪問的文件
    刪除原理:
    a.所有硬鏈接刪除歹垫。i_link為0.
    b..i_count是進(jìn)程調(diào)用文件的數(shù)量(引用計(jì)數(shù))。所有進(jìn)程調(diào)用都要停止取消颠放。i_count為0


    image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末排惨,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子碰凶,更是在濱河造成了極大的恐慌暮芭,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,744評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件欲低,死亡現(xiàn)場(chǎng)離奇詭異辕宏,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)砾莱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,505評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門瑞筐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人腊瑟,你說我怎么就攤上這事聚假】榘觯” “怎么了?”我有些...
    開封第一講書人閱讀 163,105評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵膘格,是天一觀的道長(zhǎng)峭范。 經(jīng)常有香客問我,道長(zhǎng)瘪贱,這世上最難降的妖魔是什么虎敦? 我笑而不...
    開封第一講書人閱讀 58,242評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮政敢,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘胚迫。我一直安慰自己喷户,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,269評(píng)論 6 389
  • 文/花漫 我一把揭開白布访锻。 她就那樣靜靜地躺著褪尝,像睡著了一般。 火紅的嫁衣襯著肌膚如雪期犬。 梳的紋絲不亂的頭發(fā)上河哑,一...
    開封第一講書人閱讀 51,215評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音龟虎,去河邊找鬼璃谨。 笑死,一個(gè)胖子當(dāng)著我的面吹牛鲤妥,可吹牛的內(nèi)容都是我干的佳吞。 我是一名探鬼主播,決...
    沈念sama閱讀 40,096評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼棉安,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼底扳!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起贡耽,我...
    開封第一講書人閱讀 38,939評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤衷模,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后蒲赂,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體阱冶,經(jīng)...
    沈念sama閱讀 45,354評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,573評(píng)論 2 333
  • 正文 我和宋清朗相戀三年凳宙,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了熙揍。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,745評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡氏涩,死狀恐怖届囚,靈堂內(nèi)的尸體忽然破棺而出有梆,到底是詐尸還是另有隱情,我是刑警寧澤意系,帶...
    沈念sama閱讀 35,448評(píng)論 5 344
  • 正文 年R本政府宣布泥耀,位于F島的核電站,受9級(jí)特大地震影響蛔添,放射性物質(zhì)發(fā)生泄漏痰催。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,048評(píng)論 3 327
  • 文/蒙蒙 一迎瞧、第九天 我趴在偏房一處隱蔽的房頂上張望夸溶。 院中可真熱鬧,春花似錦凶硅、人聲如沸缝裁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,683評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽捷绑。三九已至,卻和暖如春氢妈,著一層夾襖步出監(jiān)牢的瞬間粹污,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,838評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工首量, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留壮吩,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,776評(píng)論 2 369
  • 正文 我出身青樓蕾总,卻偏偏與公主長(zhǎng)得像粥航,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子生百,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,652評(píng)論 2 354

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