日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Linux 文件的類型

系統 2022 0

Linux文件的類型

在Linux中文件的類型是通過文件權限的首位定義的,可以分為以下幾類。

1.普通文件

普通文件包括源程序文件、腳本文件、可執行程序文件及各種數據文件。普通文件的文件類型標識位為"-",使用ls命令可以查看文件的類型,例如:

  1. #ls??-l??suple ?
  2. -rw-r--r--???1?root?root???540?07-23?08:31?suple?

2.目錄文件

目錄實際上是一種特殊的文件。目錄下可以包含文件和子目錄。目錄文件的類型標識位為"d",如下所示:

  1. #ls??-l??tmp ?
  2. drwxrwxrwt??21?root?root??4096?07-25?22:49?tmp?

3.套接字文件

套接字(socket)是用來進行網絡通信的常用方法之一。Linux文件系統可以通過套接字文件實現網絡通信。套接字的文件類型標識位為"s",例如:

  1. #ls??-l??x1 ?
  2. srwx------??2?root?root??0?07-25?17:49?x1?

4.命名管道

文件系統通過命名管道文件可以實現進程間的通信。命名管道的文件類型標識位為"p",例如:

  1. #ls??-l??p1 ?
  2. prwx------??2?root?root??0?07-25?17:59?p1?

5.設備文件

Linux系統將設備識別為特殊的文件進行處理。設備文件可以分為兩類:字符設備和塊設備。字符設備的文件類型標識位為"c",打印機、鍵盤等都屬于字符設備。磁盤、磁帶等都屬于塊設備,塊設備的文件類型標識位為"b"。在系統的/dev目錄下存放了大量的設備文件,例如字符終端tty1的設備文件為/dev/tty1。使用ls命令可以看到字符設備的首字符為"c",塊設備的首字符為"b",如下所示:

  1. #ls??-l??/dev/tty1 ?
  2. crw-------??1?root?root?????4,????1?07-25?05:44?tty1 ?
  3. #ls??-l??/dev/sda1 ?
  4. brw-r-----??1?root?disk?????8,????1?07-25?05:41?sda1?

6.鏈接文件

為了使用、管理的方便和節省磁盤空間,Linux 允許一個物理文件有一個以上的邏輯名,即可以為一個文件創建一個鏈接文件,用來表示該文件的另一個名字。不同的鏈接文件可為之指定不同的訪問權限,從而實現既可共享,又可安全控制的目的。

Linux文件系統中有兩類鏈接文件:一類叫做硬鏈接,一類叫做符號鏈接。硬鏈接的文件類型標識位與被鏈接的文件相同。不帶參數使用ln命令可以建立硬鏈接文件,例如對sysv文件建立硬鏈接的命令如下:

  1. #?ls??-il??sysv ?
  2. 390162?-rw-r--r--?1?root?root?0?07-26?00:51?sysv ?
  3. #?ln??sysv?syslink ?
  4. #?ls??-il??sysv?slink ?
  5. 390162?-rw-r--r--?2?root?root?0?07-26?00:51?slink ?
  6. 390162?-rw-r--r--?2?root?root?0?07-26?00:51?sysv??

從本例中可以看出硬鏈接文件slink與被鏈接的文件sysv指向同一個i節點(節點編號390162),硬鏈接與被鏈接的文件具有相同的文件類型標識位"-",建立硬鏈接后,文件的鏈接數由1變為2。

實際上硬鏈接只是源文件的一個硬復制,它們在目錄文件中的入口項指向的是同一個i節點。只有當硬鏈接的全部鏈接被刪除時才能夠釋放此i節點。用戶對這個文件所做的任何修改,所有的硬鏈接都可以同步看到。硬鏈接的文件必須在同一個文件系統中,目錄不能建立硬鏈接。

建立符號連接可以使用帶參數"-s"的ln命令,符號鏈接只是指定到真實文件的訪問路徑上,與源文件的i節點號不同。如果源文件被刪除,符號鏈接就被損壞了。符號鏈接的文件類型標識位為"l"。例如為文件ftpuser建立符號鏈接fuser,命令如下所示:

  1. #?ls??-il??ftpuser ?
  2. 390161?-rw-r--r--?1?root?root?0?07-26?01:17?ftpuser ?
  3. #?ln??-s??ftpuser??fuser ?
  4. #?ls??-il??ftpuser?fuser ?
  5. 390161?-rw-r--r--?1?root?root?0?07-26?01:17?ftpuser ?
  6. 390162?lrwxrwxrwx?1?root?root?7?07-26?01:18?fuser?- > ?ftpuser ?
  7. #?rm??ftpuser ?
  8. rm:是否刪除?一般空文件?"ftpuser"??y ?
  9. #?ls??-il??ftpuser??fuser ?
  10. ls:?ftpuser:?沒有那個文件或目錄 ?
  11. 390162?lrwxrwxrwx?1?root?root?7?07-26?01:18?fuser?- > ?ftpuser?

可以看到ftpuser與fuser的i節點號不同(ftpuser為390161,fuser為390162),fuser的文件類型標識位為"l"。源文件ftpuser被刪除后,符號鏈接文件報錯。

與硬鏈接不同,符號鏈接可以跨文件系統建立,并且可以指定到目錄。硬鏈接與符號鏈接的區別如圖6.3所示。

Linux 文件的類型 ?
圖6.3? 硬鏈接與符號鏈接

Linux 文件的類型


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 黎平县| 定远县| 宝坻区| 葫芦岛市| 石棉县| 正阳县| 什邡市| 绩溪县| 富锦市| 唐山市| 富宁县| 咸宁市| 汉寿县| 旌德县| 阳东县| 闽清县| 叶城县| 香格里拉县| 宾阳县| 元谋县| 衡水市| 新乡市| 丽江市| 池州市| 云梦县| 新和县| 萝北县| 大渡口区| 碌曲县| 和林格尔县| 柘城县| 镇康县| 大丰市| 宣城市| 禄丰县| 如皋市| 墨江| 乌鲁木齐县| 成武县| 齐河县| 探索|