軟鏈接和硬鏈接的區別

文件管理

前言

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 21:00
下一篇 2016-10-20 21:04

相關推薦

  • 第五周作業

    1、顯示/boot/grub/grub.conf中以至少一個空白字符開頭的行; [root@centos6 ~]# grep "^[[:space:]]\+" /boot/grub/grub.conf         &…

    Linux干貨 2017-01-16
  • N25-第七周作業

    1、創建一個10G分區,并格式為ext4文件系統;    (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl;     ~]# fdisk /dev/sda  (n, +10G 創建10G分區,w保存退出)   &nbsp…

    Linux干貨 2017-01-22
  • 第一篇

     新的征程又開始了,努力吧!

    Linux干貨 2016-12-26
  • lamp的搭建

    方法一編譯安裝amp:   1.系統環境:CentOS 6,7       CentOS6:apr,apr-util的版本為1.3.9,不適合httpd-2.4    CentOS7:apr,apr-util的版本為1.4+2.開發環境需要安裝:    Developm…

    Linux干貨 2016-10-16
  • 網絡總結

    linux 網絡配置 linux的網絡服務是由內核提供。 網卡在內核看來就是個設備,各種網絡配置不在網卡上。各種配置都是針相應網絡管理程序使用的。 不同發行版的網絡管理工具也是不一樣(net-tools/iproute)。網絡服務的管理程序(守護進程)也是不一樣(腳本/程序)。 網絡管理工具是將用戶的設定直接傳遞給內核的網絡服務,及時有效。 很多管理工具可以…

    Linux干貨 2016-09-09
  • 用戶和組的管理

    前言 服務器最主要的工作是提供可靠的服務,提供服務就必須對外開放自己的網絡,可靠就需要一定的機制來保證了。Linux中有一個3A的機制,首先是認證,就是我們經常聽到的一句話,怎么證明你就是你;其次是授權,管理一個服務器,每個管理員都有自己的職責,那么我們就只分配對應的權限給特定的人,這樣就可以明確事故的責任,從源頭甩鍋;最后是審計,總有一些黑客可以通過各種手…

    Linux干貨 2016-10-22
欧美性久久久久