linux 文件屬性


1.  文件類型

- 普通文件
d 目錄文件
l 鏈接文件
b 塊設備文件
c 字符型設備文件
s socket文件
p 管道類型文件

塊設備文件主要是指慢速設備,比如hd硬盤,數據主要是分塊存儲,所以是塊設備;在linux中,設備都會被抽象為一個文件,比如硬盤:

brw-rw----   1 root disk      8,   0  1月 25 14:53 sda
brw-rw----   1 root disk      8,   1  1月 25 14:53 sda1
brw-rw----   1 root disk      8,   2  1月 25 14:53 sda2
brw-rw----   1 root disk      8,   5  1月 25 14:53 sda5
brw-rw----+  1 root cdrom    11,   0  1月 25 14:53 sr0

sda   是指整塊硬盤, 我電腦里只有一塊硬盤,如果還有第二塊硬盤,那么會抽象為sdb

sda1   是指硬盤一個分區

那么既然硬盤是一個文件,那么我可以往該文件里寫入內容嗎? 肯定是可以的,但是千萬別嘗試,這樣會損壞整塊硬盤的數據,不信你試試,我不敢:

cat /etc/passwd > /dev/sda        #千萬別執行

 

那在windows中可以用ghost對硬盤做鏡像,那在linux中是不需要使用其它工具的,先掛在一塊硬盤到/mnt目錄

#dd if=/dev/sda of=/mnt/sda.img

 

只需一條命令即可對整塊硬盤做鏡像了。如果我只想對其中一個分區做鏡像,那if=/dev/sda1就行了。

2.  權限

# ll
總用量 20
drwx------  2 root root 4096  2月 16 12:41 ./
drwxr-xr-x 23 root root 4096  1月 25 13:53 ../
-rw-r--r--  1 root root 3106  2月 20  2014 .bashrc
-rw-r--r--  1 root root  140  2月 20  2014 .profile
-rw-------  1 root root  626  2月 16 12:41 .viminfo

 

我們使用ll命名查看文件目錄的時候,前面的rwx------這些就是表示文件的權限,那么到底是什么意思呢

  對應數字 權限
r 4
w 2
x 1 執行

 

第一位有的是d, 有的是- ,這是什么意思呢? 

d  表示這是一個目錄文件

-  表示這是一個普通文件,還記得最開始說的文件類型嗎?

接下來的九個字符則表示該文件或目錄的權限了:

前三位: 文件擁有者的權限

中間三位: 文件擁有組的權限

后三位:  其它人的權限

權限 后面的 1 表示鏈接數, 然后就是擁有者,擁有組,文件大小,修改時間,文件名稱

一般情況下,linux文件權限 644 ,文件夾權限 755

3.  權限修改

chmod u+x  文件名         #u表示擁有者  g表示擁有組  o表示其它用戶  a表示所有

chomd g-x  文件名

chmod a=rw  文件名       # + ,-, =

chmod 644 文件名      #使用數字方式修改權限,最常用的,最靈活的

如果想給目錄及目錄下所有文件設置權限,使用-R參數

chomd –R 644 目錄

chown   修改擁有者,同樣可以加-R參數

chgrp    修改擁有組,同樣可以加-R參數

那么問題來了: chmod 046 A   給文件A修改了權限 ,那擁有者對A是什么權限呢?

一看前三位,沒有權限 ,那就沒有權限 了。權限不會疊加。

4. 連接數

連接數是個什么鬼。這要先從數據在硬盤里怎么存儲的說起:

image

首先目錄文件中存儲有a.jpg和inode號,再通過inode找到對應的block,就找到了文件內容。圖上a.jpg和b.jpg指向的是同一個inode,那a.jpg和b.jpg實際上是同一個文件,只占用一份存儲空間,所以連接數就應該是2.

如果a.jpg是個空文件,那它還有inode嗎?還占用block嗎?

空文件也是有文件信息的,比如權限啊,創建時間啊什么的,這些信息都是存儲在inode里的,所以空文件還是有Inode的,但是沒有內容,所以不占用block.

那我要是刪除了a.jpg,那b.jpg還在嗎?   還在的,刪除a.jpg實際上是刪掉了a.jpg與inode之間的對應關系,但是b.jpg依然可以訪問。這就是硬連接, ln a.jpg  b.jpg   如果這張圖片是美女圖片,很好看,不想被別人刪除,那就可以做硬連接,在其它地方做一個入口,別人刪掉一個,還有其它入口可以訪問。但要注意的是硬連接是不能跨分區的。

如果要跨分區,可以使用軟連接,軟連接是一個全新的文件,相當於windows中的快捷方式。

stat 文件名     可以查看inode里有什么東西


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM