Linux下七種文件類型、文件屬性及其查看方法

来源:https://www.cnblogs.com/xiezhr/archive/2023/05/06/17343426.html
-Advertisement-
Play Games

1、七種文件類型 普通文件類型 Linux中最多的一種文件類型, 包括 純文本文件(ASCII);二進位文件(binary);數據格式的文件(data);各種壓縮文件.第一個屬性為 [-] 目錄文件 就是目錄, 能用 # cd 命令進入的。第一個屬性為 [d],例如 [drwxrwxrwx] 塊設備 ...


1、七種文件類型

普通文件類型
Linux中最多的一種文件類型, 包括 純文本文件(ASCII);二進位文件(binary);數據格式的文件(data);各種壓縮文件.第一個屬性為 [-]
目錄文件
就是目錄, 能用 # cd 命令進入的。第一個屬性為 [d],例如 [drwxrwxrwx]
塊設備文件
塊設備文件 : 就是存儲數據以供系統存取的介面設備,簡單而言就是硬碟。例如一號硬碟的代碼是 /dev/hda1等文件。第一個屬性為 [b]
字元設備
字元設備文件:即串列埠的介面設備,例如鍵盤、滑鼠等等。第一個屬性為 [c]
套接字文件
這類文件通常用在網路數據連接。可以啟動一個程式來監聽客戶端的要求,客戶端就可以通過套接字來進行數據通信。第一個屬性為 [s],最常在 /var/run目錄中看到這種文件類型
管道文件
FIFO也是一種特殊的文件類型,它主要的目的是,解決多個程式同時存取一個文件所造成的錯誤。FIFO是first-in-first-out(先進先出)的縮寫。第一個屬性為 [p]
鏈接文件
類似Windows下麵的快捷方式。第一個屬性為 [l],例如 [lrwxrwxrwx]

2、查看文件類型的三種方法


ls-l/ls-ld 或者ll [ls-l ---查看文件 ls-ld ---查看路徑 ll ----跟ls -l 一樣]

 ll anaconda-ks.cfg                       //看第一個字元
-rw-------. 1 root root 2460 6月   1 23:37 anaconda-ks.cfg
[root@localhost log]# ls -ld /etc   
drwxr-xr-x. 81 root root 4096 Jan 29 03:25 /etc


file 命令

[root@localhost data]# file a.txt 
a.txt: ASCII text


stat 命令

[root@localhost data]# stat a.txt      //查看文件的詳細屬性(其中包括文件時間屬性)
  File: `a.txt'
  Size: 3               Blocks: 8          IO Block: 4096   regular file
Device: 803h/2051d      Inode: 544365      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-01-28 20:56:01.965885036 +0800
Modify: 2018-01-28 20:55:27.181876154 +0800
Change: 2018-01-28 20:55:27.181876154 +0800

3、Linux中文件擴展名

windows里通過擴展名來區分文件類型的。linux里文件擴展名和文件類型沒有關係。但為了容易區分和相容用戶使用windows的習慣,我們還是會用擴展名來表示文件類型。舉例如下:
● 源碼.tar、.tar.gz、.tgz、.zip、.tar.bz表示壓縮文件,創建命令一般為tar,gzip,zip等。
● .sh表示shell腳本文件,通過shell語言開發的程式。
● .pl表示perl語言文件,通過perl語言開發的程式。
● .py表示python語言文件,通過python語言開發的程式。
● .html、.htm、.php、.jsp、.do表示網頁語言的文件。
● .conf表示系統服務的配置文件。
● .rpm表示rpm安裝包文件。

4、文件屬性

[root@localhost /]# ls -lhi
total 90K
    12 dr-xr-xr-x.  2 root root 4.0K Jan 28 18:30 bin
     2 dr-xr-xr-x.  5 root root 1.0K Aug  7  2016 boot
     4 drwxr-xr-x. 18 root root 3.7K Jan 29 01:29 dev
652802 drwxr-xr-x. 81 root root 4.0K Jan 29 03:25 etc
130563 drwxr-xr-x.  3 root root 4.0K Jan 29 00:57 home
    13 dr-xr-xr-x. 12 root root 4.0K Jan 28 18:30 lib
391685 dr-xr-xr-x.  9 root root  12K Jan 28 18:30 lib64
    11 drwx------.  2 root root  16K Aug  7  2016 lost+found
130564 drwxr-xr-x.  2 root root 4.0K Sep 23  2011 media
391689 drwxr-xr-x.  2 root root 4.0K Sep 23  2011 mnt
130565 drwxr-xr-x.  3 root root 4.0K Aug  7  2016 opt
     1 dr-xr-xr-x. 97 root root    0 Jan 29  2018 proc
391682 dr-xr-x---.  2 root root 4.0K Jan 28 21:08 root
130566 dr-xr-xr-x.  2 root root  12K Jan 28 18:30 sbin
     1 drwxr-xr-x.  7 root root    0 Jan 29  2018 selinux
    15 drwxr-xr-x.  2 root root 4.0K Sep 23  2011 srv
     1 drwxr-xr-x. 13 root root    0 Jan 29  2018 sys
522242 drwxrwxrwt.  5 root root 4.0K Jan 29 05:15 tmp
522244 drwxr-xr-x. 14 root root 4.0K Jan 28 20:04 usr
261121 drwxr-xr-x. 20 root root 4.0K Aug  7  2016 var

這裡寫圖片描述

544365 -rw-r--r--. 1 root root 3 Jan 28 20:55 a.txt

inode 索引節點編號:544365
文件類型 :文件類型是'-',表示這是一個普通文件
文件許可權:rw-r--r-- 表示文件可讀、可寫、可執行,文件所歸屬的用戶組可讀可執行,其他用戶可讀可執行
硬鏈接個數 表示a.txt這個文件沒有其他的硬鏈接,因為連接數是1,就是他本身
文件屬主 表示這個文件所屬的用戶,這裡的意思是a.txt文件被root用戶擁有,是第一個root
文件屬組 表示這個文件所屬的用戶組,這裡表示a.txt文件屬於root用戶組,是第二個root
文件大小 文件大小是3個位元組
文件修改時間 這裡的時間是該文件最後被更新(包括文件創建、內容更新、文件名更新等)的時間可用如下命令查看文件的修改、訪問、創建時間

[root@localhost data]# stat a.txt 
  File: `a.txt'
  Size: 3               Blocks: 8          IO Block: 4096   regular file
Device: 803h/2051d      Inode: 544365      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-01-28 20:56:01.965885036 +0800       ----------訪問時間
Modify: 2018-01-28 20:55:27.181876154 +0800       ----------修改時間
Change: 2018-01-28 20:55:27.181876154 +0800     ----------創建時間

索引節點inode
硬碟分區,格式化、創建文件系統
被格式化的磁碟分為兩部分:第一部分是Inode 第二部分是block
block是用來存儲實際數據用的,例如:照片、視頻等普通文件數據
inode是用來存儲這些數據的屬性的(也就是ls-l的結果)
inode包含的屬性信息有文件大小、屬主、歸屬的用戶組、讀寫許可權、問價類型、修改時間,還有指向文件實體指針的功能(inode節點----block的對應關係),但是唯獨不包含文件名
這裡寫圖片描述
訪問一個文件【通過文件名找到inode---->block 】
這裡寫圖片描述
查看inode 大小

[root@localhost ~]# dumpe2fs /dev/sda1|grep -i "Inode size" 
dumpe2fs 1.41.12 (17-May-2010)
Inode size:               128

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 項目準備 1.創建項目,選擇webapi。取消勾選使用控制器。創建minimal Api項目 2.創建成功後MinimalAPI的介面直接寫在program.cs中 3.引入nuget包:Masa.Contrib.Service.MinimalAPIs MinimalAPI改造 1. 在progra ...
  • 簡介: FluentFTP是一個用於C#語言的FTP客戶端庫,它提供了許多方便的功能和API,使FTP文件傳輸變得簡單易用。FluentFTP的主要目標是提供簡單易用的API,並同時提供足夠的靈活性以滿足大多數開發人員的需求。 FluentFTP支持FTP和FTPS協議,可以通過簡單的API進行連接 ...
  • 在拍攝脊柱或胸片時,經常會遇到因設備高度不夠需要分段拍攝的情況, 對於影像科診斷查閱影像時希望將分段影像合併成一張影像,有助於更直觀的觀察病竈, 以下圖為例的兩個分段影像: 我們使用OpenCVSharp中的Stitcher類的Stitch方法,導入兩張圖像並拼接: 但結果卻失敗了,返回錯誤結果:E ...
  • 利用PowerPoint可以很方便的呈現多媒體信息,且信息形式多媒體化,表現力強。但難免在某些情況下我們會需要將PowerPoint轉換為HTML格式。因為HTML文檔能獨立於各種操作系統平臺(如Unix,Windows等)。並且它可以加入圖片、聲音、動畫、影視等內容,還能從一個文件跳轉到另一個文件 ...
  • 目錄 01項目環境準備 02代碼示例 03輸出示例 04總結 05源碼地址 01項目環境準備 A.開發使用的軟體:AutoCAD2016、VisualStudio2022 B.建立依賴的本地庫(提前從AutoCAD軟體安裝目錄拷貝開發時需要使用的庫,如:accoremgd.dll) C.創建新的類庫 ...
  • 支持.Net Core(2.0及以上)/.Net Framework(4.5及以上),可以部署在Docker, Windows, Linux, Mac。 http請求調用是開發中經常會用到的功能,因為,很多第三方功能介面往往是通過http地址的形式提供的,比如:ChatGpt、OpenAI、簡訊服務 ...
  • 就從頭開始吧 第一題 (ASCII) 一道簡單的ASCII碼轉換,直接用題目的提示代碼解就行了 ascii=[99, 114, 121, 112, 116, 111, 123, 65, 83, 67, 73, 73, 95, 112, 114, 49, 110, 116, 52, 98, 108, ...
  • 最近小編思維發散“Visual Studio可以集成chatgpt嗎?”,這樣不就可以讓chatgpt幫你寫代碼了嗎?尋覓了一圈,還真有這個東西,那就是一個Visual Studio的擴展插件:Visual chatGPT Studio,雖然不是官方的,部分功能也可以值得一用。本文將介紹Visual ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...