目录
一, inode
每个文件的属性信息,比如:文件的大小,时间,类型,权限等,称为文件的元数据(meta data)
元数据是存放在inode(index node)表中。inode 表中有很多条记录组成,第一条记录对应的存放了一个
文件的元数据信息。
每一个inode表记录对应的保存了以下信息:
-
inode number 节点号
-
文件类型
-
权限
-
UID
-
GID
-
链接数(指向这个文件名路径名称个数)
-
该文件的大小和不同的时间戳
-
指向磁盘上文件的数据块指针
-
有关文件的其他数据
如何查看inode号
ls -i
stat
有3个时间:
最近访问atime:最后一次差看文件
最近更改mtime:最近更改文件内容的时间,注意:更改完内容之后,ctime也会改变
最近改动ctime:最近更改文件元信息的时间,比如改变权限等
cp 和 inode
cp 命令:
-
分配一个空闲的inode号,在inode表中生成新条目
-
在目录中创建一个目录项,将名称与inode编号关联
-
拷贝数据生成新的文件
rm 命令:
-
硬链接数递减,从而释放的inode号可以被重用
-
把数据块放在空闲列表中
-
删除目录项
-
数据实际上不会马上被删除,但当另一个文件使用数据块时将被覆盖
mv和inode
-
如果mv命令的目标和源在同一设备,
不影响inode表(除时间戳)或磁盘上的数据位置:没有数据被移动!
删除旧的目录对应关系新建目录对应关系
[root@Liq ~]#find -inum 69 -exec rm {} \;
#通过find命令查找indoe号来删除指定的文件
[root@Liq ~]#find -inum 69 -delete
删除文件空间不释放
[root@Liq opt]#cp /dev/zero /boot/bigfile
cp: 写入"/boot/bigfile" 出错: 设备上没有空间
cp: 扩展"/boot/bigfile" 失败: 设备上没有空间
[root@Liq opt]#ls -S /boot
[root@Liq opt]#w
02:28:24 up 1:18, 6 users, load average: 0.13, 0.06, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 192.168.91.1 069月21 183days 0.07s 0.07s -bash
root pts/1 192.168.91.1 079月21 183days 0.08s 0.08s -bash
root pts/2 192.168.91.1 149月21 175days 0.07s 0.07s -bash
root pts/3 192.168.91.1 01:20 1:04m 0.07s 0.07s -bash
root pts/4 192.168.91.1 02:26 8.00s 2.52s 2.47s vim /boot/bigfile
root pts/5 192.168.91.1 01:44 0.00s 0.54s 0.01s w
[root@Liq opt]#lsof |grep delete
..............................................
80 /boot/bigfile (deleted)
[root@Liq opt]#echo " " > /boot/bigfile
二, 硬链接与软连接
硬连接 同一个文件取不同的名或者叫多个名字(比如 苏轼 字子瞻 号东坡居士 苏二 谥号文忠 )不支持文件夹,创建一个连接数加一,多路径访问。
软连接 类似于windows里快捷方式,软连接,符号连接
ln(link)
ln [-s] 源文件或目录… 链接文件或目标位置
加s是软连接 符号连接
对比项 | 硬连接 | 软连接 |
---|---|---|
本质 | 本质是同一个文件 | 本质不是同一个文件 |
inode | 相同 | 不同 |
连接数 | 创建新的硬链接,链接数会增加,删除硬链接,链接数减少 | 删除新建不会改变 |
文件夹 | 不支持 | 支持 |
删除源文件 | 只是链接数减一,但链接文件的访问不受影响 | 无法访问连接文件 |
文件类型 | 和源文件相同 | 链接文件,和源文件无关 |
文件大小 | 和源文件相同 | 源文件的路径的长度 |
三,日志文件的分类
日志的功能:用于记录系统、程序运行中发生的各种事件通过阅读日志,有助于诊断和解决系统故障。
常见的一些日志文件:
日志文件位置 | 日志文件说明 |
---|---|
/var/log/messages内核和公共日志 | 它是核心系统日志文件,其中包含了系统启动时的引导信息,以及系统运行时的其他状态消息。I/O 错误、网络错误和其他系统错误都会记录到此文件中。其他信息,比如某个人的身份切换为 root,已及用户自定义安装软件的日志,也会在这里列出。 |
/var/log/cron 计划任务日志 | 记录与系统定时任务相关的曰志 |
/var/log/dmesg 系统引导日志 | 记录了系统在开机时内核自检的信息,也可以使用dmesg命令直接查看内核自检信息 |
/var/log/maillog 邮件日志 | 记录邮件信息的曰志 |
用户日志 | |
/var/log/lastlog | 记录系统中所有用户最后一次的登录时间的曰志。这个文件也是二进制文件.不能直接用Vi 查看。而要使用lastlog命令查看 |
/var/log/secure | 记录验证和授权方面的倍息,只要涉及账户和密码的程序都会记录,比如系统的登录、ssh的登录、su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中 |
/var/log/wtmp | 永久记录所有用户的登陆、注销信息,同时记录系统的启动、重启、关机事件。同样,这个文件也是二进制文件.不能直接用Vi查看,而要使用last命令查看 |
/var/tun/ulmp | 记录当前已经登录的用户的信息。这个文件会随着用户的登录和注销而不断变化,只记录当前登录用户的信息。同样,这个文件不能直接用Vi查看,而要使用w、who、users等命令查看 |
1,内核及系统日志:
由系统服务rsyslog统一进行管理,日志格式基本相似
2,用户日志:
记录系统用户登录及退出系统的相关信息
3,程序日志.:
由各种应用程序独立管理的日志文件,记录格式不统一
内核及系统日志
由系统服务rsyslog统一管理
软件包:rsyslog-7.4.7-16.el7.x86_64
主要程序:/sbin/rsyslogd
配置文件:/etc/rsyslog.conf
查看配置文件 cat /etc/rsyslog.conf
*表示任意字符,*.info;mail.none;authpriv.none;cron.none 意思是任意信息都做一个日志显示,除了mail、authpriv和cron
一般认证的日志写在secure
以mail开头的都写进maillog
以cron(周期性计划任务)开头的都写进cron
信息的优先级别重要程度
在 Linux 内核中,根据日志消息的重要程度不同,将其分为不同 的优先级别(数字等级越小,优先级越高,消息越重要)。
0 EMERG(紧急):会导致主机系统不可用的情况。
1 ALERT(警告):必须马上采取措施解决的问题。
2 CRIT(严重):比较严重的情况。
3 ERR(错误):运行出现错误。
4 WARNING(提醒):可能影响系统功能,需要提醒用户的重要事件。
5 NOTICE(注意):不会影响正常功能,但是需要注意的事件。
6 INFO(信息):一般信息。
7 DEBUG(调试):程序或系统调试信息等
常见的日志文件
/var/log/massages:记录Linux内核信息即各种应用程序的公共日志信息,包括启动、I/O错误、网络错误、程序故障等。对于未使用独立日志文件的应用程序或服务,一般都可以从该日志文件中获取相关的事件记录信息
/var/log/cron:记录crond计划任务产生的事件信息。
/var/log/dmesg:记录Linux操作系统在引导过程中的各种事件信息。
/var/log/lastlog:记录每个用户最近的登录事件。
/var/log/secure:记录用户认证相关的安全事件信息。
/var/log/wtmp:记录每个用户登录、注销及系统启动和停机事件。
/var/log/btmp:记录失败的、错误的登录尝试及验证事件。
四,总结
今天主要了解了日志的存贮位置 以及查看日志的命令方法,平时生产工作中最离不开的查看日志文件