1. 文件類型
- | 普通文件 |
d | 目錄文件 |
l | 鏈接文件 |
b | 塊設(shè)備文件 |
c | 字符型設(shè)備文件 |
s | socket文件 |
p | 管道類型文件 |
塊設(shè)備文件主要是指慢速設(shè)備,比如hd硬盤,數(shù)據(jù)主要是分塊存儲(chǔ),所以是塊設(shè)備;在linux教程中,設(shè)備都會(huì)被抽象為一個(gè)文件,比如硬盤:
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 是指整塊硬盤, 我電腦里只有一塊硬盤,如果還有第二塊硬盤,那么會(huì)抽象為sdb
sda1 是指硬盤一個(gè)分區(qū)
那么既然硬盤是一個(gè)文件,那么我可以往該文件里寫入內(nèi)容嗎? 肯定是可以的,但是千萬別嘗試,這樣會(huì)損壞整塊硬盤的數(shù)據(jù),不信你試試,我不敢:
cat /etc/passwd > /dev/sda #千萬別執(zhí)行
那在windows中可以用ghost對(duì)硬盤做鏡像,那在linux中是不需要使用其它工具的,先掛在一塊硬盤到/mnt目錄
#dd if=/dev/sda of=/mnt/sda.img
只需一條命令即可對(duì)整塊硬盤做鏡像了。如果我只想對(duì)其中一個(gè)分區(qū)做鏡像,那if=/dev/sda1就行了。
2. 權(quán)限
# 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命名查看文件目錄的時(shí)候,前面的rwx------這些就是表示文件的權(quán)限,那么到底是什么意思呢
|
對(duì)應(yīng)數(shù)字 |
權(quán)限 |
r |
4 |
讀 |
w |
2 |
寫 |
x |
1 |
執(zhí)行 |
第一位有的是d, 有的是- ,這是什么意思呢?
d 表示這是一個(gè)目錄文件
- 表示這是一個(gè)普通文件,還記得最開始說的文件類型嗎?
接下來的九個(gè)字符則表示該文件或目錄的權(quán)限了:
前三位: 文件擁有者的權(quán)限
中間三位: 文件擁有組的權(quán)限
后三位: 其它人的權(quán)限
權(quán)限 后面的 1 表示鏈接數(shù), 然后就是擁有者,擁有組,文件大小,修改時(shí)間,文件名稱
一般情況下,linux文件權(quán)限 644 ,文件夾權(quán)限 755
3. 權(quán)限修改
chmod u+x 文件名 #u表示擁有者 g表示擁有組 o表示其它用戶 a表示所有
chomd g-x 文件名
chmod a=rw 文件名 # + ,-, =
chmod 644 文件名 #使用數(shù)字方式修改權(quán)限,最常用的,最靈活的
如果想給目錄及目錄下所有文件設(shè)置權(quán)限,使用-R參數(shù)
chomd –R 644 目錄
chown 修改擁有者,同樣可以加-R參數(shù)
chgrp 修改擁有組,同樣可以加-R參數(shù)
那么問題來了: chmod 046 A 給文件A修改了權(quán)限 ,那擁有者對(duì)A是什么權(quán)限呢?
一看前三位,沒有權(quán)限 ,那就沒有權(quán)限 了。權(quán)限不會(huì)疊加。
4. 連接數(shù)
連接數(shù)是個(gè)什么鬼。這要先從數(shù)據(jù)在硬盤里怎么存儲(chǔ)的說起:

首先目錄文件中存儲(chǔ)有a.jpg和inode號(hào),再通過inode找到對(duì)應(yīng)的block,就找到了文件內(nèi)容。圖上a.jpg和b.jpg指向的是同一個(gè)inode,那a.jpg和b.jpg實(shí)際上是同一個(gè)文件,只占用一份存儲(chǔ)空間,所以連接數(shù)就應(yīng)該是2.
如果a.jpg是個(gè)空文件,那它還有inode嗎?還占用block嗎?
空文件也是有文件信息的,比如權(quán)限啊,創(chuàng)建時(shí)間啊什么的,這些信息都是存儲(chǔ)在inode里的,所以空文件還是有Inode的,但是沒有內(nèi)容,所以不占用block.
那我要是刪除了a.jpg,那b.jpg還在嗎?
還在的,刪除a.jpg實(shí)際上是刪掉了a.jpg與inode之間的對(duì)應(yīng)關(guān)系,但是b.jpg依然可以訪問。這就是硬連接, ln a.jpg
b.jpg
如果這張圖片是美女圖片,很好看,不想被別人刪除,那就可以做硬連接,在其它地方做一個(gè)入口,別人刪掉一個(gè),還有其它入口可以訪問。但要注意的是硬連接是
不能跨分區(qū)的。
如果要跨分區(qū),可以使用軟連接,軟連接是一個(gè)全新的文件,相當(dāng)于windows中的快捷方式。
stat 文件名 可以查看inode里有什么東西