Linux系统文件属性

# -rw-r--r--. 1 root root 0 Mar 16 10:14 1.txt

- 文件类型
rw-r--r--. 文件权限
1 硬链接数量
root 属主
root 属组
0 文件大小
Mar 16 10:14 时间戳
1.txt 文件名或目录名

# 解析
   -    rw-r--r--.     1      root  root   0      Mar 16 10:14     1.txt
文件类型  文件权限     硬链接数量  属主  属组  文件大小    时间戳         文件名或目录名

Linux系统文件类型

# ls -l 文件名 (查看文件)
           -rw-r--r--. 1 root root 0 Mar 16 10:14 1.txt
通过这个字符 ↑ 来判断是什么文件类型(文件类型是看第一个字符)
格式   说明
 -   普通文件(文本, 二进制, 压缩, 图片, 日志等)
 d   目录文件
 b   设备文件(块设备)存储设备硬盘 /dev/sda1, /dev/sda2
 c   设备文件(字符设备)打印机,终端 /dev/tty1, /dev/zero
 s   安全套接字文件, 进程间通信(socket)
 p   管道文件
 l   链接文件

# file + 文件名 (可以查看文件类型)

系统链接文件

文件有文件名和数据,在Linux上被分成两个部分:用户数据(user data)与元数据(metadata) **用户数据:**文件数据块(data block),数据块是记录文件真实内容的地方,我们将其称为 Block **元数据:**文件的附加属性,例如:文件大小,创建时间,属组,属主...等,我们称其为 Inode 在Linux中, inode 是文件元数据的一部分,但其并不包含文件名, inode 号即索引节点号 文件名仅是为了方便人们的记忆和使用,系统或者程序通过 inode 号寻找正确的文件数据块。

查看磁盘命令

# df 查看磁盘空间

## 查看block(文件的真实类容,一个block是4k  11k
-h human 人性化展示
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 19G 1.2G 18G 7% /
devtmpfs 476M 0 476M 0% /dev
tmpfs 487M 0 487M 0% /dev/shm
tmpfs 487M 7.7M 479M 2% /run
tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/sda1 497M 120M 378M 25% /boot
tmpfs 98M 0 98M 0% /run/user/0

查看inode号

## 查看inode(查看磁盘内容)
-i 展示inode
[root@localhost ~]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda3 9704960 27494 9677466 1% /
devtmpfs 121773 373 121400 1% /dev
tmpfs 124487 1 124486 1% /dev/shm
tmpfs 124487 712 123775 1% /run
tmpfs 124487 16 124471 1% /sys/fs/cgroup
/dev/sda1 256000 326 255674 1% /boot
tmpfs 124487 1 124486 1% /run/user/0

Linux有两种链接

  • 软连接

什么是软链接?

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

当我们访问这个软链接文件时,其实就是在访问源文件的本身。

1)那么当我们对一个文件创建多个软链接时,其实就是多个inode指向同一个block。

2)那么当我们删除软链接文件时,其实只是删除了一个inode的指向,并不会对源文件造成影响。

3)如果我们删除的是源文件,那么该文件的所有软链接文件都会失效。

软链接的应用场景

1)软件升级 2)代码发布 3)不方便移动的目录 4)数据回滚 5)程序读取

# 软链接 (快捷方式,软连接文件会将inode指向源文件)
ls
-i 查看该文件的inode号
# 创建软链接的命令
ln link 链接 创建链接文件

-s soft 软 创建软链接
ln -s 源文件 链接文件地址
ln -s 源文件 快捷方式名字
# 例子
ln -s 2.txt amusitelanghuixuanamusitelangpao
ln -s 2.txt /tmp/amusitelang

# 软链接受到源文件的影响(如果源文件消失,软连接失效)
ln -s web.txt web.log
## 打开快捷方式
[root@localhost ~]# cat web.log
http://www.driverzeng.com/index.html
http://www.driverzeng.com/1.html
http://post.driverzeng.com/index.html
http://mp3.driverzeng.com/index.html
http://www.driverzeng.com/3.html
http://post.driverzeng.com/2.html
## 删除源文件
[root@localhost ~]# rm -fr web.txt
## 软链接文件失效
[root@localhost ~]# cat web.log
cat: web.log: No such file or directory
  • 硬连接

什么是硬链接

若一个inode号对应多个文件名,则称这些文件为硬链接。换句话说,硬链接就是同一个文件使用了多个别名,如下图所示hard link就是file的一个别名,他们有共同的inode

文件属性及类型_源文件

# 硬链接 (如果多个inode号对应多个文件名,则把这些文件称之为硬链接,换句话说是,硬链接就是同一个文件使用了多个别名
# 创建硬链接的命令
ln
# 语法
ln 源文件 链接文件的位置
# 例子
ln 3.txt 3
# 硬链接的inode号与软连接inode号一致
[root@localhost ~]# ls -li
total 20
33575022 -rw-r--r--. 1 root root 0 Mar 16 10:14 1
33575931 -rw-r--r--. 1 root root 8 Mar 16 11:30 1.txt
33575026 -rw-r--r--. 1 root root 61 Mar 15 12:27 1.txt.gz
17181701 drwxr-xr-x. 2 root root 6 Mar 16 10:14 2
33575933 -rw-r--r--. 3 root root 9 Mar 16 11:42 3
33575933 -rw-r--r--. 3 root root 9 Mar 16 11:42 3.txt
33575933 -rw-r--r--. 3 root root 9 Mar 16 11:42 4
## 特性
1.硬链接和源文件的inode号一致
2.硬链接不受源文件影响,即使源文件删除,也不影响硬链接
3.硬链接不能针对目录创建硬链接
4.修改源文件,硬链接也会同步更新,修改硬链接,源文件也会同步更新
5.一个新创建的目录会有两个硬链接,一个是目录本身,另一个是隐藏的当前目录

区别

硬链接

软链接

命令

ln

ln -s

对象

只能对文件创建硬链接(不能针对目录创建)

普通文件和目录

是否受源文件影响



inode号

相同

不同

跨分区创建

不能


跨分区创建就是把软连接放在不同的磁盘分区下创建

文件属性及类型_软链接_02