一、 Selinux
1、什么是Selinux2 第二行结尾的(.)是标识Selinux的符号
它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。Selinux 主要由美国国家安全局开发
2、linux查看方法getenforce
enforcing
3、临时关闭:setenforce
usage: setenforce [ Enforcing | Permissive | 1 | 0 ]
setenforce 0
4、永久关闭:vim /etc/selinux/config
disabled - No Selinux policy is loaded.
Selinux=disabled
二、软硬连接
33574978 -rw-------. 1 root root 1.5K Mar 4 13:57 anaconda-ks.cfg
第三列硬链接
1、什么是硬连接?
就是具有相同inode节点号的文件互为硬连接
2、创建硬链接:
a、ln 源文件 硬链接文件
b、目录硬连接
不支持人工创建目录硬连接
c、作用:
备份,防止误删
3、软链接:
本质是快捷方式,指向源文件实体,本身和源文件是不同的文件。
a、目录:是工作中的重点
工作中为什么会使用软链接。
第一个用途:
安装软件:/application/nginx-1.10
过半年:/application/nginx-1.20
导致一个问题,工作中,开发等引用/application/nginx-1.10路径。
安装软件:/application/nginx-1.10===>/application/nginx(让开发用)
过半年: /application/nginx-1.20===>/application/nginx(让开发用)
第二个用途:
/etc/对应的分区要满了,没法放很多文件,但是程序还想通过/etc/目录访问文件。
此时,我们可以把文件放入/opt/oldboy下,然后做一个到/etc/oldboy的软链接。
三 、Linux文件删除原理:
1、静态文件:没有进程或程序正在访问的文件。
所有的硬链接数为0(i_link),即所有硬链接都被干掉了,包括自身。
硬链接的数量的代表变量符号i_link
rm -f oldboy.txt oldboy_hard_link
执行完 其实文件也没删,关机停止运行。
a.系统定时清理没有文件名的inode。
b.磁盘检查会清理。
c.增加新文件时优先占用没有文件名的inode。
恢复的工具:debugfs,ext3grep等等。
多备份,操作前备份,异服务器和异地备份。
2、动态文件:有程序或进程访问的文件
删除原理:
a.所有硬链接删除。i_link为0.
b..i_count是进程调用文件的数量(引用计数)。所有进程调用都要停止取消。i_count为0
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]# touch nginx.log
[root@oldboyedu /app/logs]# tail -f nginx.log
ln nginx.log nginx_hard.log
当前:
i_link=2
i_count=1
模拟把文件变大,让分区满
[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
分区满了:清理,删除。
删除源文件
[root@oldboyedu /app/logs]# rm -f nginx.log
结果:
i_link=1
i_count=1
ctrl+c 中断 进程调用文件
结果:
i_link=1
i_count=0
删除硬链接文件
[root@oldboyedu /app/logs]# rm -f nginx_hard.log
结果:
i_link=0
i_count=0
[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 14K 54K 21% /app/logs
必考
Web服务器磁盘满故障深入解析,地址为
http://oldboy.blog.51cto.com/2561410/612351
1、掌握Linux文件属性的各个列的含义(ls -lhi结果)及对应知识概念。
第一列 索引节点inode
第二列 drwx r-x r-- 用户对文件的权限 r 读 w写 x 执行 - 是没权限
d是文件类型 后面分三组 第一组是用户的权限 第二组是 用户组的权限 第三组是其他用户的权限
inode索引节点是文件的索引接点是唯一的
block是存放文件内容的一个文件最少占用一个block
一个文件必须有一个inode和一个或多个block组成
2、磁盘空间不足故障的多重判断和解决(面试常考)。
3、请描述软链接和硬链接的特点及区别(面试常考)。
1)分类:在linux系统中。链接分为两种,软连接和硬连接。
2)概念:硬链接:就是具有相同inode节点号的文件互为硬连接
软连接:本质是快捷方式,指向源文件实体,本身和源文件是不同的文件
3)创建:ln命令是创建硬连接的 ln -s 是创建软连接的
4)特点:不能对目录创建硬连接,但可以创建软链接
软链接可以跨文件系统 ,硬链接不可以
删除软链接对源文件和硬连接无任何影响
删除文件的硬链接对文件的软链接也无影响,但删除源文件对硬链接无影 响,会导致软链接不能使用(白底红字闪烁)
同时删除源文件和硬链接会导致整个文件正真的删除
4、请描述Linux系统文件删除的原理(面试常考)。