軟鏈接和硬鏈接的區別

文件管理

前言

Linux的一則哲學:一切皆文件。既然入坑,那么管理linux就是管理一堆文件,操作文件這是展示個人十八般武藝的時候,功夫高下一招下。怎么成為高手,高手的招式都有哪些,拳腳掌刀槍棍棒,一招一式如何練就。

1文件存儲

文件存儲就好比每個練武人必備的技能——挨打,在你耍十八般武藝前,必須先扛住對方的一掌。我們不必擁有金剛罩鐵布衫,至少要學會如何躲避拆招。

linux中存儲一個文件,我們把文件分為兩個部分存儲,一部分是信息部分,一部分存儲數據。

存儲信息的部分叫inode,存儲數據的部分叫block。inode的結構與數據的關系圖1.1

aaa.png

1.1 inode的結構與數據的關系圖

Inode是不可以跨分區,就好比每個小區都有門牌號,inode就是門牌號,小區就是分區。門牌號雖然一樣,但是里面住的人不一樣。

2文件類型

文件操作前,我們要了解都有哪些文件類型,就像一個武林盟主的尋常的一掌,快一分慢一分都是累贅。真正的高手的任何一招都是經過千萬磨練的,有些文件類型我們看似了解,其實我們不知道高手為什么要用3分力,為何不直接施展絕技一招秒殺。

1f,普通文件file

文件也有很多類型:文本文件、視頻文件、壓縮文件文件。一個文件占用一個inode

可以使用file FileName查看文件類型。

# file anaconda-ks.cfg

anaconda-ks.cfg: ASCII English text

2d,目錄文件directory,目錄的數據塊block內放置該目錄下的文件的文件名和inode信息

3l,鏈接文件link,(鏈接文件分為硬連接和軟連接)l只指軟鏈接。

1硬鏈接,其本質是在目錄文件的數據快中添加一條新的數據,inode直接指向被鏈接文件的inode,使這個inode有兩條或多條路徑可以直接抵達。感覺很不形象,其實就是在一個井里插了兩個水泵。

使用ll dir可以查看文件的硬鏈接數,紅色部分內就是鏈接數。

bbbb.png

2軟鏈接,則是前面一個水泵把水抽到自己家水池里后,后面的人把水泵插到前一家人的水池里。既然是把水管插到別人家的水池里,那么前一家斷水,你家也就斷水了。

當我們用的是軟連接你想用水必須知道前一家的水池在哪里?這里就比較有趣了,比如前一家搬家了,那我們怎么辦。斷水。這里就分為兩種情況了。

其中一種叫相對路徑,比如前一家給你留了他家的電話,他再怎么搬家我們都會知道他再哪里,但為了找到他家比較麻煩,每次想喝水都要先給他打電話,我們按照電話里的方法一步步跑到他家。

還有一種就是使用絕對路徑,他直接告訴我們他家住在男兒國250號,但是這有一個壞處,國家改名為女兒國后,我們就找不到他家了,我們就會永遠的斷水了。

4c,字符設備character

接受字符的文件,比如終端的tty。

5b,塊設備block

磁盤文件一般為塊文件,可以隨機讀存。

6s,套接字文件sockt

用于同一主機進程間通信的文件,比管道強大的多。

7p,管道文件pipe

把數組、字符串等轉送給其他進程。

3文件屬性

文件屬性

-rw-r–r–  1 root root      0 Oct 19 18:17 11aa

第一位是文件類型

234位是的屬主的讀、寫、執行權限

567位位是屬組的權限

8910位是其它用戶的權限

1是硬鏈接數

第一個Root是屬主

第二個root是屬組

0是文件大小

然后就是文件訪問時間

最后是文件名

文件的信息不僅如此,使用stat可以查看文件更多的信息。文件的訪問時間簡稱atime,修改時間簡稱mtime,改變時間簡稱ctime。centos6文件系統的atime的時間時實時更新的,centos7上的atime只有時間相差超過一天才會更新。

總結

  linux的文件結構,其中inode是根本其中存放文件的信息,block存放數據。文件的的block放的是數據,目錄的block中存放的是其子目錄和文件的名稱和inode號。


原創文章,作者:mortimer2015,如若轉載,請注明出處:http://www.www58058.com/53254

(0)
mortimer2015mortimer2015
上一篇 2016-10-20
下一篇 2016-10-20

相關推薦

  • systemd和systemctl

    systemd和systemctl(centos7)     Systemd是一種新的linux系統服務管理器。它替換了init系統,能夠管理系統啟動過程和一些系統服務,一旦啟動起來,就將監管整個系統。在centos7系統中,PID 1被systemd所使用了:如下,在centos6中: init─┬─NetworkManager &nb…

    Linux干貨 2016-10-09
  • 用戶和組命令的簡單使用

    用戶和組管理命令: 用戶管理命令:useradd usermod userdel 組管理命令:groupadd groupmod groupdel 用戶創建:useradd -u:uid 定義在/etc/login.defs -o:配合-u選項,不檢查uid的唯一性 -g:gid,指明用戶所屬基本組,可為組名,也可以gid -c:用戶的詮釋信息 -d;指定用…

    Linux干貨 2016-10-24
  • 第四周

    第四周 1.復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其他用戶均沒有任何訪問權限。 [root@node1 ~]# cp -r /etc/skel/ /home/tuser1 [root@node1 ~]# chmod -R go= /home/tuser1 [root@node1 ~]# ls -…

    Linux干貨 2017-07-26
  • 網絡N22期 第1周作業

    一、計算機組成及其功能 計算機由硬件部分和軟件部分組成。     硬件部分包括,         1、CPU:包括運算器、控制器、寄存器、緩存,具有對數據控制和計算功能。         2、存儲器:內部存儲器、外部存儲器,對數據提供存儲功能。   …

    Linux干貨 2016-08-15
  • 磁盤管理

    一、知識整理 1、每個扇區:512字節;每個柱面:256個磁頭*63個扇區*512字節,大概為8M。centos6中分區使用起始結束柱面;centos7中分區使用起始結束扇區。EBR:擴展分區的第一個扇區。 2、MBR:master root record,1982年,使用32位表示扇區數,分區不超過2T。其中,一共512bytes字節,446bytes為b…

    Linux干貨 2016-08-29
  • Awk 高級應用

                              Awk 簡介   Awk 是一種變成語言,用于在Linux/UNIX下對文本和數據進行掃描與處理,數據可以來自標準輸入,文件 ,管道。Awk分別代表其作者的姓…

    2017-07-17
欧美性久久久久