linux文件管理 -> 系统文件属性

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

-rw-------. ①:文件类型与权限
1           ②:硬链接次数
root        ③:所属用户
root        ④:所属组
4434        ⑤:文件大小
May30 13:58 ⑥⑦⑧:最新修改的时间与日期
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. 1 root root 117656 Jun 30 2016 /bin/ls srw-rw-rw-. 1 root root 0 Jan 20 10:35 /dev/log brw-rw----. 1 root disk 8, 0 Jan 20 10:36 /dev/sda crw--w----. 1 root tty 4, 1 Jan 20 10:36 /dev/tty1 lrwxrwxrwx. 1 root root 22 Jan 13 11:31 /etc/grub2.cfg -> ../boot/grub2/grub.cfg -rw-r--r--. 1 root root 199 Jan 20 11:03 /etc/hosts prw-------. 1 root root 0 Jan 20 10:36 /run/dmeventd-client drwxrwxrwt. 61 root root 8192 Jan 21 13:01 /tmp

查看文件类型命令(file)

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

[root@xuliangwei ~]# file /etc/hosts
/etc/hosts: ASCII text

[root@xuliangwei ~]# file /bin/ls
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, 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 1 root root 10 Sep 29 15:20 /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-- 2 root root 0 Sep 29 15:20 /tmp/file_hard

[root@web03 ~]# ll /tmp/
lrwxrwxrwx 1 root root 10 Sep 29 15:20 file_bak -> /root/file
-rw-r--r-- 2 root root  0 Sep 29 15:20 file_hard

软硬链接区别

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

inodeblock

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

blcok:
1) 存放文件内容 2) 一个block一般是4KB,如果文件不足4KB,仍会占据4KB空间 3) 磁盘是以block为单位读取数据,每读取一个block消耗一个IO
superblock:
1) 记录文件系统的控制与管理信息 2) block和inode的个数和大小,及其已用和未用数量 3) 文件系统的载入时间,最近一次写入数据的时间、最近一次执行fsck进行磁盘检查的时间等 4) inode区:各inode组成的区域,每个inode都有一个唯一编号 5) 数据块区:各block组成的区域,用于存放文件数据
#查看superblock信息 [root@Test01
~]# dumpe2fs /dev/sda3 -h Inode size: 256 inode大小 Inode count: 577088 inode数量 Block count: 2307840 block数量 Free blocks: 1538099 空闲block Free inodes: 506378 空闲inode Mount count: 13 挂载次数 Lifetime writes: 7820 MB 写入过的数据
Linux访问文件过程:
访问/oldboy/test.txt过程
1. 访问/的inode 2. 通过/的inode访问/的block 3. 从/的block中找到oldboy的目录名和inode号码 4. 访问/oldboy的inode 5. 通过/oldboy的inode访问/oldboy的block 6. 从/oldboy的block中找到test.txt的文件名和inode号码 7. 访问/oldboy/test.txt的inode 8. 通过test.txt的inode访问test.txt的block

文件系统问题排查

linux系统文件删除原理:

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

文件彻底删除的标志:

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

磁盘空间满的排查方法:

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
原文地址:https://www.cnblogs.com/tim1blog/p/9723961.html