日韩高清在线免费不卡性生活毛片,亚洲av综合第一页,亚洲美女被操,一级无遮挡理论片

綠色資源網(wǎng):您身邊最放心的安全下載站! 最新軟件|熱門排行|軟件分類|軟件專題|論壇轉帖|廠商大全

綠色資源網(wǎng)

技術教程
您的位置:首頁操作系統(tǒng)linux → 詳解Linux文件系統(tǒng)

詳解Linux文件系統(tǒng)

我要評論 2011/09/19 14:08:15 來源:綠色資源網(wǎng) 編輯:downcc.com [ ] 評論:0 點擊:231次

1. Linux 磁盤分區(qū)和目錄
Linux 發(fā)行版本之間的差別很少,差別主要表現(xiàn)在系統(tǒng)管理的特色工具以及軟件包管理方式的不同。目錄結構基本上都是一樣的。 Windows 的文件結構是多個并列的樹狀結構,最頂部的是不同的磁盤(分區(qū)),如: C , D , E , F 等。
Linux 的文件結構是單個的樹狀結構 . 可以用 tree 進行展示。 在 Ubuntu 下安裝 tree ( sudo apt-get install tree ) , 并可通過命令來查看。
每次安裝系統(tǒng)的時候我們都會進行分區(qū), Linux 下磁盤分區(qū)和目錄的關系如下:
– 任何一個分區(qū)都必須掛載到某個目錄上。
– 目錄是邏輯上的區(qū)分。分區(qū)是物理上的區(qū)分。
– 磁盤 Linux 分區(qū)都必須掛載到目錄樹中的某個具體的目錄上才能進行讀寫操作。
– 根目錄是所有 Linux 的文件和目錄所在的地方,需要掛載上一個磁盤分區(qū)。
以下是我們可能存在的一種目錄和分區(qū)關系:

圖1:目錄和分區(qū)關系
Q: 如何查看分區(qū)和目錄及使用情況?
– fdisk 查看硬盤分區(qū)表
– df :查看分區(qū)使用情況
– du: 查看文件占用空間情況
Q: 為什么要分區(qū),如何分區(qū)?
– 可以把不同資料,分別放入不同分區(qū)中管理,降低風險。
– 大硬盤搜索范圍大,效率低
– 磁盤配合只能對分區(qū)做設定
– /home /var /usr/local 經常是單獨分區(qū),因為經常會操作,容易產生碎片

2. Mount 掛載和 NFS 簡介
掛載的概念 :當要使用某個設備時,例如要讀取硬盤中的一個格式化好的分區(qū)、光盤或軟件等設備時,必須先把這些設備對應到某個目錄上,而這個目錄就稱為 “ 掛載點( mount point ) ” ,這樣才可以讀取這些設備,而這些對應的動作就是 “ 掛載 ” 。 將物理分區(qū)細節(jié)屏蔽掉。用戶只有統(tǒng)一的邏輯概念。所有的東西都是文件。 Mount 命令可以實現(xiàn)掛載:
mount [-fnrsvw] [-t vfstype] [-o options] device dir
Q :所有的磁盤分區(qū)都必須被掛載上才能使用,那么我們機器上的硬盤分區(qū)是如何被掛載的?
A :這主要是它利用了 /etc/fstab 文件。每次內核加載它知道從這里開始 mount 文件系統(tǒng)。每次系統(tǒng)啟動會根據(jù)該文件定義自動掛載。若沒有被自動掛載,分區(qū)將不能使用。 如下是我的 /etc/fstab 的定義,主要是根據(jù)裝機的分區(qū)來的:
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
#/dev/sda1 被自動掛載到 /
UUID=cb1934d0-4b72-4bbf-9fad-885d2a8eeeb1 / ext3 relatime,errors=remount-ro 0 1
# /dev/sda5 被自動掛載到分區(qū) /home
UUID=c40f813b-bb0e-463e-aa85-5092a17c9b94 /home ext3 relatime 0 2
#/dev/sda7 被自動掛載到 /work
UUID=0f918e7e-721a-41c6-af82-f92352a568af /work ext3 relatime 0 2
# 分區(qū) /dev/sda6 被自動掛載到 swap
UUID=2f8bdd05-6f8e-4a6b-b166-12bb52591a1f none swap sw 0 0

Q :移動硬盤如何掛載?如何掛載一個新的分區(qū)?
移動硬盤有驅動模塊會自動掛載,如果有個新硬盤,要先進行分區(qū),并通過 mount 命令掛載到某個文件夾。如果要自動掛載則可以修改 /etc/fstab 文件 .
NFS 簡介: NFS 相信在很多地方都有廣泛使用,是一個非常好的文件共享方式。我們公司所使用的上傳服務就是把文件上傳到某臺網(wǎng)絡服務器上,中間就是通過 NFS 實現(xiàn)。
使用 NFS 客戶端可以透明的地訪問服務器端的文件。 NFS 也是通過 mount 來實現(xiàn),底層是通過 NFS 通信協(xié)議實現(xiàn)。基本原理:
 

圖2:NFS基本原理

Ubuntu 下面 Ubuntu 下的例子
服務端 :
$apt-get install nfs-kernel-server
vi /etc/exports 添加 nfs 目錄 : /personal/nfs_share
10.1.60.34(rw,sync,no_root_squash)
$sudo exportfs -r
$sudo /etc/init.d/portmap start
$sudo /etc/init.d/nfs-kernel-server start
客戶端 :
$sudo apt-get install nfs-common
$sudo mount 10.19.34.76:/personal/nfs_share ~/nfsshare 例子:
3. 文件類型
Linux 下面的文件類型主要有:
a) 普通文件 : C 語言元代碼、 SHELL 腳本、二進制的可執(zhí)行文件等。分為純文本和二進制。
b) 目錄文件 :目錄,存儲文件的唯一地方。
c) 鏈接文件 :指向同一個文件或目錄的的文件。
d) 特殊文件 :與系統(tǒng)外設相關的,通常在 /dev 下面。分為塊設備和字符設備。
可以通過 ls –l, file, stat 幾個命令來查看文件的類型等相關信息。
4.文件存儲結構
Linux 正統(tǒng)的文件系統(tǒng) ( 如 ext2 、 ext3) 一個文件由目錄項、 inode 和數(shù)據(jù)塊組成。
目錄項 : 包括文件名和 inode 節(jié)點號。
Inode :又稱文件索引節(jié)點,是文件基本信息的存放地和數(shù)據(jù)塊指針存放地。
數(shù)據(jù)塊 :文件的具體內容存放地。

Linux 正統(tǒng)的文件系統(tǒng) ( 如 ext2 、 3 等 ) 將硬盤分區(qū)時會劃分出目錄塊、 inode Table 區(qū)塊和 data block 數(shù)據(jù)區(qū)域。 一個文件由一個目錄項、 inode 和數(shù)據(jù)區(qū)域塊組成。 Inode 包含文件的屬性 ( 如讀寫屬性、 owner 等,以及指向數(shù)據(jù)塊的指針 ) ,數(shù)據(jù)區(qū)域塊則是文件內容。 當查看某個文件時,會先從 inode table 中查出文件屬性及數(shù)據(jù)存放點,再從數(shù)據(jù)塊中讀取數(shù)據(jù)。

站在 2w 英尺視圖,文件存儲結構大概如下:
 

圖3:文件存儲結構2w英尺視圖

其中目錄項的結構如下 ( 每個文件的目錄項存儲在改文件所屬目錄的文件內容里 ) :
 

圖4:目錄項結構

其中文件的 inode 結構如下( inode 里所包含的文件信息可以通過 stat filename 查看得到):
 

圖5:inode結構

以上只反映大體的結構, linux 文件系統(tǒng)本身在不斷發(fā)展。但是以上概念基本是不變的。且如 ext2 、 ext3 、 ext4 文件系統(tǒng)也存在很大差別,如果要了解可以查看專門的文件系統(tǒng)介紹。

5. 軟連接、硬鏈接
軟鏈接和硬鏈接是我們常見的兩種概念:
硬連接 :是給文件一個副本,同時建立兩者之間的連接關系。修改其中一個,與其連接的文件同時被修改。如果刪除其中 [color=red] 任意一個 [/color] 其余的文件將不受影響。
軟連接 : 也叫符號連接 , 他只是對源文件在新的位置建立一個“快捷(借用一下 wondows 常用詞)”,所以,當源文件刪除時,符號連接的文件將成為無源之水 -> 僅僅剩下個文件名了,當然刪除這個連接,也不會影響到源文件,但對連接文件的使用、引用都是直接調用源文件的。
具體關系可以看下圖:
 

圖6:軟鏈接和硬鏈接

從圖上可以看出硬鏈接和軟鏈接的區(qū)別:
1 :硬鏈接原文件和新文件的 inode 編號一致。而軟鏈接不一樣。
2 :對原文件刪除,會導致軟鏈接不可用,而硬鏈接不受影響。
3 :對原文件的修改,軟、硬鏈接文件內容也一樣的修改,因為都是指向同一個文件內容的。

6. 文件目錄管理命令
磁盤和文件空間
fdisk df du
文件目錄與管理
cd pwd mkdir rmdir ls cp rm mv
查看文件內容
cat:
cat [file]
查看文件的內容。全程式concatenate的意思,將文件內容連續(xù)輸出到屏幕上。第一行到最后一行顯示。
tac:
tac [file]
和cat剛好相反 是從最后一行到第一行的方式查看。
cat有個比較不好的地方時當文件比較大時候沒辦法看清楚,這個時候可以用more或者Less命令。
more:
more [file]
如果使用grep或者find等命令時,可以配合使用more一頁一頁的查看。如果看到一半想退出,則敲入’q’即可退出。
less:
less [file]
less比more更有彈性,可以上下翻頁。
如果只想讀取文件的頭幾行或者文件的末尾幾行,可以用head或tail.
head –n [file]:讀取文件的前n行。
tail –n [file]:讀取文件末尾n行。
以上命令都是用于查看字符文件,二進制文件出來的都是亂碼,要看二進制文件的內容,可以用od命令,如查看一個MP3文件里面的內容:
od shijiemori.mp3
文件目錄與權限

關鍵詞:Linux,文件系統(tǒng)

閱讀本文后您有什么感想? 已有 人給出評價!

  • 0 歡迎喜歡
  • 0 白癡
  • 0 拜托
  • 0 哇
  • 0 加油
  • 0 鄙視