文件属性信息

inode信息

inodeblock.png

  • inode: 索引节点 文件或数据在磁盘中保存位置,用于存储文件属性信息 特点说明见上图

  • block: 数据块 存储文件具体内容 特点说明见上图

  • 文件属性信息存储在inode中

  • 文件的名称信息存储在上一级目录的block中

  • 读取数据原理

  1. 找到指定数据
  2. 读取数据内容,先获取文件数据inode信息
  3. 根据inode信息在磁盘上找到对应block
  4. 根据block信息获取文件真正内容
  • 面试题: block大小可以调整为多少
  • 回答: 当文件足够大时将block调大可以节省IO消耗,当文件足够小时将block调小可以提高磁盘利用率

硬链接数

link.png

  • 在一个分区中,inode号码相同的文件,互为硬链接
  • 目录不能创建硬链接
  • 硬链接创建参考ln命令

利用find命令找到多硬链接文件的其他硬链接文件

find / -type f -inum 33584339
# -inum的参数为inode信息
  • ln命令不能创建目录的硬链接
  • 但是一个目录创建完成后硬链接数大于2
  • 其一是目录本身,其二是进入目录后的.目录
  • 同理,如果目录中还有子目录,那么子目录的..目录也是父目录的硬链接
[root@1997sty ~]# ll -adi hardlink
101482528 drwxr-xr-x 3 root root 6 11月 16 17:06 hardlink
[root@1997sty ~]# ll -ai hardlink
总用量 0
101482528 drwxr-xr-x  3 root root  18 11月 16 17:06 .
 67158913 dr-xr-x---. 4 root root 225 11月 16 17:06 ..
   862265 drwxr-xr-x  2 root root   6 11月 16 17:06 dir1
[root@1997sty ~]# ll -ai hardlink/dir1/
总用量 0
   862265 drwxr-xr-x 2 root root  6 11月 16 17:06 .
101482528 drwxr-xr-x 3 root root 18 11月 16 17:06 ..

什么是软连接

  • 文件的快捷方式
  • 软链接创建参考ln命令

软硬链接的区别

  1. 链接后的文件大小不一致
  2. 链接后的文件类型和权限不一致
  3. 链接后的文件和源文件 硬链接inode号码一致 软链接inode号码不一致
  4. 源文件被删除之后 硬链接文件依然有效 软链接文件失效
  5. 软硬链接创建过程不一致

硬链接与复制的区别

hardlink.png

  • 硬链接相当于多个文件可以操作磁盘上同一块数据,所以即使删除其中一个硬链接,其他硬链接文件也可以访问,
  • 复制是创建另一个文件,并且两个文件的inode信息不同,相当于是两块数据,编辑数据时互不干涉

系统的操作命令

date命令

查看时间信息

  • date : 查看时间信息
  • date "+%F" : 以其他格式查看时间信息
  • date -s "20201212" : 设置时间为20201212
  • date -d "+10year" : 查看10年以后时间信息

year 年 month 月 day 日 hour 时 min 分 sec 秒

执行参数

  • %F : 完整日期;与%Y-%m-%d相同
  • %H : 小时(00..23)
  • %I : 小时(01..12)
  • %k : 小时(0..23)
  • %l : 小时(1..12)
  • %M : 分钟(00..59)
  • %p : 显示本地 AM 或 PM
  • %r : 直接显示时间 (12 小时时制,格式为 hh:mm:ss [AP]M)
  • %s : 从 1970 年 1 月 1 日 00:00:00 UTC 到当前为为止的秒数
  • %S : 秒(00..61)
  • %T : 直接显示时间 (24 小时制)
  • %X : 相当于 %H:%M:%S
  • %Z : 显示时区 %a** : 星期几(Sun..Sat)
  • %A : 星期几 (Sunday..Saturday)
  • %b : 月份 (Jan..Dec)
  • %B : 月份 (January..December)
  • %c : 直接显示期与时间
  • %d : 日 (01..31)
  • %D : 直接显⽰⽇期 (mm/dd/yy)
  • %h : 同 %b
  • %j : 一年中的第几天 (001..366)
  • %m : 月份 (01..12)
  • %U : 一年中的第几周 (00..53) ( 以 Sunday 为一周的第几天的情形)
  • %w : 一周中的第几天 (0..6)
  • %W :一年中的第几周 (00..53) ( 以 Monday 为几周的第几天的情形)
  • %x : 直接显示日期 (mm/dd/yy)
  • %y : 年份的最后两位数字 (00.99)
  • %Y : 完整年份 (0000..9999)

date命令其他使用方法

  • cp 1997sty 1997sty`date +%F` : 复制1997sty文件,并在后面追加时间信息

时间同步

  • 使用ntpdate命令同步时间 Centos7默认没有该命令需要安装
yum install -y ntpdate
#安装完成后执行以下命令
ntpdate ntp1.aliyun.com

xargs命令

命令传递参数的一个过滤器,也是组合多个命令的一个工具,可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数据,也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行

  • xargs < 1997sty : 查看1997sty文件,并将结果通过xargs命令单行输出
  • xargs -n3 < 1997sty : 查看1997sty文件,并将结果通过xargs命令每行输出三行结果

wc命令

计算文件的Byte数、字数、或是列数

  • wc -l 1997sty : 显示1997sty文件行数