1、selinux介绍
1.1、selinux是什么?
[root@oldboyedu ~]# ls -lhi
total 32K
33631870 -rw-r--r--. 1 root root 4 Mar 13 2019 a.txt
第二列结尾的. 是标识selinux的符号
安全规则,让linux系统更安全的一套规则。
这个规则太严格了,一般的情况下都会关闭selinux。
自己开启防火墙,用其他手段来实现同样的安全目的。
1.2、怎么关掉selinux?
getenforce 查看selinux状态
setenforce 修改selinux状态
临时关掉:selinux:setenforce 0
永久关闭:
1.3、 Linux里防火墙:C6 iptables C7 fierwalld
作用:防护计算机,防止被入侵。
C7:
开启防火墙:systemctl start firewalls.service
查看防火墙状态:systemctl status firewalld.service
防火墙开机自启动:systemctl enable firewalld.service
防火墙开机不自启动:systemctl disable firewalld.service
C6:
开启防火墙:service iptables start
/etc/init.d/iptables start
C6用法:chkconfig iptables off
C7用法:systemctl
2、硬链接
[root@yuzhiwei~]# ls -lhi
total 12K
33651696 -rw-r--r-- 1 root root 8 Mar 14 18:45 1.txt
硬链接数
2.1、什么是硬链接?
具有相同inode节点号的文件互为硬链接。(一个文件的两个入口)
2.2、硬链接原理
2.3、测试
创建硬链接
ln 源文件 硬链接文件
a. 文件硬链接
b.目录硬链接
不支持人工创建目录硬链接。
老男孩的思考:
/etc/目录,对应一个分区
/home目录,还可能对应一个分区。
ln /etc/ /home/oldboy 会出问题
2.4硬链接作用
备份,防止误删
3、软链接
软链接:本质是快捷方式,指向源文件实体,本身和源文件是不同的文件。
目录:是工作中的重点
3.1、工作中为什么会用软链接?
第一个用途:
第二个用途:
3.2、面试题:软链接和硬链接的区别?
1、分类:在Linux系统中,链接分两种:一种被称为硬链接,另一种被称为符号链接或软链接。
2、概念:硬链接文件与源文件的Inode节点号相同,而软链接文件相当于Windows下面的快捷方式(Inode节点号与源文件不同)
3、创建:默认不带参数的情况下,ln命令创建的是硬链接,带-s参数的ln命令创建的是软链接。
4、特点:
(1)不能对目录创建硬链接,但可以创建软链接,对目录的软链接会经常被用到。
(2)软链接可以跨文件系统,硬链接不可以跨文件系统。
(3)删除软链接文件,对源文件及硬链接文件无任何影响。
(4)删除文件的硬链接,对源文件及软链接文件无任何影响。
(5)删除链接文件的源文件,对硬链接文件无影响,会导致软链接失效。
(6)同时删除源文件及其硬链接文件,整个文件才会被真正地删除。
5、案例:硬链接用处不多,可以用来对重要的文件做快照防止误删,而对目录建立软链接在工作中很常用。例如:安装软件会用nginx-1.10作为目录,安装完后设置软链接为nginx,既保持了版本号表示,有方便使用,以及方便后续软件升级。
4、Linux文件删除原理:
4.1、静态文件:没有进程或程序正在访问的文件。
所有的硬链接数为0(i link),即所有硬链接都被删掉,包括自身。
硬链接的数量的代表变量符号:i_link
rm -f oldboy.txt oldboy hard link 执行完 其实文件也没删,关机停止运行。
a、系统定时清理没有文件名的inode。
b、磁盘检查时会清理
c、增加新文件时会优先占用没有文件名的inode。
恢复的工具:debugfs,ext3grep等等。
亡羊补牢不可取,直接违反运维的三大核心原则。
多备份,操作前备份,异服务器和异地备份。
4.2、动态文件:有程序或进程访问的文件
删除:a、i_link为0. 所有硬链接删除。
b、i_count为0. i_count是进程调用文件的数量(引用计数),所有进程调用都要停止取消。
4.3、实践文件删除原理
第十章 通配符与特殊符号知识应用实践
1、通配符
1.1、基本含义
通配符简单说就是键盘上的一些特殊字符,可以实现某些特殊的功能,
例如,可以用*代表所有,来模糊搜索系统中的文件。
1.2、通配符的适用范围是命令行中(普通命令)或脚本编程中。
2、模糊匹配
[root@yuzhiwei/data]# touch a.txt b.txt aa.txt test.txt
[root@yuzhiwei/data]# ls
aa.txt a.txt b.txt test.txt
2.1、* 所有
[root@yuzhiwei/data]# ls *.txt
aa.txt a.txt b.txt test.txt
2.2、? 匹配单个字符
[root@yuzhiwei/data]# ls ?.txt
a.txt b.txt
[root@yuzhiwei/data]# ls ??.txt
aa.txt
[root@yuzhiwei/data]# ls ????.txt
test.txt
2.3、[abcd] 匹配任意一个字符
[root@yuzhiwei/data]# ls [abcd].txt
a.txt b.txt
[root@yuzhiwei/data]# ls [asdf].txt
a.txt
2.4、[a-d] 匹配连续的任意单个字符或数字
[root@yuzhiwei/data]# ls [a-d].txt
a.txt b.txt
2.5、[!a-d]或[^1-9] 取反
[root@yuzhiwei/data]# ls [!b-z].txt
a.txt