day 13

2019-03-24  本文已影响0人  个中秘密

第九章  Linux核心属性知识(下)

老男孩思想之优秀的运维习惯

1、内容尽量复制,以减少错误。

2、操作前备份,操作后检查。

3、使用中记忆。

-------上节内容补充  

文件属性 

    文件权限结尾的 “.”是标识selinux的符号

1、seLinux是什么?

    安全规则,让Linux系统更安全的一套规则。

    这个规则太严格了,一般的情况下都会关闭selinux。

2、怎么关掉seLinux?

临时关闭:  setenforce 0

永久关闭:vim /etc/selinux/config

                   SELINUX=disabled

********************************************************************************************************************

1.1、硬链接数属性

1.1.1、什么是硬链接

    具有相同inode节点号的文件互为硬链接

    一个文件两个入口(inode在某一个文件系统内是唯一的)

1.1.2、硬链接的原理

    两个文件名指向的是硬盘的同一块存储空间,对文件中的任何一个文件内容进行修改都会影响到另一文件。

aa硬链接数为 1 aa bb 硬链接数都为 2

    由上图可以看出aa,bb大小相同,如果此时修改aa,bb任意一个文件内容,另一个文件内容已将随之变化,如果删除其中一个文件(不管哪一个),就是删除了该文件和硬盘空间的指向关系,该硬盘空间不会释放,另一个文件内容也不会发生改变,但是该文件的链接数会少一个。

说明:只能对文件创建硬链接,不能对目录创建硬链接

1.1.3、创建硬链接作用

    作用:备份,防止误删。

    目录硬链接:不支持人工创建硬链接

1.2、软链接属性

1.2.1、什么软链接

    是指一个文件指向另外一个文件的文件名。软链接类似于Windows系统中的快捷方式。软链接是由 ln -s命令建立。

1.2.2、软链接原理

aa 的软链接数为 1 aa 文件的链接数仍为 1

    由上图可看出cc文件是指向aa文件的一个符号链接。而指向存储aa文件内容的那块空间的文件仍然只有aa一个,cc文件只不过是指向了aa文件名而已。所以aa文件的链接数仍为1。  在利用cat命令查看cc文件内容时,发现cc是一个符号链接文件,就根据cc记录的文件名找到aa文件,然后将aa文件的内容显示出来。

    此时如果删除了cc文件,对aa文件无任何影响,但如果删除了aa文件,那么cc文件就因无法找到aa文件而毫无用处了。

(说明:可以对文件或目录建立软链接)

1.2.3、工作中为什么会使用软链接

    第一个用途:

        安装软件:/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的软链接。

1.3、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、文件删除原理

    分区满了,要清理、删除

        要结束调用的进程,然后在删除硬链接文件

第十章 Linux通配符与特殊符号知识应用实践

1.1、通配符

    通配符简单来说就是键盘上的一些特殊字符,可以实现某些特殊的功能。利用通配符能提高工作效率。

1.1.1、通配符集合。

 工作中常用的通配符:

           *:匹配任意(0个或多个)字符或字符串。

          ?:匹配任意一个字符,有且只有一个。

 [abcd]:匹配abcd中任何一个字符,abcd 可以是任意不连续字符。

    [a-z]:匹配a-z之间任意一个字符,字符前后连续  ,也可是[0-9]。

[!abcd]:表示不匹配括号里的任意字符,这里的“!”可以用“^”代替。

(注:同一个符号可能有多种不同的含义,含义不同功能不同结果不同)

 特殊符号集合:

    路径与位置相关:   “~”,“-”、“.”,“..”,这四个符号含义与在cd下一样,不赘述了。

    引用字符串命令相关:

       '':单引号,所见即所得,即原样输出。

     "":双引号,输出内容时,如果内容中有特殊含义的字符时要转义。

     ``:反引号,用于执行命令,相当于$()。

    其他特殊字符:

        ;:表示一个命令的结束,命令分隔符。

        #:注释     (也可以是命令提示符)。

         |:表示管道。

       $:引用变量 去变量的值或普通用户的命令提示符。

        \:转义符号或者屏蔽别名。

      {}:生成序列。

      &:将程序放入后台运行符。

上一篇下一篇

猜你喜欢

热点阅读