初識文件系統和軟硬鏈接

什么是文件系統?

        磁盤分區以后必須設置磁盤的文件系統才可以正式使用,文件系統定義了文件存儲的類型,也就是這個文件要按照怎樣的方式存入磁盤分區。

        linux中文件系統的類型:ext3、ext4xfs

        windows中的文件系統類型:fat32、ntfs、extfat

        說到存儲方式,就要聊一聊inode索引和block塊了,為了提高資源的利用率,系統把分好的磁盤分區,又劃分了很多個有序的block塊,存儲容量2K 4K 8K 16K不等,根據文件的大小按需分配。如果文件很大,就會占用多個block塊,這些block塊會記錄在對應的inode號中。目錄怎么找到這些數據塊呢?目錄其實是一個特殊的文件,里面存放著文件的權限、所屬人、所屬組、Inode、文件名等信息。目錄通過文件名和inode映射,找到inode指向的所有數據塊

軟硬鏈接的敘述

        Inode可以和多個文件名進行映射,這樣文件的有效路徑就有多條,這多條有效路徑就叫做文件的硬鏈接。你創建文件時起的那個文件名,其實也是硬鏈接。刪除個別硬鏈接不會影響其他硬鏈接對源文件內容的訪問,但如果所有硬鏈接都被刪除,inode就會被釋放,block也將會被新來的數據覆蓋掉(一個文件至少要有一條硬鏈接)

軟連接:軟鏈接存儲的是一條可以訪問到源文件的有效路徑,通過該路徑訪問到源文件所在目錄。再由inode找到對應的文件內容。因為軟連接存儲的是一條硬鏈接的路徑,所以它可以跨分區,硬鏈接是通過inode進行訪問的,這就限制了它必須和文件內容在一個磁盤分區(每個分區都有自己獨立的inode號)

        軟鏈接優點:可以跨分區,就像快捷方式一樣方便

        缺點: 鏈接的路徑一旦消失,軟鏈接就會失效

        硬鏈接優點:可以建多條有效路徑,來提高數據的安全性(防止誤刪)

           缺點:不可以跨分區,訪問有局限性

 

下面讓我們以真實的環境去看看軟硬鏈接長什么樣子

硬盤狀態

[root@localhost app]#df / /app

Filesystem     1K-blocks    Used Available Use% Mounted on

/dev/sda2       48803552 4391280  44412272  
9% /

/dev/sda3       48803552   32948 
48770604   1% /app

 

 

跨分區實現軟鏈接

[root@localhost app]#pwd

/root

[root@localhost app]#echo welcome
to mageEdu > /app/file01       
將結果重定向至file01文件

[root@localhost app]#ln -s
/app/file01 file01                                  ./file01
作為/app/file01 的軟鏈接

[root@localhost app]#ll file01                                                        查看鏈接狀態

lrwxrwxrwx. 1 root root 11 Jul 20 14:45
file01 -> /app/file01

[root@localhost app]#cat
/root/file01                                              
通過軟鏈接訪問文件內容

welcome to mageEdu

 

 

外鏈接的搭建

[root@localhost app]#cd /app

[root@localhost app]#ls

file01

[root@localhost app]#mkdir whb

[root@localhost app]#tree

.

├── file01

└── whb

[root@localhost app]#cd whb

[root@localhost app]#ln ../file01
f1

[root@localhost app]#ls

f1

[root@localhost app]#ls -li f1                                                        通過查看硬鏈接和源文件狀態

67 -rw-r–r–. 2 root root 19 Jul 20 14:44
f1                                          
會發現它們inode號是一樣的

[root@localhost app]#cd ..

[root@localhost app]#ls -li
file01

67 -rw-r–r–. 2 root root 19 Jul 20 14:44
file01

[root@localhost app]#cat f1                                                          通過硬鏈接訪問文件內容

welcome to mageEdu

 

 

測試

1、  刪除源文件不會影響其他硬鏈接訪問文件內容,而軟鏈接失效

初識文件系統和軟硬鏈接

初識文件系統和軟硬鏈接

 

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

(0)
whbwhb
上一篇 2017-07-19 21:00
下一篇 2017-07-20 16:38

相關推薦

  • 循環體

    for 變量名in 列表;do 循環體 done ?執行機制: 依次將列表中的元素賦值給“變量名”; 每次賦值后即執行一次循環體; 直到列表中的元素耗盡,循環結束 列表生成方式: (1) 直接給出列表 (2) 整數列表: (a) {start..end} (b) $(seq[start [step]] end) (3) 返回列表的命令  &nbsp…

    Linux干貨 2016-08-21
  • centos系列初步搭建LAMP

    centos6搭建LAMP 系統環境 ip=192.168.0.105 selinux為:setenforce 0 iptables 為stop 客戶機需要修改hosts文件 1.192.168.2.105 www1.stuX.com2.192.168.2.105 www2.stuX.com 安裝LAMP組件 1.yum install …

    Linux干貨 2016-12-11
  • iptables實踐-week14

    系統的INPUT和OUTPUT默認策略為DROP; 1、限制本地主機的web服務器在周一不允許訪問;新請求的速率不能超過100個每秒;web服務器包含了admin字符串的頁面不允許訪問;web服務器僅允許響應報文離開本機; 規則: # 周一不能訪問web服務 ~]# iptables -R INPUT 1 -d 172.16.0.11 -p tcp –dp…

    Linux干貨 2017-05-04
  • nginx服務

      Nginx 提供web服務,也是工作在應用層的負載均衡器,擁有強大的緩存能力。 本章主要學習,web server、web reverse proxy(http)和cache 緩存服務器使用較多的是varnish+squid: 任何緩存都是反向代理,但是varnish反向代理能力還是與nginx有很大差距。所以,varnish還是做緩存服務,而…

    Linux干貨 2016-11-01
  • linux 基礎命令總結——文件類命令

    <span style="font-size: 18px;">linux 基礎命令總結——文件類命令</span> #wmd-preview h1  {    color: #0077bb; /* 將標題改為藍色 */} linux 基礎命令總結——文件類命令 命令總結 文件類命令 l…

    Linux干貨 2016-06-26
  • 數組、變量及bash的配置

    數組、變量及bash的配置 變量:存儲單個元素的內存空間 數組:存儲多個元素的內存空間,相當于多個變量集合 索引:編號從0開始,屬于數值索引,索引為自定義格式即為關聯數組(bash4.0之后支持) bash數組支持稀疏格式 數組的聲明 普通數組declare –a 關聯數組 declare –A 普通數組可以不聲明直接使用,關聯數組必須先聲明再使用 數組的賦…

    Linux干貨 2016-08-26
欧美性久久久久