文件的高级命令02
文件时间
[root@localhost ~]# echo 111111111 >> /home/qwe/1.txt
# 用输出重定向的方式往 这个新建的文件中写入内容
[root@localhost ~]# stat /home/qwe/1.txt
# 查看这个文件的创建时间
文件:"/home/qwe/1.txt"
大小:10 块:8 IO 块:4096 普通文件
设备:fd00h/64768d Inode:17528828 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
最近访问:2021-06-25 14:49:04.581538504 +0800
最近更改:2021-06-25 14:49:04.581538504 +0800
最近改动:2021-06-25 14:49:04.581538504 +0800
创建时间:-
[root@localhost ~]# cat /home/qwe/1.txt
111111111
[root@localhost ~]# stat /home/qwe/1.txt
文件:"/home/qwe/1.txt"
大小:10 块:8 IO 块:4096 普通文件
设备:fd00h/64768d Inode:17528828 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
最近访问:2021-06-25 14:49:33.619130730 +0800
最近更改:2021-06-25 14:49:04.581538504 +0800
最近改动:2021-06-25 14:49:04.581538504 +0800
创建时间:-
[root@localhost ~]# cat /home/qwe/1.txt
111111111
[root@localhost ~]# stat /home/qwe/1.txt
文件:"/home/qwe/1.txt"
大小:10 块:8 IO 块:4096 普通文件
设备:fd00h/64768d Inode:17528828 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
最近访问:2021-06-25 14:49:33.619130730 +0800
最近更改:2021-06-25 14:49:04.581538504 +0800
最近改动:2021-06-25 14:49:04.581538504 +0800
创建时间:-
[root@localhost ~]#
'''
结论:
新建一个文件,如果查看这个文件内容改变的是访问时间,其他时间均不变。
第二次,第三次访问,时间就不会在改变,因为第一次已经把文件从硬盘读到了内存的cache缓存区,第二次读已经没有从硬盘读取文件,因此时间不变。
'''
[root@localhost ~]# echo 111 >> /home/qwe/1.txt
[root@localhost ~]# stat /home/qwe/1.txt
文件:"/home/qwe/1.txt"
大小:4 块:8 IO 块:4096 普通文件
设备:fd00h/64768d Inode:17528828 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
最近访问:2021-06-25 14:53:59.458061230 +0800
最近更改:2021-06-25 14:53:59.458061230 +0800
最近改动:2021-06-25 14:53:59.458061230 +0800
创建时间:-
[root@localhost ~]# vim /home/qwe/1.txt
[root@localhost ~]# stat /home/qwe/1.txt
文件:"/home/qwe/1.txt"
大小:8 块:8 IO 块:4096 普通文件
设备:fd00h/64768d Inode:17671659 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
最近访问:2021-06-25 14:54:29.798589297 +0800
最近更改:2021-06-25 14:54:29.798589297 +0800
最近改动:2021-06-25 14:54:29.800593064 +0800
创建时间:-
[root@localhost ~]# rm -rf /home/qwe/1.txt
[root@localhost ~]# echo 111 >> /home/qwe/1.txt
[root@localhost ~]# stat /home/qwe/1.txt
文件:"/home/qwe/1.txt"
大小:4 块:8 IO 块:4096 普通文件
设备:fd00h/64768d Inode:17528828 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
最近访问:2021-06-25 14:55:16.386161476 +0800
最近更改:2021-06-25 14:55:16.386161476 +0800
最近改动:2021-06-25 14:55:16.386161476 +0800
创建时间:-
[root@localhost ~]# vim /home/qwe/1.txt
[root@localhost ~]# stat /home/qwe/1.txt
文件:"/home/qwe/1.txt"
大小:4 块:8 IO 块:4096 普通文件
设备:fd00h/64768d Inode:17528828 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
最近访问:2021-06-25 14:55:30.348406767 +0800
最近更改:2021-06-25 14:55:16.386161476 +0800
最近改动:2021-06-25 14:55:16.386161476 +0800
创建时间:-
[root@localhost ~]#
'''
结论:
vim打开并且改内容了,那这个文件的三个时间都会改变。
vim打开但是没有改文件内容,那这个文件只改变读的时间。
'''
[root@localhost ~]# echo 111 >> /home/qwe/1.txt
[root@localhost ~]# stat /home/qwe/1.txt
文件:"/home/qwe/1.txt"
大小:4 块:8 IO 块:4096 普通文件
设备:fd00h/64768d Inode:17528828 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
最近访问:2021-06-25 14:58:39.625653223 +0800
最近更改:2021-06-25 14:58:39.625653223 +0800
最近改动:2021-06-25 14:58:39.625653223 +0800
创建时间:-
[root@localhost ~]# chmod 777 /home/qwe/1.txt
# 修改文件权限
[root@localhost ~]# ll /home/qwe/1.txt
-rwxrwxrwx 1 root root 4 6月 25 14:58 /home/qwe/1.txt
[root@localhost ~]# stat /home/qwe/1.txt
文件:"/home/qwe/1.txt"
大小:4 块:8 IO 块:4096 普通文件
设备:fd00h/64768d Inode:17528828 硬链接:1
权限:(0777/-rwxrwxrwx) Uid:( 0/ root) Gid:( 0/ root)
最近访问:2021-06-25 14:58:39.625653223 +0800
最近更改:2021-06-25 14:58:39.625653223 +0800
最近改动:2021-06-25 14:59:00.338582264 +0800
创建时间:-
[root@localhost ~]#
'''
结论:
文件只单纯的修改权限,值改变最近改动时间,其他时间不变。
'''
[root@localhost ~]# echo 111 >> /home/qwe/1.txt
[root@localhost ~]# stat /home/qwe/1.txt
文件:"/home/qwe/1.txt"
大小:4 块:8 IO 块:4096 普通文件
设备:fd00h/64768d Inode:17528828 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
最近访问:2021-06-25 15:04:49.762123037 +0800
最近更改:2021-06-25 15:04:49.762123037 +0800
最近改动:2021-06-25 15:04:49.762123037 +0800
创建时间:-
[root@localhost ~]# echo 1112222 >> /home/qwe/1.txt
[root@localhost ~]# stat /home/qwe/1.txt
文件:"/home/qwe/1.txt"
大小:12 块:8 IO 块:4096 普通文件
设备:fd00h/64768d Inode:17528828 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
最近访问:2021-06-25 15:04:49.762123037 +0800
最近更改:2021-06-25 15:05:04.829412143 +0800
最近改动:2021-06-25 15:05:04.829412143 +0800
创建时间:-
[root@localhost ~]#
'''
结论:
文件在不通过vim编辑器编辑内容的时候,比如用echo输出定向的时候,那么只改变最近更改和改动时间。
'''
硬链接与软连接
软连接
[root@localhost ~]# mkdir /home/qwe/test1;mkdir /home/qwe/test2
[root@localhost ~]# tree /home/qwe/
/home/qwe/
├── test1
└── test2
2 directories, 0 files
[root@localhost ~]# echo 1111 >> /home/qwe/test1/1.txt
[root@localhost ~]# ln -s /home/qwe/test1/1.txt /home/qwe/test2/2.txt
# 创建软链接
[root@localhost ~]# cat /home/qwe/test2/2.txt
1111
[root@localhost ~]# vim /home/qwe/test1/1.txt
[root@localhost ~]# cat /home/qwe/test1/1.txt
1111
123323
[root@localhost ~]# cat /home/qwe/test2/2.txt
1111
123323
[root@localhost ~]# rm -rf /home/qwe/test1/1.txt
[root@localhost ~]# cat /home/qwe/test
test1/ test2/
[root@localhost ~]# cat /home/qwe/test2/2.txt
cat: /home/qwe/test2/2.txt: 没有那个文件或目录
[root@localhost ~]# ll /home/qwe/test2/2.txt
lrwxrwxrwx 1 root root 21 6月 25 15:13 /home/qwe/test2/2.txt -> /home/qwe/test1/1.txt
[root@localhost ~]#
'''
结论:
1.对软链接源文件或目标文件进行修改,会影响到所有文件名。
2.软链接文件与源文件有不同的inode号。
3.删除软链接的源文件,软链接文件将无法使用。
4.可以对文件创建软链接,并且可以跨分区。
5.软链接指向的是inode号。
'''
硬链接
[root@localhost ~]# clear
[root@localhost ~]# mkdir /home/qwe/test1;mkdir /home/qwe/test2
[root@localhost ~]# echo 111 >> /home/qwe/test1/1.txt
[root@localhost ~]# ln /home/qwe/test1/1.txt /home/qwe/test2/2.txt
# 创建硬链接
[root@localhost ~]# cat /home/qwe/test2/2.txt
111
[root@localhost ~]# echo 222 /home/qwe/test1/1.txt
222 /home/qwe/test1/1.txt
[root@localhost ~]# echo 222 >> /home/qwe/test1/1.txt
[root@localhost ~]# cat /home/qwe/test2/2.txt
111
222
[root@localhost ~]# ll /home/qwe/test1/1.txt
-rw-r--r-- 2 root root 8 6月 25 15:25 /home/qwe/test1/1.txt
[root@localhost ~]# ll /home/qwe/test2/2.txt
-rw-r--r-- 2 root root 8 6月 25 15:25 /home/qwe/test2/2.txt
[root@localhost ~]# rm -rf /home/qwe/test2/2.txt
[root@localhost ~]# cat /home/qwe/test1/1.txt
111
222
'''
结论:
1.对硬链接内容修改时,会影响到所有文件名。
2.硬链接文件和源文件具有相同的inode。
3.删除硬链接或者源文件之一,不会影响到另一个文件的使用,除非所有的都删掉。
4.不可以对文件创建硬链接,硬链接无法跨区。
5.硬链接指向的是文件的data lock。
'''
文件系统的工作原理
操作系统---------》文件系统 文件系统 文件系统
硬盘------------》 分区1 分区2 分区3
我们通常所说的c盘其实就是一个c文件夹,也可以说是这个磁盘的c分区。
文件通常由两部分组成:
1. 文件的元信息,例如(权限,创建者,时间,等) ----- 存放在inode区块
2. 文件的世纪内容---------------------------------存放到data block 区块
ps: 每个inode与block都有自己的编号
文件还有一个超级区块(superblock)会记录整个档案系统的整体信息,包括indoe与block的总量,使用量,剩余量.
硬盘饿最小存取单位--->扇区
操作系统的最小存取单位--->block块
![image]()
cat /etc/passwd读取过程
![image]()
可用stat查看莫格文件的inode信息。
打开文件分为三步:
1.系统找到这个文件对应的inode号;
2.通过inode号获取inode信息。
3.根据inode信息找到文件数据所在的block,读出数据。
ls -i 可以查看文件的inode号。