第二列结尾的. 是标识selinux的符号
1、selinux是什么?
安全规则,让Linux系统更安全的一套规则。
这个规则太严格了,一般的情况下都会关闭selinux。
自己开启防火墙啊,用其他手段来实现同样的安全目的。
2、怎么关掉Selinux?
查看方法:
[root@oldboyedu ~]# getenforce Enforcing
临时关掉:
[root@oldboyedu ~]# setenforce usage:
[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
作用:防护计算机,防止被入侵。
查看状态systemctl status firewalld.service
开启firewalld(C6 service iptables start 或者/etc/init.d/iptables start)
[root@oldboyedu ~]# systemctl start firewalld.service
[root@oldboyedu ~]# systemctl status firewalld.service 让firewalld开机自启动
[root@oldboyedu ~]# systemctl enable firewalld.service
C6用法:chkconfig iptables off
C7就是一个命令systemctl
33631870 -rw-r--r--. 1 root root 4 Mar 13 2019 a.txt
硬链接数
1、什么是硬链接?
具有相同inode节点号的文件互为硬链接。 一个文件的两个入口。
2、硬链接原理。
3、测试 创建硬链接: ln 源文件 硬链接文件
a.文件硬链接
echo "I am oldboy." >oldboy.txt cat oldboy.txt lln oldboy.txt oldboy_hard_link ls -lirt
作用: 1、备份,防止误删。
b.目录硬链接 不支持人工创建
目录硬链接。
[root@oldboyedu /data]# ln oldboy oldgirl ln: ‘oldboy’: hard link not allowed for directory
老男孩的思考: /etc/目录,对应一个分区 /home目录,还可能对应一个分区。 ln /etc/ /home/oldboy
软链接: 本质是快捷方式,指向源文件实体,本身和源文件是不同的文件。
实践: 文件 ln -s oldboy.txt oldboy_soft_link
目录:是工作中的重点 工作中为什么会使用软链接。
第一个用途: 安装软件:/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的软链接。
必会面试题:
软链接和硬链接的区别?
P278 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 /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
分区满了:清理,删除。
删除源文件 [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
第十章 Linux 通配符与特殊符号
通配符知识:
1、基本含义 通配符简单说就是键盘上的一些特殊字符,可以实现某些特殊的功能,
例如,可以用*代表所有,来模糊搜索系统中的文件。
2、范围:通配符试用范围是命令行中【普通命令】或脚本编程中。
3、 第一组 模糊匹配:
* 所有
?匹配的单个字符,有且只有一个字符
[abcd]匹配里面任何一个字符
[a-z]匹配连续的任何一个字符
[!a-d]或[^a-d]取反
第二组 路径位置相关
~ 用户家目录
- 上一次目录
. 当前目录
.. 上一级目录
第三组 引导相关
‘ ’ 单引号 引用字符串,所见即所得
“” 双引号 引用字符串,解析变量、命令(推荐使用)
`` 反引号 引用命令,解析命令 等价$()推荐使用
第四组 其他字符
;表示命令分隔符
# ①管理员提示符 ② 注释符号
$ ①普通用户提示符②调用变量使用
| 管道,前面的数据流交给后面处理
\ 转义字符 让字符还原本义
{} ①生成序列②引用变量,让变量与普通字符区分开
! ①取反②在vim 强制③!加命令 调用最近以这个命令开头的命令
&& 并且 前面正确,后面输出
|| 或者 前面错误,后面输出
第五组 重定向