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里有什么东西

posted @ 2016-02-16 16:06  黄小墨  阅读(2470)  评论(0编辑  收藏  举报