Linux文件管理|文件属性和类型详解

图片[1]-Linux文件管理|文件属性和类型详解-不念博客

文件属性和类型

# 比如我ll看一个东西
[root@localhost ~]# ll 001
-rw-r--r--. 1 root root 23 Aug 25 09:24 001


-rw-r--r--.   文件类型及权限
1             文件硬链接次数
root          文件所属用户
root          所属组
23            文件大小
Aug 25 09:24  时间戳:文件最新修改的时间
001           文件或目录名


-rw-r--r--.   里面第一个字符的含义即代表文件类型:
-:普通文件(文本,二进制,压缩,图片等)
d: 目录
l:软连接文件
c:字符设备文件 比如:打印机,终端 比如/dev/tty1
b:块设备文件 比如:磁盘 u盘 光驱  比如/dev/sda1 /dev/sda2 
s:安全套接字文件,socket 一部分客户端与服务端建立链接 就是一些socket
p:管道文件


比如:
[root@localhost ~]# ll /dev/tty
crw-rw-rw-. 1 root tty 5, 0 Sep  4 08:57 /dev/tty


## 注意: Linux文件扩展名不代表任何含义, 仅仅是为了运维人员便于识别
# 又如:
# ls -h 以人类理解方式显示 -i显示inode号(索引节点)
[root@localhost ~]# ls -lhi
total 8.0K
33574979 -rw-------. 1 root root 1.5K Aug 17 15:28 anaconda-ks.cfg
33575027 drwxr-xr-x. 2 root root    6 Aug 18 20:55 sky
33634575 -rw-r--r--. 1 root root   48 Aug 20 11:19 sky.txt
33575025 -rw-r--r--. 1 root root    0 Aug 18 20:04 test.txt

关于Block 和 Inode

[root@localhost ~]# ll 001
-rw-r--r--. 1 root root 23 Aug 25 09:24 001
[root@localhost ~]# ll 1.txt
-rw-r--r--. 1 root root 156 Aug 25 20:08 1.txt


# 文件的真实数据(文件内容)占用的磁盘空间:block
比如1.txt文本内容的156k


# 文件的元数据(文件的属性)占用的磁盘空间:inode  
比如 属主 属组 日期 大小 权限等 (文件名不算)(文件名在上级目录的block里)


# 特点:
1.一个非空文件至少要占用一个Inode(有且只有一个)和一个block(可以有多个)
2.磁盘是由n多个block组成的   一个block是4k   磁盘读取数据是以block为单位读取的,每读一个block消耗一次磁盘IO


# 磁盘要想使用,需先分区,格式化创建文件系统(如linux装机时是ext系统)时,就会生成大量的inode和block
df -i
df -h

软连接

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


如:
[root@localhost ~]# ll /bin
lrwxrwxrwx. 1 root root 7 Aug 17 15:23 /bin -> usr/bin


## 如何创建软链接
ln -s 源文件 新文件/名字


比如:我给我的1.txt创建软链接1txt:
[root@localhost ~]# ln -s 1.txt 1txt       ln -s命令即可创建


[root@localhost ~]# ll 1txt               看一眼
lrwxrwxrwx. 1 root root 5 Aug 27 11:34 1txt -> 1.txt    


[root@localhost ~]# cat 1txt
锄禾日当午
汗滴禾下土
谁知盘中餐
粒粒皆辛苦
床前明月光
疑是地上霜
举头望明月
低头思故乡
席梦思软床
wwwww
WWWWW




# 特性
当我们访问这个软链接文件时,其实就是在访问源文件的本身。
1.那么当我们对一个文件创建多个软链接时,其实就是多个inode指向同一个block。
2.那么当我们删除软链接文件时,其实只是删除了一个inode的指向,并不会对源文件造成影响。
(比如删除快捷方式,QQ照样用)
3.如果我们删除的是源文件,那么该文件的所有软链接文件都会失效。(比如你卸载QQ,快捷方式就废了)
4.软连接文件名字可以和源文件名字不一样
5.软连接和源文件的inode号不同
6.可以跨区创建


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

硬链接

# 概念
如果两个或多个文件具有相同的 inode 值,即使它们 的文件 名不一样,位置不一样,它们 的 内容、所有者、权限其实都是一样 的 ,我们可以将其视为相同文件 。这类型 的文件 其实就是所谓 的 「硬链接」。硬链接 具有相同的 inode 值,但 文件 名不一样


# 如何创建(把-s去掉)
ln 路径/源文件 新路径/名字


# 相当于备份




# 特性
1、inode号相同(ll -i 可以看inode号)
2、不可以跨区创建
3、不受源文件影响


# 例如
[root@localhost ~]# ln 1.txt 牛人啊
[root@localhost ~]# ll -i
total 4
33574987 -rw-r--r--  3 root root    0 Oct  5 12:22 1
33574987 -rw-r--r--  3 root root    0 Oct  5 12:22 1.txt
33574979 -rw-------. 1 root root 1447 Aug 17 15:28 anaconda-ks.cfg
33574987 -rw-r--r--  3 root root    0 Oct  5 12:22 牛人啊


[root@localhost ~]# vim 牛人啊
我勒个去
[root@localhost ~]# cat 1
我勒个去


内容相同。可见是操作的同一个文件。

总结:

1)创建命令不同
  软链接:ln -s
  硬链接:ln
2)目录不能创建硬链接,并且硬链接不可以跨越系统的分区,软链接可以
3)硬链接文件与源文件inode相同,软链接文件与源文件inode不同
4)删除软链接文件,对源文件无影响,但是删除软链接源文件对软链接文件有影响
5)删除硬链接文件,对源文件也无影响,并且删除源文件,对硬链接文件也无影响
© 版权声明
THE END
喜欢就支持一下吧
点赞115赞赏 分享
评论 抢沙发
头像
欢迎光临不念博客,留下您的想法和建议,祝您有愉快的一天~
提交
头像

昵称

取消
昵称代码图片

    暂无评论内容