文件的属性及类型

Posted 雾里屿伦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件的属性及类型相关的知识,希望对你有一定的参考价值。

文件属性

[root@localhost ~]# ll
- rw-r--r--. 1 root root 56479 Mar 25 10:13 blog.driverzeng.com_access.log
d rwxr-xr-x. 2 root root 18 Mar 24 17:34 jtsw

# 以空格为分隔符第一列
文件的类型
-:普通文件 touch
d:(directory)目录 mkdir
l:(link)软连接文件(windows快捷方式) ln

c:设备文件(char字符设备文件)和字符相关的设备。举例:打印机,终端
b:设备文件(bock块设备文件)和储存相关的设备。举例:硬盘,U盘,磁盘分区
s:(socket)安全套接字文件,网络编辑
p:(pipe)管道文件,父进程与子进程之间的通信文件

# 以空格为分隔符第二列
rw- r-- r-- rwx rwx rwx
r:read读
w:write写
x:exec执行
-:该权限位上没有权限

# 以空格为分隔符第三列
指该文件的硬链接数

# 以空格为分隔符第四列
指文件的属主

# 以空格为分隔符五列
指该文件的属组

# 以空格为分隔符第六列
指该文件的大小

# 以空格为分隔符第七列
指该文件的创建时间和日期

# 以空格为分隔符第八列,也是最后一列
指该文件的文件名

文件类型查看命令

file
## 语法
file [选项] 文件名……

## 举例
[root@localhost ~]# file blog.driverzeng.com_access.log
blog.driverzeng.com_access.log: ASCII text, with very long lines

[root@localhost ~]# file bashrc
bashrc: ASCII text

[root@localhost ~]# file haha
haha: ASCII text

[root@localhost ~]# file /bin/ls
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=aaf05615b6c91d3cbb076af81aeff531c5d7dfd9, stripped

[root@localhost ~]# file /dev/sda
/dev/sda: block special

系统的链接文件

一个文件在Linux中,会被分为两部分:

  • 真实数据:文件中的真实内容
  • 元数据:用来形容一个文件数据

一个文件在Linux中,存储也会被分为两部分:

  • inode:用来存储,文件的元数据
  • block:用来存储,文件真实数据,一个block是4K

文件的属性及类型_源文件

## 查看磁盘空间
df

## 选项
-h:(human) 人类可读
-i:查看inode空间

## 举例
## 查看磁盘的lock
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 476M 0 476M 0% /dev
tmpfs 487M 0 487M 0% /dev/shm
tmpfs 487M 7.6M 479M 2% /run
tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/sda3 19G 1.5G 18G 8% /
/dev/sda1 497M 125M 373M 25% /boot
tmpfs 98M 0 98M 0% /run/user/0

[root@localhost ~]# df -hi
Filesystem Inodes IUsed IFree IUse% Mounted on
devtmpfs 119K 378 119K 1% /dev
tmpfs 122K 1 122K 1% /dev/shm
tmpfs 122K 701 121K 1% /run
tmpfs 122K 16 122K 1% /sys/fs/cgroup
/dev/sda3 9.3M 35K 9.3M 1% /
/dev/sda1 250K 326 250K 1% /boot
tmpfs 122K 1 122K 1% /run/user/0

链接文件种类

  • 软链接文件

     软链接相当于windows的快捷方式,软链接文件会将inode指向源文件的         block

文件的属性及类型_源文件_02

ls
-i:查看该文件的inode号

## 创建软连接的命令
ln: (link) 链接,创建链接文件
-s:(soft)软,创建软连接文件

ln -s:源文件,链接文件的位置
[root@localhost ~]# ln -s /root/sz /tmp/
[root@localhost ~]# ll /tmp/
lrwxrwxrwx 1 root root 8 Mar 29 16:21 sz -> /root/sz

[root@localhost ~]# ln -s /root/sz /tmp/sz.2
[root@localhost ~]# ll /tmp/
lrwxrwxrwx 1 root root 8 Mar 29 16:21 sz -> /root/sz
lrwxrwxrwx 1 root root 8 Mar 29 16:23 sz.2 -> /root/sz

## 软链接文件会受到源文件的影响,如果源文件被删除,则软链接文件也无法使用
[root@localhost ~]# cat /tmp/sz
123456789
987654321
[root@localhost ~]# cat /tmp/sz.2
123456789
987654321
[root@localhost ~]# cat /root/sz
123456789
987654321
[root@localhost ~]# rm -f /tmp/sz
[root@localhost ~]# cat /tmp/sz.2
123456789
987654321
[root@localhost ~]# cat /tmp/sz
cat: /tmp/sz: No such file or directory
[root@localhost ~]# rm -f /tmp/sz.2
[root@localhost ~]# cat /tmp/sz.2
cat: /tmp/sz.2: No such file or directory
[root@localhost ~]# cat /root/sz
123456789
987654321
[root@localhost ~]# rm -f /root/sz
[root@localhost ~]# cat /root/sz
cat: /root/sz: No such file or directory

文件的属性及类型_软链接_03

  • 硬链接文件

若一个inode号对应多个文件名,则称这些文件为硬链接。也可以说,硬链接就是同一个文件使用了多个别名

文件的属性及类型_源文件_04

## 创建硬链接的命令
ln

ln 源文件 链接文件的位置

## 举例
root@localhost /]# ln /root/a /opt/
[root@localhost /]# ln /root/a /opt/aa

## 查看
[root@localhost /]# ls -li /root/a
33617558 -rw-r--r-- 3 root root 22 Mar 29 16:45 /root/a
[root@localhost /]# ls -li /opt/a
33617558 -rw-r--r-- 3 root root 22 Mar 29 16:45 /opt/a
[root@localhost /]# ls -li /opt/aa
33617558 -rw-r--r-- 3 root root 22 Mar 29 16:45 /opt/aa

## 查看文件内容
[root@localhost /]# cat /root/a
??????????
??????????
[root@localhost /]# cat /opt/a
??????????
??????????
[root@localhost /]# cat /opt/aa
??????????
??????????

## 特性
1.硬连接文件,不会受到源文件的影响
2.所有硬连接文件的inode号与源文件相同
3.修改一个文件其他的文件都会改变
4.不允许给目录创建硬连接
5.默认情况下,新创建的目录,有两个硬连接,一个是目录本身,一个是该目录下的.目录

1.@@[root@localhost /]# rm -f /root/a
[root@localhost /]# cat /root/a
cat: /root/a: No such file or directory
[root@localhost /]# cat /opt/a
??????????
??????????
[root@localhost /]# cat /opt/aa
??????????
??????????
2.@@[root@localhost /]# ls -li /root/a
33617558 -rw-r--r-- 3 root root 22 Mar 29 16:45 /root/a
[root@localhost /]# ls -li /opt/a
33617558 -rw-r--r-- 3 root root 22 Mar 29 16:45 /opt/a
[root@localhost /]# ls -li /opt/aa
33617558 -rw-r--r-- 3 root root 22 Mar 29 16:45 /opt/aa
3.@@[root@localhost /]# vim /opt/a
[root@localhost /]# cat /opt/a
??????????
??????????
1234567890
[root@localhost /]# cat /opt/aa
??????????
??????????
1234567890
4.@@[root@localhost ~]# ln /root/cyr /opt/
ln: ‘/root/cyr’: hard link not allowed for directory

硬链接和软链接的区别

区别

硬链接

软链接

创建命令

in

in -s

对象

只能对普通文件创建

能对普通文件和目录创建

是否受到源文件的影响

硬链接不会受到源文件的影响

软链接会受到源文件的影响

inode号

硬链接的inode号都相同

软链接的inode号不同

跨分区创建

不能跨分区创建

能跨分区创建

以上是关于文件的属性及类型的主要内容,如果未能解决你的问题,请参考以下文章

linux 文件属性及类型

linux文件属性及类型

文件的属性及类型

文件的属性及类型

文件的属性及类型

文件的属性及类型