Day13-课堂笔记-Linux文件更多核心属性知识&Linux通配符与特殊符号知识应用实践

一、selinux

-rw-r--r--.

1、什么是selinux?

权限属性信息最后一个“.",是标识Linux的符号。

安全规则,让Linux系统更安全的一套规则。

这个规则太严格了,一般情况下都会关闭selinux。

自行开启防火墙或用其他方法来实现同样的安全目的。

2、关闭Selinux的方法。

1)查看方法:getenforce===> Enforcing

2)临时关闭:setenforce

3)永久关闭:vim /etc/selinux/config

3、linux防火墙

C6:iptables  

查看状态:service iptables start

C7:firewalld   

查看状态:systemctl status firewalld.service

防火墙开机自启:

systemctl enable firewalld.service

二、硬链接

1、硬链接概念

具有相同inode节点号的文件互为硬链接。

可以看做一个文件的两个入口。

2、硬链接原理

3、测试

创建硬链接: ln 源文件 硬链接文件

1)文件硬链接

ls -lrt 按修改时间反转排序

作用:备份,防止误删。

2)目录硬链接

不支持人工创建目录的硬链接

三、软链接

1、软链接概念

本质就是快捷方式,指向原件实体,本身和原文件是不同的文件

目录的软链接是工作中的重点。

2、用途

1)安装软件:

安装软件:/application/nginx-1.10

过半年:/application/nginx-1.20

导致一个问题,工作中,开发等引用/application/nginx-1.10路径。

安装软件:/application/nginx-1.10===>/application/nginx(让开发用)

过半年:  /application/nginx-1.20===>/application/nginx(让开发用)

2)/etc/对应分区要满了,无法储存更多的文件,但是程序还是想通过/etc/目录访问文件,此时,我们可以把文件放入/opt/oldboy下,然后做一个到/etc/oldboy的软链接。

四、linux文件删除原理

1、静态文件:没有进程或程序正在访问的文件。

所有硬链接数为0(i_link),即所有的硬链接都被干掉了,包括自身。

硬链接的数量代表变量符号为:i_link

rm -f oldboy.txt  oldboy_hard_link

执行完,其实文件也没有被删除,关机停止运行。

1)系统定时清理没有文件名的Inode。

2)磁盘检查会清理

3)增加新文件时会优先被占用没有文件名的inode

恢复的工具:debugfs,ext 3grep

多备份:操作前备份、异服务器备份、异地备份

2、动态文件:有程序或进程访问的文件

删除原理:

1)i_link 为0 

2)i_count为0,i_count是进程调用文件的数量(引用计数)。所有进程调用都要停止。

3、实践文件删除原理

环境准备,命令集合如下:

mkdir -p /app/logs                          #<==创建用于挂载的目录。

dd if=/dev/zero of=/dev/sdc bs=8K  count=10  #<==创建指定大小的文件。

mkfs.ext4 /dev/sdc                          #<==格式化。

mount -o loop /dev/sdc /app/logs            #<==挂载。

df -h                                        #<==检查挂载结果。

实践:

[root@oldboyedu /data]# cd /app/logs/

[root@oldboyedu /app/logs]# touch nginx.log

[root@oldboyedu /app/logs]# tail -f nginx.log

[root@oldboyedu /app/logs]# cat /etc/services >>nginx.log

cat: write error: No space left on device

[root@oldboyedu /app/logs]# df -h

Filesystem      Size  Used Avail Use% Mounted on

/dev/sda3        19G  1.9G  18G  10% /

devtmpfs        980M  80K  980M  1% /dev

tmpfs          991M    0  991M  0% /dev/shm

tmpfs          991M  9.5M  981M  1% /run

tmpfs          991M    0  991M  0% /sys/fs/cgroup

/dev/sda1      253M  136M  118M  54% /boot

tmpfs          199M    0  199M  0% /run/user/0

/dev/loop0      73K  71K    0 100% /app/logs

明明删除了,结果还是100%。

[root@oldboyedu /app/logs]# rm -f nginx.log

[root@oldboyedu /app/logs]# lsof|grep nginx

tail      7927        root    3r      REG                7,0    57344        12 /app/logs/nginx.log (deleted)

[root@oldboyedu /app/logs]# df -h

Filesystem      Size  Used Avail Use% Mounted on

/dev/sda3        19G  1.9G  18G  10% /

devtmpfs        980M  80K  980M  1% /dev

tmpfs          991M    0  991M  0% /dev/shm

tmpfs          991M  9.5M  981M  1% /run

tmpfs          991M    0  991M  0% /sys/fs/cgroup

/dev/sda1      253M  136M  118M  54% /boot

tmpfs          199M    0  199M  0% /run/user/0

/dev/loop0      73K  71K    0 100% /app/logs

分区满了:清理,删除。

删除源文件

[root@oldboyedu /app/logs]# rm -f nginx.log

结果:

i_link=1

i_count=1

ctrl+c 中断 进程调用文件

结果:

i_link=1

i_count=0

你可能感兴趣的:(Day13-课堂笔记-Linux文件更多核心属性知识&Linux通配符与特殊符号知识应用实践)