Day 16 文件属性
1.1 文件类型
1.1.1 Windows 通过扩展名区分不同的类型的文件
1.1.2 Linux 扩展名是给人类看的,方便我们区分不同类型文件
.conf 配置文件
.sh 脚本
.tar.gz 压缩包
.py Python脚本
1.1.3 Find里的文件类型
f file文件(二进制文件(命令) 文本文件(text) 数据文件(data) 需要单独的命令查看)
d dir 目录
l softlink 软连接
b block 块设备
c character 字符设备
p pipe 管道
s socket 套接字
1.1.4 查看文件的详细类型
file /bin/ls
1.2 文件类型小结
1.常见扩展名 .conf .sh .tar.gz .zip .py
2.常见的文件类型 f d l
3.查询文件的类型 ls 或 file
1.3 Linux的权限
主人 家人 陌生人 笔记本
对于一个文件来说 系统中的用户分为三类 :主人 家人 陌生人
所有者 用户组 其他人
r----read |
可读 4 |
w---write |
可写 2 |
x---execute |
执行 1 |
- |
0 |
[root@oldboyedu50 ~]# ll /etc/hosts
主人 家人 陌生人
-rw- r-- r--. 1 root root 92 5月 21 02:26 /etc/hosts
420 400 400
6 4 4
1.3.1 练习权限数字与字符之间的转换
-rw-r----- |
640 |
-r--r--r-- |
444 |
-rw-r--r-- |
644 |
-rw------- |
600 |
644 |
-rw-r—r-- |
755 |
-rwx-r-xr-x |
400 |
-r-------- |
640 |
-rw-r----- |
1.4 Linux链接 :软连接 (softlink或符号链接syslink) 硬链接(hard link)
1.4.1 硬链接:
在同一个磁盘分区下,文件的inode号码相同,文件就互为硬链接
1.4.1.1 作用
相当于文件的入口
1.4.1.2 创建硬链接:ln
[root@oldboyedu50 ~]# echo oldboyedu.com >oldboy.txt 先创建一个oldboy.txt文件
[root@oldboyedu50 ~]# ll oldboy.txt 查看内容
-rw-r--r--. 1 root root 14 7月 29 16:50 oldboy.txt 硬连接数为1
[root@oldboyedu50 ~]# ln oldboy.txt oldboy.txt-hard 创建硬链接
[root@oldboyedu50 ~]# ll oldboy.txt 查看内容
-rw-r--r--. 2 root root 14 7月 29 16:50 oldboy.txt 硬链接数为2
[root@oldboyedu50 ~]# ll -i oldboy.txt oldboy.txt-hard
265125 -rw-r--r--. 2 root root 14 7月 29 16:50 oldboy.txt 两个文件互为硬链接
265125 -rw-r--r--. 2 root root 14 7月 29 16:50 oldboy.txt-hard
[root@oldboyedu50 ~]#
小结:
1. 特点 同一个分区中,iNode相同的文件,互为硬链接
2. 防止误删除
3. 彻底删除一个文件条件:
文件硬链接数为0(rm)
1.4.2 软连接
最常用
1.4.2.1 作用:相当于windows快捷方式 存放的源文件的位置
1.4.2.2 创建软连接 ln -s
[root@oldboyedu50 ~]# echo oldboyedu.com >/oldboy/oldboy.txt
[root@oldboyedu50 ~]# ln -s /oldboy/oldboy.txt oldboy.txt-soft 创建软连接
[root@oldboyedu50 ~]# ls -l /oldboy/oldboy.txt*
-rw-r--r--. 1 root root 14 7月 29 17:12 /oldboy/oldboy.txt
lrwxrwxrwx 1 root root 18 7月 29 17:13 oldboy.txt-soft -> /oldboy/oldboy.txt指向源文件
[root@oldboyedu50-lnb /oldboy]# ls -l oldboy.txt*
-rw-r--r-- 2 root root 14 Jul 27 21:49 oldboy.txt-hard
lrwxrwxrwx 1 root root 10 Jul 27 22:09 oldboy.txt-soft -> oldboy.txt
lrwxrwxrwx 1 root root 18 Jul 27 22:16 oldboy.txt-soft2 -> /oldboy/oldboy.txt
[root@oldboyedu50-lnb /oldboy]# mv alex.txt oldboy.txt 将源文件移走会显示红色闪动
[root@oldboyedu50-lnb /oldboy]# ls -l oldboy.txt*
-rw-r--r-- 2 root root 14 Jul 27 21:49 oldboy.txt
-rw-r--r-- 2 root root 14 Jul 27 21:49 oldboy.txt-hard
lrwxrwxrwx 1 root root 10 Jul 27 22:09 oldboy.txt-soft -> oldboy.txt
lrwxrwxrwx 1 root root 18 Jul 27 22:16 oldboy.txt-soft2 -> /oldboy/oldboy.txt
1.4.2.3 文件系统
磁 盘 ————à分区————à 创建文件系统——————à 挂载
1000m^2 划分隔断 装修 (装修风格) 入住
1.4.2.4 软连接与硬链接的区别
1.4.3 文件删除原理:
1. 硬链接数为0 rm
2. 进程调用数为0 是否有人使用
如何查看 被占用的文件
窗口1 窗口2
Lsof | grep oldboy.txt tail –f /oldboy/oldboy.txt 显示文件更新状态
显示所有被占用的文件
List open files
[root@oldboyedu50 ~]# lsof |grep oldboy.txt 显示所有被占用的文件
tail 23286 root 3r REG 8,3 14 133899 /oldboy/oldboy.txt
命令或服务名称 文件大小 inode号码 文件名
小结:文件删除原理
1. 硬链接数为0
2. 进程调用书为0 lsof |grep oldboy.txt
硬链接数为0 有人在使用这个文件
1.5 磁盘满故障
模拟 文件没有被彻底删除 {硬连接数(i_link)为0 进程调用数(i_count)不为0}
1.5.1 查看磁盘的使用情况
[root@CJY ~]# df –h 查看block
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 19G 11G 7.1G 61% /
tmpfs 491M 0 491M 0% /dev/shm
/dev/sda1 190M 35M 146M 19% /boot
/dev/sr0 3.7G 3.7G 0 100% /mnt
/dev/sdc 73K 14K 55K 21% /app/logs
[root@CJY ~]# du -sh /*|sort -h|tail -1 一层一层排查
du: cannot access `/proc/28962/task/28962/fd/4': No such file or directory
du: cannot access `/proc/28962/task/28962/fdinfo/4': No such file or directory
du: cannot access `/proc/28962/fd/4': No such file or directory
du: cannot access `/proc/28962/fdinfo/4': No such file or directory
9.3G /var
[root@CJY ~]# du -sh /var/*|sort -h|tail -1
9.2G /var/log
[root@CJY ~]# du -sh /var/log/*|sort -h|tail -1
4.6G /var/log/messages 8,3 4888891946 654370 /var/log/messages
1.5.2 删除这个文件
[root@oldboyedu50 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 19G 12G 6.7G 63% /
tmpfs 931M 0 931M 0% /dev/shm
/dev/sda1 190M 40M 141M 22% /boot
[root@oldboyedu50 ~]# \rm -f /var/log/messages 删除这个文件
[root@oldboyedu50 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 19G 12G 6.7G 63% /
tmpfs 931M 0 931M 0% /dev/shm
/dev/sda1 190M 40M 141M 22% /boot
1.5.3 磁盘空间不足 继续通过du –sh排查
原因:文件没有被彻底删除
[root@oldboyedu50-lnb /oldboy]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 19G 17G 1.1G 95% /
tmpfs 931M 0 931M 0% /dev/shm
/dev/sda1 190M 40M 141M 22% /boot
/dev/sdc 73K 14K 55K 21% /app/logs
[root@oldboyedu50-lnb /oldboy]# du -sh /* |sort -h |tail
376K /root
7.6M /bin
16M /sbin
27M /lib64
30M /etc
38M /boot
80M /var
114M /tmp
214M /lib
1.1G /usr
1.5.4 找出这个被占用的文件
[root@oldboyedu50-lnb /oldboy]# lsof |grep messages
rsyslogd 1412 root 4w REG 8,3 16197811985 392705 /var/log/messages (deleted)
1.5.5 解决
#deleted lsof标记 表示文件硬链接数为0 进程调用数不为0
#进程调用数为0 ==== 重启服务/软件
[root@oldboyedu50-lnb /oldboy]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 19G 17G 1.1G 95% /
tmpfs 931M 0 931M 0% /dev/shm
/dev/sda1 190M 40M 141M 22% /boot
/dev/sdc 73K 14K 55K 21% /app/logs
[root@oldboyedu50-lnb /oldboy]# /etc/init.d/rsyslog restart
Shutting down system logger: [ OK ]
Starting system logger: [ OK ]
[root@oldboyedu50-lnb /oldboy]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 19G 1.6G 17G 9% /
tmpfs 931M 0 931M 0% /dev/shm
/dev/sda1 190M 40M 141M 22% /boot
/dev/sdc 73K 14K 55K 21% /app/logs
[root@oldboyedu50-lnb /oldboy]# lsof |grep messages
rsyslogd 3828 root 1w REG 8,3 229 392660 /var/log/messages
1.5.6 小结:
1. 磁盘空间不足 - 文件没有被彻底删除导致(硬连接数为0 进程调用数不为0)
df -h ; du -sh 没满 ; lsof |grep delete
1.6 总结:
1.权限 文件类型
2.软硬连接区别
3.文件删除原理
4.磁盘空间不足系列:
1)inode
2)block
3)block 没有被彻底删除满了