文件系統

文件系統
文件和目錄被組織成一個單根倒置樹結構
文件系統從根目錄下開始,用“/”表示
文件名稱區分大小寫
以.開頭的文件為隱藏文件   一個.表示本目錄。 兩個..表示根目錄
路徑分隔的/      路徑分割為正斜線分割
文件有兩類數據:
       元數據:metadata    屬性
       數據:data
-rw-r–r–        .                  1               root               root                 0       Mar 27 08:35       1 
權限相關      權限相關     連接數       文件所有者    文件組             大小          修改時間         文件
文件系統分層結構:LSB Linux Standard Base
                                簡寫                 標準庫
FHS:(Filesystem Hierarchy Standard)
     http:www.pathname.com/fhs/
文件名規則
文件名最長255個字節       可以加文字 符號  但是不能超過255個字節
包括路徑在內文件名稱最長4095個字節    
藍色—->目錄     綠色—>可執行文件      紅色—->壓縮文件     淺藍色—>連接文件     灰色—>其他文件
除了斜杠和NUL,所有字符都有效。但使用特殊字符的目錄名和文件不推薦使用,有些字符需要用引號來引用它們。
標準Linux文件系統(ext4),文件名稱大小寫敏感。例如:MAIL,Mail,mail, mAiL.
linux 下的文件類型
– :普通文件     [root@localhost run]# ll
-rw——-.  1 root           root              4 Apr 25 09:15 gssproxy.pid
d :目錄文件      [root@localhost run]# ll
drwxr-xr-x.  4 root           root            120 Apr 25 09:14 initramfs
b: 塊設備     ll /dev/sda*
brw-rw—-. 1 root disk 8, 0 Apr 25 09:14 /dev/sda
c:字符設備     ll /dev/zero
crw-rw-rw-. 1 root root 1, 5 Apr 25 09:14 /dev/zero
crw-rw-rw-. 1 root root 1, 3 Apr 25 09:14 /dev/null
l :符號連接文件    ll /etc/redhat-release
lrwxrwxrwx. 1 root root 14 Mar 27 08:22 /etc/redhat-release -> centos-release
p :管道文件pipe         [root@localhost run]# ll
prw——-.  1 root           root              0 Apr 25 09:14 dmeventd-server
s :套接字文件socket         [root@localhost run]# ll
srw-rw-rw-.  1 root           root              0 Apr 25 09:15 gssproxy.sock
刪除文件名“-”
rm -f /root/-h
文件系統結構
/boot:引導文件存放目錄,內核文件(Vmlinuz),引導加載器(boottloader,grub)
都存放于此目錄
/bin:供所有用戶使用的基本命令;不能關聯至獨立分區,OS啟動即會用到的程序
/sbin:管理類的基本命令;不能關聯至獨立分區,OS啟動即會用到的程序
/lib:啟動時程序依賴的基本共享文件以及內核模塊文件(/lib/modules)
/lib64:專用于x86_64系統上的輔助共享庫文件存放位置
/etc:配置文件目錄
/home/USERNAME:普通用戶家目錄
/root:管理員的家目錄
/media:便攜式移動設備掛載點
/mnt:臨時文件系統掛載點
/dev:設備文件及特殊文件存儲位置
     b:block device,  隨機訪問
     c:character device, 線性訪問
/opt:第三方應用程序的安裝位置
/srv:系統上運行的服務用到的數據
/tmp:臨時文件存儲位置
/usr:universal shared , read-only data
     bin:保證系統擁有完整功能而提供的應用程序
     sbin:
     lib:32位使用
     lib64:只存在64位系統
     include:C程序的頭文件(header files)
     share:結構化獨立的數據,例如doc, man等
     local:第三方應用程序的安裝位置
           bin,sbin,lib,lib64,etc, share
/var:variabie data files
cache:應用程序緩存數據目錄
lib:應用程序狀態信息數據
local:專用于為/usr/local下的應用程序存儲可變數據;
lock:鎖文件
log:日志目錄及文件
opt:專用于為/opt下的應用程序存儲可變數據
run:運行中的進程相關數據,通常用于存儲進程pid文件
spool:應用程序數據池
tmp:保存系統兩次重啟之間產生的臨時數據
/proc:用于輸出內核與進程信息相關的虛擬文件系統
/sys:用于輸出當前系統上的硬件設備相關信息虛擬文件系統
/selinux:security enhanced linux, selinux相關的安全策略等信息的存儲位置
Linux上的應用程序的組成部分
二進制程序:/bin,/sbin,/usr/bin,/usr/sbin ,/usr/local/bin,/usr/local/sbin
庫文件:/lib,/lib64,/usr/lib,/usr/lib64,/usr/local/lib,/usr/local/lib64
配置文件:/etc,/etc/DIRECTORY,/usr/local/etc
幫助文件:/usr/share/man,/usr/share/doc,/usr/local/share/man,/usr/local/share/doc
CentOS 7目錄變化
/bin和/usr/bin
/sbin和/usr/sbin
/lib和/usr/lib
/lib64和/usr/lib64
顯示當前工作目錄
每個shell和系統進程都有一個當前的工作目錄
CWD:current work directory
顯示當前shell CWD的絕對路徑
#pwd:printing working directory
       -p 顯示真實物理路徑
[root@localhost rc0.d]# pwd
/etc/rc0.d
[root@localhost rc0.d]# pwd -P
/etc/rc.d/rc0.d

       -L  顯示連接路徑(默認)
更改目錄
cd 改變目錄
使用絕對路徑或相對路徑
cd  /home/wang/
cd home/wang
切換至父目錄: cd ..
切換至當前用戶主目錄: cd
切換至當前的工作目錄: cd –
選項: -p
相關的環境變量
      PWD;當前目錄路徑
      OLDPWD:上一次目錄路徑
列出目錄內容
列出當前目錄的內容或指目錄
用法:ls[options] [files_or_dirs]
示例:
ls -a     包含隱藏文件
ls -l      顯示額外的信息
ls R      目錄遞歸通過
ls -ld     目錄和符號鏈接信息
ls -1     文件分行顯示
ls -S    按從大到小排列
ls -t   按mtime排列
ls -u  配合-t選項,顯示并按atime從新到舊排列
ls -U 按目錄存放順序顯示
ls  -X  文件后綴排序
基本上Linux最主要的文件系統為Ext2,該文件系統內的信息主要由:
       superblock:記錄此文件系統的整體信息,包括inode/block的總量,使用量,剩余量,以及文件系統的          格式化與相關信息等。
       inode:記錄文件的屬性,一個文件占用一個inode,同時記錄此文件的數據所在的block號碼。
       block:實際記錄文件的內容,若文件太大時,會占用多個block。
Ext2文件系統的數據訪問為索引式文件系統(indexed allocation)
需要碎片整理的原因就是文件寫入的bloxk太過離散了,此時文件讀取的性格將變得很差所致,這個時候可以通過碎片整理將同一個文件所屬的block匯集在一起。
Ext2文件系統主要有boot sector,superblock,inode bitmap,block bitmap,inode table,data block等六大部分。
data block是用來放置文件內容數據地方,在Ext2文件系統中所支持的block大小有1KB,2KB及4KB三種而已。
inode記錄文件的屬性/權限等數據,每個inode大小均固定為128bytes;每個文件都僅會占用一個inode而已;因此文件系統能夠新建的文件數量與inode的數量有關
文件的block記錄文件的實際數據,目錄的block則記錄該目錄下面文件名與其inode號碼的對照表。
日志(journal)文件系統會多出一塊記錄區,隨時記載文件系統的主要活動,可加快系統恢復時間。
Linux文件系統為增加性能,會讓主存儲器作為大量的磁盤高速緩存。
實際連接只是多了一個文件名對該inode號碼的鏈接而已。
符號鏈接就類似Windows的快捷方式功能。
磁盤的使用必需要經過分區,格式化與掛載,分別慣用的命令fdisk,mkfs和mount。
開機自動掛載可參考/etc/fstab的設置,設置完畢務必使用mount -a測試語法正確否。

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

(0)
wangqiangwangqiang
上一篇 2017-05-02 21:49
下一篇 2017-05-02 22:18

相關推薦

  • 軟件包管理詳解

      軟件包管理器 1、功能: (1)將軟件包打包成一個文件,其中包括: ①二進制程序 ②庫文件 ③配置文件 ④幫助文件 (2)生成數據庫,追中所安裝的每一個文件。 2、軟件包管理器的核心功能: (1)制作軟件包 (2)安裝、卸載、升級、查詢、校驗 3、不同發行版的不同的…

    2017-08-11
  • 6個變態的C語言Hello World程序

    下面的六個程序片段主要完成這些事情: 輸出Hello, World 混亂C語言的源代碼 下面的所有程序都可以在GCC下編譯通過,只有最后一個需要動用C++的編譯器g++才能編程通過。 hello1.c  #define _________ }     #define ______…

    Linux干貨 2016-05-08
  • 計算機及Linux系統基礎簡介

    一、計算機的組成及其功能 計算機由運算器,控制器,存儲器,輸入裝置和輸出裝置五大部件組成計算機,每一部件分別按要求執行特定的基本功能。 運算器或稱算術邏輯單元(Arithmetical and Logical Unit) 運算器的主要功能是對數據進行各種運算。這些運算除了常規的加、減、乘、除等基本的算術運算之外,還包括能進行“邏輯判斷”的邏輯處理能力,即“與…

    Linux干貨 2017-07-02
  • 文件的元數據

    2018-03-11

    2018-03-11
  • bash的一些特性

    bash的字符串處理工具 字符串切片: ${var:offset:number} 取字符串的子串; 取字符串的最右側的幾個字符:${var: -length} 注意:冒號后必須有一個空白字符; 基于模式取子串; ${var#*word}: 其中word是指定的分隔符;功能:自左而右,查找var變量中所存儲的字符串中,第一次出現word分隔符,刪除字符串開頭至…

    Linux干貨 2016-08-24
  • M22 使用非對稱密鑰實現ssh自動登陸

    一 實驗目的 一般在用戶使用ssh客戶端登陸ssh服務器時需要使用用戶名和密碼,本實驗使用非對稱加密的方式實現了無密碼登陸ssh服務器。 二 實驗流程  、 1 在客戶端生成非對稱密鑰對 2 將非對稱密鑰中的公鑰發送給ssh服務器端相應的帳號 3 當客戶端通過ssh協議與服務器端發起連接時,客戶端將私鑰加密過的簽名發送給服務器端,服務器端使用客戶端…

    2017-04-13
欧美性久久久久