1. 什么是selinux?
安全规则,让Linux系统更安全的一套规则。这个规则太严格了,一般的情况下都会关闭selinux。
2、怎么关掉Selinux?
查看方法:
[root@oldboyedu ~]# getenforce
Enforcing
临时关掉:
[root@oldboyedu ~]# setenforce
usage: setenforce [ Enforcing | Permissive | 1 | 0 ]
[root@oldboyedu ~]# setenforce 0
[root@oldboyedu ~]# getenforce
Permissive
永久关闭:
vim /etc/selinux/config
[root@oldboyedu ~]# grep dis /etc/selinux/config
# disabled - No SELinux policy is loaded.
SELINUX=disabled
Linux里防火墙C6 iptables C7 firewalld
C7防火墙关闭:systemctl start firewalld.service
防火墙开启:systemctl status firewalld.service
systemctl enable firewalld.service 让firewalld开机自启动
systemctl disabled firewalld.service 关闭开机自启动
C6:service iptables start 或者/etcinit.d/iptables start
C7:systemctl
1、什么是硬链接?
硬链接:就是具有相同inode 节点号的文件互为硬链接。(一个文件的两个入口)
a.文件的硬链接
2.硬链接的创建
ln源文件 硬链接文件
作用:备份,防止误删
2.软连接
本质是快捷方式,指向源文件实体,本身和源文件都是文件
第一个用途:
更新软件 新老软件用同一个软链接给开发
安装软件:/application/nginx-1.10
过半年:/application/nginx-1.20
导致一个问题,工作中,开发等引用/application/nginx-1.10路径。
安装软件:/application/nginx-1.10===>/application/nginx(让开发用)
第二个用途:
/etc/对应的分区要满了没办法放很多文件,但是还是想从/etc访问,
把文件放进/opt/oldboy下,做一个etc/oldboy的软链接
软连接和硬链接的区别?
1. 硬链接文件与源文件的Inode有相同的节点号,而软连接文件相当于Windows下面的快捷方式Inode节点号与源文件不同。
2. ln命令是创建的是硬链接,ln-s 是创建软连接的
特点:a:不能对目录创建硬链接,但可以创建软连接,对目录的软连接会经常用到。
b:软连接可以跨文件系统,硬链接不可以跨文件系统。
c:删除软连接,对源文件及硬链接文件无任何影响。
d:删除文件的硬链接文件,对源文件及软连接文件无任何影响。
e:删除链接文件的源文件,对硬链接文件无影响,会导致其软连接失效(红底白字闪烁)
f:同时删除源文件和硬链接文件,整个文件才被真的删除。
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为0 i_count 是进程调用文件的数量(引用计数) 所有进程调用都要停止。
3.实践文件删除原理
硬链接和原文件都删除 文件删除
通配符
1.基本含义
通配符简单来说就是键盘上的一些特殊字符,可以实现某些特殊功能
可以用*来模糊搜索系统中的文件
2.通配符的试用范围是普通命令行或脚本编程中。
a.模糊匹配
* 匹配所有
?匹配单个字符 ,有且只有一个
[abcd]匹配里面任意一个字符
[a-d]匹配连续的任意单个字符
[!a-d]或者^[1-9]取反
b.路径位置
~用户家目录
-上一次的目录
.当前的目录
..上级目录
c.引号相关
'单引号 所见即所得
"双引号 打印变量值或解析用于反引号或$()括起的命令
空与双引号类似
d.其他字符
;表示命令分隔符
#注释
$() 系统把字符串当作命令
tar zcvf /opt/etc_$(data +%F).tar.gz ./etc/
路径里不要有空格
a="oldboy"
echo $a
oldboy
$普通用户提示符 #管理员提示符
| 管道 将前面的数据流交给后面
\转义字符
{}1.生成序列 2.引用变量 让变量变成整体
!1.取反 2. vim强制
&&并且 and
||或者 or