目录
日志文件功能
用于记录系统,程序运行中发生的各种事件
通过日志文件,有助于诊断和解决系统故障
链接文件
硬链接
一般情况下,文件名和inode号码是"一一对应"关系,每个inode号码对应一个文件名。但是,Unix/Linux系统允许,多个文件名指向同一个inode号码。这意味着,可以用不同的文件名访问同样的内容;对文件内容进行修改,会影响到所有文件名;但是,删除一个文件名,不影响另一个文件名的访问。这种情况就被称为"硬链接"(hard link)。
ln命令可以创建硬链接:
ln 源文件 目标文件
运行上面这条命令以后,源文件与目标文件的inode号码相同,都指向同一个inode。inode信息中有一项叫做"链接数",记录指向该inode的文件名总数,这时就会增加1。反过来,删除一个文件名,就会使得inode节点中的"链接数"减1。当这个值减到0,表明没有文件名指向这个inode,系统就会回收这个inode号码,以及其所对应block区域。
这里顺便说一下目录文件的"链接数"。创建目录时,默认会生成两个目录项:".“和”…"。前者的inode号码就是当前目录的inode号码,等同于当前目录的"硬链接";后者的inode号码就是当前目录的父目录的inode号码,等同于父目录的"硬链接"。所以,任何一个目录的"硬链接"总数,总是等于2加上它的子目录总数(含隐藏目录),这里的2是父目录对其的“硬链接”和当前目录下的".硬链接“。
软链接
除了硬链接以外,还有一种特殊情况。文件A和文件B的inode号码虽然不一样,但是文件A的内容是文件B的路径。读取文件A时,系统会自动将访问者导向文件B。因此,无论打开哪一个文件,最终读取的都是文件B。这时,文件A就称为文件B的"软链接"(soft link)或者"符号链接(symbolic link)。
这意味着,文件A依赖于文件B而存在,如果删除了文件B,打开文件A就会报错:“No such file or directory”。这是软链接与硬链接最大的不同:文件A指向文件B的文件名,而不是文件B的inode号码,文件B的inode"链接数"不会因此发生变化。
ln -s 命令可以创建软链接。
inode和block
block
文件是存储在硬盘上的,硬盘最小存储叫做扇区,每个扇区512字节,8个扇区组成的一个Block块
文件的数据包括二部分:1、元信息(inode) 2、实际数据(block)
block(块):是文件存取的最小单位,连续的八个扇区组成一个block
inode
inode(索引节点):也叫i节点。用于存储文件元信息
元信息
文件的字节数
文件拥有者UserID
文件的GroupID
文件的rwx权限(读、写、执行)
文件时间戳
查看inode信息:stat命令
[root@localhost ~]# stat 1
文件:"1"
大小:6 块:0 IO 块:4096 目录
设备:802h/2050d Inode:74666 硬链接:2
权限:(0755/drwxr-xr-x) Uid:( 0/ root) Gid:( 0/ root)
最近访问:2021-05-18 00:12:24.169002565 +0800
最近更改:2021-05-18 00:12:24.169002565 +0800
最近改动:2021-05-18 00:12:24.169002565 +0800
创建时间:-
查看inode号码的方法
li -i命令:直接查看当前目录文件名的所对应的inode信息
[root@localhost ~]# ll -i
总用量 8
74666 drwxr-xr-x. 2 root root 6 5月 18 00:12 1
537174915 -rw-------. 1 root root 1764 4月 22 22:03 anaconda-ks.cfg
537174917 -rw-r--r--. 1 root root 1812 4月 22 22:05 initial-setup-ks.cfg
537419411 -rw-r--r--. 1 root root 0 5月 12 21:43 tom
268484062 drwxr-xr-x. 2 root root 6 5月 12 19:42 公共
74759 drwxr-xr-x. 2 root root 6 5月 12 19:42 模板
268484063 drwxr-xr-x. 2 root root 6 5月 12 19:42 视频
74760 drwxr-xr-x. 2 root root 6 5月 12 19:42 图片
537419393 drwxr-xr-x. 2 root root 6 5月 12 19:42 文档
806894429 drwxr-xr-x. 2 root root 6 5月 12 19:42 下载
806894430 drwxr-xr-x. 2 root root 6 5月 12 19:42 音乐
537419392 drwxr-xr-x. 2 root root 6 5月 12 19:42 桌面
[root@localhost ~]# ll -i 1
ls-ai命令:直接查看当面目录的文件及隐藏文件的所对应的inode信息
[root@localhost ~]# ls -ai
537174913 . 537174915 anaconda-ks.cfg 538972280 .bash_profile 74746 .config 537419395 .esd_auth 537419380 .local 537174955 .viminfo 74759 模板 537419393 文档 537419392 桌面
64 .. 537174966 .bash_history 538972281 .bashrc 538972282 .cshrc 537419379 .ICEauthority 538972283 .tcshrc 537419300 .Xauthority 268484063 视频 806894429 下载
74666 1 538972279 .bash_logout 75049 .cache 268484129 .dbus 537174917 initial-setup-ks.cfg 537419411 tom 268484062 公共 74760 图片 806894430 音乐
inode大小 :df -i 命令就可以查看每个分区的对应inode总数和已经使用的inode数量
[root@localhost ~]# df -i
文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点
/dev/sda2 155610624 156911 155453713 1% /
devtmpfs 228958 422 228536 1% /dev
tmpfs 232906 1 232905 1% /dev/shm
tmpfs 232906 968 231938 1% /run
tmpfs 232906 16 232890 1% /sys/fs/cgroup
/dev/sda1 92520 341 92179 1% /boot
tmpfs 232906 18 232888 1% /run/user/1000
/dev/sr0 0 0 0 - /run/media/chx/CentOS 7 x86_64
tmpfs 232906 1 232905 1% /run/user/0
👁inode特殊作用
- 当文件名包含特殊字符,可能无法正常删除。这时直接删除 inode,能够起到删除文 件的作用
- 移动文件或重命名文件,只是改变文件名,不影响 inode 号码;
- 打开一个文件以后,系统就以 inode 号码来识别这个文件,不再考虑文件名。
分析日志文件
日志文件都默认放在目录/var/log/下
日志文件功能:用于记录系统,程序运行中发生的各种事件
通过日志文件,有助于诊断和解决系统故障
日志文件分类:
内核及系统日志: | 由系统服务 rsyslog 统一管理,这些程序使 用的日志记录具有相似的格式 |
---|---|
用户日志: | 用于记录 Linux 操作系统用户登录及退出系统的相关信息, 包括用户名、登录的终端、登录时间、来源主机、正在使用的进程操作等。 |
程序日志: | 有些应用程序会选择由自己独立管理一份日志文件(而不是交给 rsyslog 服务管理),用于记录本程序运行过程中的各种事件信息。由于这些程序只负责管 理自己的日志文件,因此不同程序所使用的日志记录格式可能会存在较大的差异。 |
日志主要介绍
- 计划任务日志/var/log/cron:记录 crond 计划任务产生的事件信息
- 系统引导日志/var/log/dmesg:记录 Linux 操作系统在引导过程中的各种事件信息
- 邮件系统日志/var/log/maillog:记录进入或发出系统的电子邮件活动。
- 用户登录日志
/var/log/lastlog:记录每个用户最近的登录事件。
/var/log/secure:记录用户认证相关的安全事件信息
/var/log/wtmp:记录每个用户登录、注销及系统启动和停机事件
/var/log/btmp:记录失败的、错误的登录尝试及验证事件
日志文件分析
/var/log/lastlog:最近的登录事件。
/var/log/wtmp:用户登录注销及系统开关机事件
/var/log/utmp:当前登录的每个用户的详细信息
/var/log/secure:与用户验证相关的安全性事件
分析工具:who、w、users、last 和 lastb
1.查询当前登录的用户情况——users、who、w 命令
users 命令:简单地输出当前登录的用户名称,每个显示的用户名对应一个登录会话。
who 命令:用于报告当前登录到系统中的每个用户的信息。默认输出包括用 户名、终端类型、登录日期及远程主机
2.查询用户登录的历史记录——last、lastb 命令
根据日志消息的重要程度不同,将其分为不同 的优先级别(数字等级越小,优先级越高,消息越重要)
0 EMERG(紧急): | 会导致主机系统不可用的情况。 |
---|---|
1 ALERT(警告): | 必须马上采取措施解决的问题。 |
2 CRIT(严重): | 比较严重的情况。 |
3 ERR(错误): | 运行出现错误 |
4 WARNING(提醒): | 可能影响系统功能,需要提醒用户的重要事件 |
5 NOTICE(注意): | 不会影响正常功能,但是需要注意的事件。 |
6 INFO(信息): | 一般信息。 |
7 DEBUG(调试): | 程序或系统调试信息等 |
程序日志分析
由相应的应用程序独立进行管理
1,Web服务:/var/log/httpd/
access_log , error_log
2,代理服务:/var/log/squid/
access.log , cache.log
3,FTP服务:/var/log/xferlog
分析工具
文本查看,grep过滤检索,webmin管理套件查看
awk,sed文本过滤,格式化编辑工具
专用日志分析工具