3-19

第二列结尾的. 是标识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 强制③!加命令 调用最近以这个命令开头的命令

 && 并且 前面正确,后面输出

 || 或者 前面错误,后面输出

第五组 重定向

你可能感兴趣的:(3-19)