歡迎您光臨本站 註冊首頁

Linux 文件管理

←手機掃碼閱讀     火星人 @ 2014-03-08 , reply:0

1、檢查文件
用ls –l以長模式察看文件的詳細信息
包含當前目錄的硬碟使用空間、文件類型、文件許可權、硬連接數、文件擁有者、文件所屬組、文件大小、更動時間、文件名.
用file檢查文件類型
由於linux中的文件名中沒有擴展名,可能需要用file來查看文件類型

解釋:
? 用ls –l 以長模式顯示文件的信息,例:
[root@server1 root]# ls -l /var/lib/dhcp/
total 8
-rw-r--r-- 1 root root 864 Feb 14 15:09 dhcpd.leases
-rw-r--r-- 1 root root 864 Feb 14 15:05 dhcpd.leases~
? 用file檢查文件類型
[root@server1 root]# file /etc/fstab
/etc/fstab : ASCII text
file命令從系統配置文件/usr/share/magic中讀取相應的文件規範.

2、文件類型
? 在linux中,所有東西都被當成文件.
? 文件許可權前的第一個字母用來標識文件類型:
-:一般文件
d:目錄文件
b:塊設備文件
c:字元設備文件
l:鏈接文件
p:人工管道
解釋:
文件類型
Linux沿用了Unix風格,在系統中所有東西都被當成文件,並且都可以適用文件的操作.
對於不同類型的文件,通常ls會用不同的顏色來標識,這些標識顏色的定義在文件/etc/DIR_COLORS中.
文件分類
一般文件
  這是一類常見的文件,也是常使用的一類文件,其特點是不包含有文件系統的結構信息.通常所接觸到的文件,包括圖形文件、數據文件、文檔文件、聲音文件等都屬於這種文件.這種類型的文件按其內部結構又可細分為文本文件和二進位文件.
目錄文件
  目錄文件是用於存放文件名及其相關信息的文件,是內核組織文件系統的基本節點.目錄文件可以包含下一級目錄文件或普通.對於習慣於使用Windows的用戶來說,這可能有些難於理解,目錄怎麼會是文件呢?的確,在Linux中,目錄文件是一種文件.但Linux的目錄文件和其它操作系統中的“目錄”的概念不同,它是Linux文件中的一種.當然,在實際使用中可以不仔細區分這兩種說法.實際上,在很多Linux的書籍和資料中就是將目錄文件簡稱為目錄的.不過,我們必需清楚此“目錄”非彼“目錄”.


鏈接文件
  鏈接文件是一種特殊的文件,實際上是指向一個真實存在的文件的鏈接.這有點類似於Windows下的快捷方式.根據鏈接文件的不同,它又可以細分為硬鏈接文件和符號鏈接文件.
設備文件
  設備文件是Linux中最特殊的文件.正是由於它的存在,Linux系統可以十分方便地訪問外部設備.Linux系統為外部設備提供一種標準介面,將外部設備視為一種特殊的文件.用戶可以像訪問普通文件一樣訪問外部設備,使Linux系統可以很方便地適應不斷發展的外部設備.通常Linux系統將設備文件放在/dev目錄下,設備文件使用設備的主設備號和次設備號來指定某外部設備.根據訪問數據方式的不同,設備文件又可以細分為塊設備和字元設備文件.
管道文件
  管道文件是一種很特殊的文件,主要用於不同進程間的信息傳遞.當兩個進程間需要進行數據或信息傳遞時,可以通過管道文件.一個進程將需傳遞的數據或信息寫入管道的一端,另一進程則從管道的另一端取得所需的數據或信息.通常管道是建立在調整緩存中.

3、文件許可權
? 對於每一個文件,Linux都提供了一套文件許可權系統.
? 文件許可權系統,將操作文件的用戶都分成三類
文件的擁有者(u)
文件所屬組的成員(g)
其他用戶(o)
解釋:
文件許可權
Linux系統是一個典型的多用戶系統,不同的用戶處於不同的地位.為了保護系統的安全性,Linux系統對不同用戶訪問同一文件的許可權做了不同的規定.
  對於一個Linux系統中的文件來說,它的許可權可以分為三種:讀的許可權( r )、寫的許可權( w )和執行的許可權( x ).不同的用戶具有不同的讀、寫和執行的許可權.


  對於一個文件來說,它都有一個特定的所有者,也就是對文件具有所有權的用戶.同時,由於在Linux系統中,用戶是按組分類的,一個用戶屬於一個或多個組.文件所有者以外的用戶又可以分為文件所有者的同組用戶和其它用戶.因此,Linux系統按文件所有者、文件所屬組的成員和其它用戶三類規定不同的文件訪問許可權.

4、文件許可權類型
? 對於每一類用戶,許可權系統又分別提供他們三種許可權
? 讀(r) :用戶是否有權力讀文件的內容
? 寫(w) :用戶是否有權利改變文件的內容
? 執行(x) :用戶是否有權利執行文件
解釋:
許可權的概念
Linux文件系統安全模型是通過給系統中的文件賦予兩個屬性來起作用的,這兩個賦予每個文件的屬性稱為所有者(ownership)和訪問許可權(access rights).Linux下的每一個文件嚴格地屬於一個用戶和一個組.
每個文件的目錄條目都是以下面類似的一些符號開始:
- r w - r - - r - -
這些符號用來描述文件的訪問許可權類別,也就是常說的文件許可權.這些訪問許可權指導Linux根據文件的用戶和組所有權來處理所有訪問文件的用戶請求.總共有10種許可權屬性,因此一個許可權列表總是10個字元的長度.它的格式遵循下列規則:
  第1個字元表示一種特殊的文件類型.其中字元可為d(表示該文件是一個目錄)、b(表示該文件是一個系統設備,使用塊輸入/輸出與外界交互,通常為一個磁碟)、c(表示該文件是一個系統設備,使用連續的字元輸入/輸出與外界交互,如串口和聲音設備),“-”表示該文件是一個普通文件,沒有特殊屬性.
  第 2~4個字元用來確定文件的用戶(user)許可權,第5~7個字元用來確定文件的組(group)許可權,第8~10個字元用來確定文件的其它用戶(other user,既不是文件所有者,也不是組成員的用戶)的許可權.其中,2、5、8個字元是用來控制文件的讀許可權的,該位字元為r表示允許用戶、組成員或其它人可從該文件中讀取數據.短線“-”則表示不允許該成員讀取數據.與此類似,3、6、9位的字元控制文件的寫許可權,該位若為w表示允許寫,若為“ - ”表示不允許寫.4、7、10位的字元用來控制文件的製造許可權,該位若為x表示允許執行,若為“ - ”表示不允許執行.

Empire CMS,phome.net

5、改變文件許可權
? 使用chmod 來改變文件的當前許可權
chmod [-R] 許可權 文件名
? 只有文件的擁有者和root才可以改變文件的許可權
解釋:
? 字元方式的基本語法是:chmod [ugoa] 或者-或者= [rwx] [文件...] 例如:
[kevinz@stationXX kevinz] $ chmod o r .bash_profile ( 賦予其他用戶對文件.bash_profile可讀的許可權)
[kevinz@stationXX kevinz] $ chmod u=rw .bash_profile ( 賦予文件擁有者對文件.bash_profile的許可權是可讀寫)

6、使用數字來改變文件許可權
? chmod后可以用三個數字來表示用戶許可權
第一位代表文件擁有者許可權
第二位代表文件所屬組成員許可權
第三位代表其他用戶許可權
? 每一個數字都採用加和的方式
4(讀)
2(寫)
1(執行)
解釋:
? 賦予許可權的另一種方法是chmod nnn [文件...]
n 是 0—7 數字 ,其中第1、2、3個n分別表示用戶、組成員和所有其它用戶.各個位置上的n要麼是一個0,或者是一個由賦予許可權的相關值相加得到的單個阿拉伯數字之和.這些數字的意義如下所示:
值       表示的意義
4       表示文件或者目錄的讀許可權
2      表示文件或者目錄的寫許可權
1   表示文件或者目錄的執行許可權
一般而言,作為系統管理員,更喜歡使用數字方式,這種方式的速度明顯快得多.

7、建立鏈接
? ln
硬鏈接
語法:ln 源文件 新建鏈接名
軟鏈接
語法:ln –s 源文件 新建鏈接名
解釋:
? 硬鏈接文件完全等同於原文件,原文件名和連接文件名都指向相同的物理地址.不可以跨文件系統,也不可以建立目錄的硬鏈接.文件在磁碟中只有一個拷貝,節省硬碟空間; 由於刪除文件要在同一個索引節點屬於唯一的連接時才能成功,因此可以防止不必要的誤刪除.如下所示:


[kevinz@stationXX kevinz] $ ln file1 file2 ( 建立file1的硬鏈接file2 )
[kevinz@stationXX kevinz] $ ls –il ( 顯示file1和file2的屬性)
4029 -rw-r--r– 2 root root 0 Jul 25 16:13 file1
4029 -rw-r--r– 2 root root 0 Jul 25 16:13 file2
inode號 許可權 硬鏈接數 文件的擁有者 文件的擁有組 文件大小 修改時間 文件名

注意: 文件硬鏈接的默認inode數是1,每增加一個硬鏈接,inode數增加1.目錄沒有硬鏈接.
目錄軟連接的默認inode數是2,每增加一個軟連接,inode數增加1,原因是目錄包含本目錄和上級目錄(. 和 ..),目錄的默認軟連接數是2.
文件軟連接的默認inode數是1,每增加一個軟連接,inode數增加1.

? 軟鏈接文件相當於為原文件建立了一個快捷方式,可以跨文件系統,也可以為目錄建立.軟鏈接和硬鏈接不同,軟鏈接有自己的inode,是linux特殊文件的一種,作為一個文件,它的數據是它所連接的文件的路徑名.類似windows下的快捷方式. 可以刪除原有的文件而保存連接文件,沒有防止誤刪除功能.

8、ext2/3中文件的構成
? 在ext2和ext3文件系統中,文件以inode block的方式存在.
? 一但用rm指令刪除文件中的inode記錄.文件無法被找回.
? stat指令可以用來檢查文件的block與inode狀況.
[root@www ~]# stat file
File: `file'
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 802h/2050d Inode: 265857 Links: 3
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)


Access: 2012-04-28 09:53:58.601645612 0800
Modify: 2012-04-28 09:53:58.601645612 0800
Change: 2012-04-28 10:00:07.770607631 0800

9、所屬用戶
? 每一個文件都有一個擁有者.文件的擁有者可以改變文件的許可權.
? root用戶可以用chown來改變文件的擁有者.
解釋:
改變文件的擁有者
[kevinz@stationXX kevinz] $ ls -l file1
-rw-r--r– 2 root root 0 Jul 25 16:13 file1
[kevinz@stationXX kevinz] $ chown username file1
[kevinz@stationXX kevinz] $ ls –l file1
-rw-r--r– 2 username root 0 Jul 25 16:13 file1

10、所屬組
? 每一個文件只能屬於一個指定的組.
? 文件的擁有者與root用戶,可以用chgrp來改變文件所屬的組
解釋:
改變文件的擁有者
[kevinz@stationXX kevinz] $ ls –l file1
-rw-r--r– 2 root root 0 Jul 25 16:13 file1
[kevinz@stationXX kevinz] $ chgrp username file1
[kevinz@stationXX kevinz] $ ls –l file1
-rw-r--r– 2 root username 0 Jul 25 16:13 file1

11、文件名
? 文件名最大為255個字元.
? 開頭為.的文件為隱藏文件.
解釋:
文件名
無論是ext2或ext3文件系統,文件名最多包含255個字元.文件名是字母大小寫敏感的,也就是說FILE、file、File、FilE等是不同的文件名.同時Linux還可以使用特殊字元,但盡量避免使用“ / , > , < , ? , * , ” , ‘ “等特殊字元,不是他們不可用而是使用他們會產生操作時的麻煩.當然你也可以使用一段話作為文件名,例如 :


[kevinz@stationXX kevinz] $ ls -l “file name with spaces.txt”
隱藏文件
在Windows系統中隱藏是文件的一種屬性,在Linux中沒有這樣的屬性,隱藏是系統對文件的一種顯示的判斷.當系統需要顯示文件名時,一般情況首先看文件的第一個字元是否為“ . ” ,如果是的就不顯示他,在Linux中隱藏文件是以點開頭的文件,同時目錄也是文件,隱藏目錄也是以點開頭的.
用ls –a可以顯示隱藏文件.例如:
[kevinz@stationXX kevinz] $ ls –a /home/kevinz
.bashrc .bash_history .bash_logout .bash_profile


[火星人 ] Linux 文件管理已經有467次圍觀

http://coctec.com/docs/linux/show-post-45830.html