文件详细信息各个字段所代表的意义
文件类型
- :文件,无法区分文件具体的类型。
s:socket(套接字文件),进程与进程之间的通信协议。
c:字符设备(终端)。
b:块设备(磁盘)。
l:链接文件。
d:目录。
file
它的作用是可以准确的判断文件类型。
示例如下:
[root@oldboy ~]# file anaconda-ks.cfg
anaconda-ks.cfg: ASCII text
[root@oldboy ~]# file /bin/cd
/bin/cd: POSIX shell script, ASCII text executable
链接文件(软链接、硬链接)
文件在Linux上被分为文件数据和文件元数据。
文件数据:也就是用户数据,用来记录文件真实内容的地方,我们也将其称为Block。
文件元数据:也就是文件属性,用来记录文件大小、创建时间、所有者信息等等。需要注意,Inode不包含文件名。iniod号在系统中是唯一的。
硬链接(不常用)
不同的文件名只想同一个数据源。
它不会改变文件的inode值,相当于完整备份文件,它不能给目录创建,不能跨分区创建,它使用较少。
软链接
软连接就相当于是windows中的桌面快捷方式,与硬链接不同,它可以给目录创建,也能跨分区创建,其实现方式如图:
软链接常用于程序的升级或回退。可以达到软件回退的秒级操作。
创建链接使用的是ln命令,创建软链接需要加上-s选项:示例如下:
[root@oldboy ~]# ln -s 1.sh 2
[root@oldboy ~]# ll
total 40
-rwxr-xr-x. 1 root root 246 Mar 9 18:34 1.sh
-rw-r--r--. 1 root root 483 Mar 9 17:41 1.txt
lrwxrwxrwx. 1 root root 4 Mar 10 12:10 2 -> 1.sh
重置软链接示例如下:
[root@oldboy ~]# rm -f 2 && ln -s 1.txt 2
[root@oldboy ~]# ll
total 40
-rwxr-xr-x. 1 root root 246 Mar 9 18:34 1.sh
-rw-r--r--. 1 root root 483 Mar 9 17:41 1.txt
lrwxrwxrwx. 1 root root 5 Mar 10 12:13 2 -> 1.txt