-rw-------. 1 root root 4434 May 30 13:58 ks.cfg

-rw-------. ①:文件类型与权限
②:硬链接次数
root ③:所属用户
root ④:所属组
⑤:文件大小
May30 : ⑥⑦⑧:最新修改的时间与日期
ks.cfg ⑨:文件或目录名称

Linux系统文件类型

ls -l 文件名   //看第一个字符
格式 说明
- 普通文件(文本, 二进制, 压缩, 图片, 日志等)
d 目录文件
b 设备文件(块设备)存储设备硬盘 /dev/sda1, /dev/sda2
c 设备文件(字符设备)打印机,终端 /dev/tty1, /dev/zero
s 套接字文件, 进程间通信(socket)
p 管道文件
l 链接文件 //示例
[root@xuliangwei ~]# ll -d /etc/hosts /tmp /bin/ls /dev/sda /dev/tty1 /etc/grub2.cfg /dev/log /run/dmeventd-client
-rwxr-xr-x. root root Jun /bin/ls
srw-rw-rw-. root root Jan : /dev/log
brw-rw----. root disk , Jan : /dev/sda
crw--w----. root tty , Jan : /dev/tty1
lrwxrwxrwx. root root Jan : /etc/grub2.cfg -> ../boot/grub2/grub.cfg
-rw-r--r--. root root Jan : /etc/hosts
prw-------. root root Jan : /run/dmeventd-client
drwxrwxrwt. root root Jan : /tmp

查看文件类型命令(file)

注意: Linux文件扩展名不代表任何含义, 仅仅是为了运维人员便于识别

[root@xuliangwei ~]# file /etc/hosts
/etc/hosts: ASCII text [root@xuliangwei ~]# file /bin/ls
/bin/ls: ELF -bit LSB executable, x86-, version (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6., BuildID[sha1]=aa7ff68f13de25936a098016243ce57c3c982e06, stripped [root@xuliangwei ~]# file /dev/sda
/dev/sda: block special [root@xuliangwei ~]# file /dev/tty1
/dev/tty1: character special [root@xuliangwei ~]# file /etc/grub2.cfg
/etc/grub2.cfg: broken symbolic link to `../boot/grub2/grub.cfg' [root@xuliangwei ~]# file /home
/home: directory [root@xuliangwei ~]# file /run/dmeventd-client
/run/dmeventd-client: fifo (named pipe)

Linux系统链接文件

软链接:

Linux里的软链接文件类似于Windows系统中的 ”快捷键方式“ 里面具体存放的是源文件的路径,并指向源文件实体,因此通过访问这个 ”快捷方式“ 可迅速访问到源文件。软链接文件类型是l

注意:软链接和源文件是不同类型的文件,所以inode也不同。

我们只需要执行命令   ln -s 源文件 目标软链接文件   完成软链接创建。

//文件软链接示例
[root@web03 ~]# touch /root/file
[root@web03 ~]# ln -s /root/file /tmp/file_bak
[root@web03 ~]# ll /tmp/file_bak
lrwxrwxrwx root root Sep : /tmp/file_bak -> /root/file
                  // root下file链接dao/tmp下并重命名为file_bak //目录软链接示例

[root@web03 ~]# mkdir /soft/nginx -p
  [root@web03 ~]# ln -s /soft/nginx/ /soft/nginx1.1
  [root@web03 ~]# ll /soft/nginx1.1     //查看链接指向
  lrwxrwxrwx 1 root root 12 Sep 29 15:25 /soft/nginx1.1 -> /soft/nginx/

生产软链接作用

1.软件升级
2.企业代码发布
3.不方便目录移动

硬链接:

Linux文件系统中, 多个文件名指向同一个索引节点Inode是正常且允许的(文件的多个有效的入口),这种情况的文件称为硬链接。

注意:目录不能创建硬链接,硬链接文件可以用rm命令删除

通过执行   ln 源文件 硬链接文件   给文件设置硬链接,来防止重要文件被误删。

[root@web03 ~]# ln /root/file /tmp/file_hard
[root@web03 ~]# ll /tmp/file_hard
-rw-r--r-- root root Sep : /tmp/file_hard [root@web03 ~]# ll /tmp/
lrwxrwxrwx root root Sep : file_bak -> /root/file
-rw-r--r-- root root Sep : file_hard

软硬链接区别

Linux下软链接和硬链接的区别
)ln命令创建硬链接,ln -s 命令创建软链接。
)目录不能创建硬链接,并且硬链接不可以跨越分区系统。
)目录软链接特别常用,并且软链接支持跨越分区系统。
)硬链接文件与源文件的inode相同,软链接文件与源文件inode不同。
)删除软链接文件,对源文件及硬链接文件无任何影响。
)删除文件的硬链接文件,对源文件及链接文件无任何影响。
)删除链接文件的源文件,对硬链接无影响,会导致软链接失效。
)删除源文件及其硬链接文件,整个文件会被真正的删除。

inodeblock

inode:
) 存放文件的属性信息(包括权限、所属、大小、修改日期等)以及block指针,但不包括文件名(文件名存储在该文件上一级目录的block中,可使用df -ldh查看)
) 一个inode一般是246字节(500M以下的分区是128字节)
) Linux创建一个文件,至少占用一个inode和一个block

blcok:
) 存放文件内容
) 一个block一般是4KB,如果文件不足4KB,仍会占据4KB空间
) 磁盘是以block为单位读取数据,每读取一个block消耗一个IO

superblock:
) 记录文件系统的控制与管理信息
) block和inode的个数和大小,及其已用和未用数量
) 文件系统的载入时间,最近一次写入数据的时间、最近一次执行fsck进行磁盘检查的时间等
) inode区:各inode组成的区域,每个inode都有一个唯一编号
) 数据块区:各block组成的区域,用于存放文件数据

#查看superblock信息
[root@Test01 ~]# dumpe2fs /dev/sda3 -h
Inode size: inode大小
Inode count: inode数量
Block count: block数量
Free blocks: 空闲block
Free inodes: 空闲inode
Mount count: 挂载次数
Lifetime writes: MB 写入过的数据
Linux访问文件过程:
访问/oldboy/test.txt过程
. 访问/的inode
. 通过/的inode访问/的block
. 从/的block中找到oldboy的目录名和inode号码
. 访问/oldboy的inode
. 通过/oldboy的inode访问/oldboy的block
. 从/oldboy的block中找到test.txt的文件名和inode号码
. 访问/oldboy/test.txt的inode
. 通过test.txt的inode访问test.txt的block

文件系统问题排查

linux系统文件删除原理:

① linux系统下文件名是存在父目录的block里面,并指向这个文件的inode节点,这个文件的inode节点再指向存放这个文件的block数据块。
② 我们删除一个文件,实际上并不是清除了inode节点和block数据块。只是在这个文件的父目录里面的block中,删除了这个文件的名字,从而使这个文件名消失,并且无法指向这个文件的inode节点。
③ 当没有文件名指向这个inode节点的时候,会同时释放inode节点和存放这个文件的block数据块,并更新inode MAP和block MAP今后让这些位置可以用于放置其他文件数据。

文件彻底删除的标志:

)    所有硬链接均删除
) 文件无进程调用

磁盘空间满的排查方法:

1)	排查block空间
df -h 排查具体哪个分区空间占满;
du -sh /* 逐层排查; du -s /* | sort -rn 可按顺序排列
du -sh /* | grep G 可筛选出大文件 2) 排查inode空间
du -ih 排查具体哪个分区inode空间占满;
find / -type d -size +1M 排查大于1M的目录(目录存放文件名,如果目录的大小大,说明该目录下文件多) 3) 排查文件是否有进程占用
lsof | grep delete
杀掉或重启进程:
kill -9 或 /etc/init.d/进程 restart

大量小文件的删除方法:

#可通过管道进行删除
find / -type f -name “*.txt” |xargs rm -f

最新文章

  1. GPUImage 内置滤镜解析
  2. 菜鸟学WEB开发 ASP.NET 5.0 1.0
  3. leetcode -- Largest Rectangle in Histogram TODO O(N)
  4. leetcode第一刷_Jump Game
  5. 通过SSIS监控远程服务器磁盘空间并发送邮件报警
  6. python小练习之一
  7. LCA(ST倍增)
  8. Kafka集群搭建 (2.11-0.9.0.1)
  9. Spring_事务管理
  10. Pyqt5自定义浏览器
  11. HZAU2018年十大阅读之星演讲稿
  12. 010-java 表单方式或者base64方式上传图片,后端使用nutz的post转发图片到另一个请求
  13. 并发编程-TPL
  14. JavaScript -- Document-ElementsByName
  15. linux中date命令显示昨天的日期信息?以特定格式显示时间?
  16. slf4j + log4j 是如何初始化的
  17. Kaggle新手入门之路(完结)
  18. LVM缩小根分区
  19. python pip的安装流程,以及使用pip更新,卸载第三方模块
  20. patch 修改有问题的

热门文章

  1. 【刷题】HDU 6183 Color it
  2. GreatSct -应用程序白名单bypass工具
  3. RRDtool绘制lvs连接数图形
  4. Java类编译、加载、和执行机制
  5. Webpack + React 开发 03 props
  6. 文档比较比对工具Beyond Compare
  7. HDU 3943 数位dp+二分
  8. aspx <%= %> 绑定变量问题及解决方法
  9. OC中线程安全的单例
  10. pthread动态库命名规则