DAY11-12

作者: 余仔丶 | 来源:发表于2019-03-17 15:41 被阅读0次

    左脑如何进入右脑

    1.及时复习、复述

    2.分类记忆(命令思维导图方法)

    3.框架思维

    人品

    态度

    能力

    image image image

    符号链接(symbolic link)文件,也称软链接(soft link)

    以l开头是软链接,软链接是一种快捷方式:

    创建软链接:ln -s oldboy.txt oldboy_soft_link

                      cat oldboy_soft_link
    

    实例:[root@localhost.localdomain

    ~]# ln -s 1.txt 1.12.txt_soft_link

      备注:1.txt ( 文件名)
    
                1.12    软链接名称(自由设置)
    

    [root@localhost.localdomain

    ~]# cat 1.12.txt_soft_link

    woshi keyan

    删除:rm

    4.字符(character)/块(block)设备文件

    以C开头的就是字符设备(猫等串口设备)

    以b开头的就是块设备(硬盘、光驱是块设备的代表)

    image

    5.套接口(socket)文件

    以s开头:sock文件也是一类特殊的文件,这类文件通常用在网络之间进行数据连接,如我们可以启动程序来监听客户端的请求,客户端可以通过套接字来进行数据通信。

    image

    which 命令

    实例:[root@localhost.localdomain

    ~]#which cp

    alias cp='cp -i'

    /usr/bin/cp

    备注:如果有别名会显示别名

    image

    重点:

    PATH变量

    $PATH 命令行执行命令会从PATH对应的路径中查找命令

    例如:[root@localhost.localdomain

    ~]# echo $PATH

    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

    PATH 对应的路径中没有这个命令就会报command not found

    whereis:显示命令、源码、说明文档等的路径

    只查找二进制命令

    例如:[root@localhost.localdomain

    ~]# whereis cd

    cd: /usr/bin/cd /usr/share/man/man1/cd.1.gz

    -b 查找可执行文件

    例如:[root@localhost.localdomain

    ~]#whereis -b cd

    cd: /usr/bin/cd

    image

    locate:快速定位文件路径

    查找文件路径,是从数据库A(/var/lib/mlocate/mlocate.db)里查询

    更新A数据库用updatedb

    c7默认没安装,可不学

    备注:找指定Yum安装命令(查看命令对应的软件包)

    image

    6.find: 查找目录下的文件*****

    查找原理:磁盘遍历(从硬盘里一个个查找),速度慢。

    [root@localhost.localdomain

    ~]# find ~ -name "keyan"
    
          路径    名字参数  具体文件
    

    /root/keyan

    image

    模糊查找 用*表示所有

    [root@localhost.localdomain

    ~]# find / -name "ifcfg*"
    

    按文件类型查找-type

    [root@localhost.localdomain

    ~]# find / -type f -name "ifcfg*"
    

    查找目录 -d

    [root@localhost.localdomain

    ~]# find / -type d -name "ifcfg*"
    

    -type c

              File is of type c:
    
              b      block (buffered) special
    
              c      character (unbuffered) special
    
              d      directory
    
              p      named pipe (FIFO)
    
              f      regular file
    
              l      symbolic link; this is never true if the -L option or the -follow option  is  in  effect,
    
                     unless  the symbolic link is broken.  If you want to search for symbolic links when -L is
    
                     in effect, use -xtype.
    
    image

    如果取并集即或者用-o分割查找的项(-o 表示或的关系,表示前后两个条件满足其中一个即可)

    image

    -a and 并且

    例如: find ~ -type f -a -name "1.txt"

    -o or 或者

    例如:[root@localhost.localdomain

    ~]#find ~ -type f -o -name "1.txt"

    ! 取反

    [root@localhost.localdomain

    ~]# find ~ -type f ! -name "keyan6.txt"

    取反:

    [root@oldboyedu /data]# touch oldboy{1..10}.txt

    [root@oldboyedu /data]# ls

    oldboy10.txt oldboy2.txt oldboy4.txt oldboy6.txt oldboy8.txt

    oldboy1.txt oldboy3.txt oldboy5.txt oldboy7.txt oldboy9.txt

    [root@oldboyedu /data]# find /data -type f

    /data/oldboy1.txt

    /data/oldboy2.txt

    /data/oldboy3.txt

    /data/oldboy4.txt

    /data/oldboy5.txt

    /data/oldboy6.txt

    /data/oldboy7.txt

    /data/oldboy8.txt

    /data/oldboy9.txt

    /data/oldboy10.txt

    [root@oldboyedu /data]# find /data ! -type f

    /data

    [root@oldboyedu /data]# mkdir {a..d}

    [root@oldboyedu /data]# find /data ! -type f

    /data

    /data/a

    /data/b

    /data/c

    /data/d

    -exec 对查找的结果再处理

    image

    [root@oldboyedu /data]# find /data -type f -exec ls -l {} ;

    -rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy1.txt

    -rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy2.txt

    -rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy3.txt

    -rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy4.txt

    -rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy5.txt

    -rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy6.txt

    -rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy7.txt

    -rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy8.txt

    -rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy9.txt

    -rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy10.txt

    image image

    xargs 分组

    [root@oldboyedu /data]# echo {1..10} >test.txt

    [root@oldboyedu /data]# cat test.txt

    1 2 3 4 5 6 7 8 9 10

    [root@oldboyedu /data]# xargs -n 3 <test.txt

    1 2 3

    4 5 6

    7 8 9

    10

    [root@oldboyedu /data]# xargs -n 4 <test.txt

    1 2 3 4

    5 6 7 8

    9 10

    [root@oldboyedu /data]# xargs -n 5 <test.txt

    1 2 3 4 5

    6 7 8 9 10

    -d 指定分隔符,不指定默认空格

    image image

    备注:少用管道,效率低,

    image

    [root@oldboyedu /data]# cat test.txt

    a.b.c.d

    [root@oldboyedu /data]# echo "Oldboy" >test.txt

    [root@oldboyedu /data]# echo "Oldgirl" >>test.txt

    [root@oldboyedu /data]# echo "Oldboedu" >>test.txt

    [root@oldboyedu /data]# echo "Oldboyedu" >>test.txt

    [root@oldboyedu /data]# cat test.txt

    Oldboy

    Oldgirl

    Oldboedu

    Oldboyedu

    [root@oldboyedu /data]# cat test.txt|grep "boy"

    Oldboy

    Oldboyedu

    [root@oldboyedu /data]# grep "boy" test.txt

    Oldboy

    Oldboyedu

    [root@oldboyedu /data]# ifconfig|grep 10

        inet 
    

    10.0.0.201 netmask \255.255.255.0 broadcast

    10.0.0.255

        ether 00:0c:29:2a:ca:54  txqueuelen 1000  (Ethernet)
    
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
    
        loop  txqueuelen 1000  (Local Loopback)
    

    [root@oldboyedu /data]#

    [root@oldboyedu /data]# ifconfig|grep 10|grep 201

        inet 
    

    10.0.0.201 netmask

    255.255.255.0 broadcast

    10.0.0.255

    管道使用

    [root@oldboyedu /data]# find /data -type f -name "oldboy*" -mtime -7 -exec ls -l {} ;

    -rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy1.txt

    -rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy2.txt

    -rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy3.txt

    -rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy4.txt

    -rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy5.txt

    -rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy6.txt

    -rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy7.txt

    -rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy8.txt

    -rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy9.txt

    -rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy10.txt

    [root@oldboyedu /data]# find /data -type f -name "oldboy*" -mtime -7|xargs ls -l

    -rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy10.txt

    -rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy1.txt

    -rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy2.txt

    -rw-r--r--. 1 root root 0 Mar 14 10:39 /data/oldboy3.txt

    删除:

    image

    接啥执行啥

    [root@oldboyedu /data]# find /data -type f|xargs rm -f

    [root@oldboyedu /data]# ll

    total 0

    drwxr-xr-x. 2 root root 6 Mar 14 10:40 a

    drwxr-xr-x. 2 root root 6 Mar 14 10:40 b

    drwxr-xr-x. 2 root root 6 Mar 14 10:40 c

    drwxr-xr-x. 2 root root 6 Mar 14 10:40 d

    [root@oldboyedu /data]# touch oldboy{1..5}.txt

    [root@oldboyedu /data]# ls

    a b c d oldboy1.txt oldboy2.txt oldboy3.txt oldboy4.txt oldboy5.txt

    [root@oldboyedu /data]# find /data -type f -exec rm -f {} ;

    [root@oldboyedu /data]# ls

    a b c d

    删除:

    find /data -type f -exec rm -f {} ;

    相当于

    rm -f oldboy1.txt

    rm -f oldboy2.txt

    rm -f oldboy3.txt

    效率低。

    find /data -type f|xargs rm -f

    只是一条命令

    rm -f oldboy1.txt oldboy2.txt oldboy3.txt

    [root@oldboyedu /data]# find /data -type f|xargs -i cp {} /opt

    [root@oldboyedu /data]# ls /opt/

    oldboy1.txt oldboy2.txt oldboy3.txt oldboy4.txt oldboy5.txt

    image
    • 过去

    +未来

    [root@oldboyedu /data]# date +"%Y-%m-%d %H:%M:%S"

    2020-10-01 00:09:36

    [root@oldboyedu /data]# date +"%F %T"

    2020-10-01 00:09:39

    打包 压缩

    打包 框 放文件 压缩体积降低

    文件压缩,大小会降低

    tar *****

    打包:

    语法:

    tar 参数 框 (压缩包)苹果(被打包的文件)

    打包集合参数zcvf:

    压缩包名字:data.tar.gz tar表示打包,gz表示gzip格式压缩

    打包过程实例:

    cd ~

    [root@localhost.localdomain

    ~]#mkdir /data

    mkdir: cannot create directory ‘/data’: File exists

    [root@localhost.localdomain

    ~]# cd /data

    [root@localhost.localdomain

    /data]#touch {1..5}.txt

    [root@localhost.localdomain

    /data]#ls

    1.txt 2.txt 3.txt 4.txt 5.txt

    [root@localhost.localdomain

    /data]#cd ..

    [root@localhost.localdomain

    /]# tar zcvf /opt/data.tar.gz ./data

    ./data/

    ./data/1.txt

    ./data/2.txt

    ./data/3.txt

    ./data/4.txt

    ./data/5.txt

    [root@localhost.localdomain

    /]# tar -tf /opt/data.tar.gz

    ./data/

    ./data/1.txt

    ./data/2.txt

    ./data/3.txt

    ./data/4.txt

    ./data/5.txt

    [root@localhost.localdomain

    /]#
    

    解压过程:

    image

    指定位置:

    image image image

    ![image](https://img.haomeiwen.com/i16833016/a21d3e6629ea0dbf.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/700/format/webp

    day12

    1.相信可能你就无限可能,相信不可能,就自废武功。

    为什么会缺乏自信?

    对自己的能力不认可

    学历不高,自动不自信

    学历不高,既成事实

    现在不自信,一辈子背着不自信的枷锁。

    不管别人怎么看我们,我们要有一些自信。

    自信是人成功的必备前提。——老男孩

    自信一点,能力不够,就获得机会了。

    祸从口出,病从口入。

    永远不要在背后说别人坏话(当面直说),如果非要说说好话。

    人品、态度、能力、价值

    人品是根本

    态度是原则

    能力是基础

    价值是砝码:给老板赚钱

    作为运维人员怎么为老板赚钱?

    1、买设备、买带宽、云服务 花钱

    省了5玩,创造了50玩流水

    传统企业3-10%,10%

    要有正确的价值观,作为人何为正确?

    2.CDN网站加速,网站图片被盗链。

    几个小时27T流量,500M的带宽,1G-2G

    损失10几万一个月。创造了100多万流水。

    勇于承担责任,才是能力变强的最佳捷径。

    要想比人人强,永远要比别人多做一点点,早做一点点。

    半步领先

    排除:

    image image

    排除:

    image image

    用户:管理linux系统而存在的。

    用户一般分为用户名和用户ID(INDENTIFY)

    相当于我们的名字和身份证,名字和学号。

    linux 用户名是为了方便管理员使用,用户ID是唯一区别一个用户(计算机只识别ID_(

    user UID

    linu里所有的用户和进程都要有用户对应。

    文件存在必须对应用户

    进程运行必须应用用户

    linux用户分为三类:

    1.超级管理员 root

    权限堪称皇帝。UID为0,换句话,UID为0的都有皇帝对应的权限

    查用户的id id root

    image

    不要修改ID为0变管理员。

    作业:root密码丢失了如何找回来?

    下节课讲

    2.虚拟用户 (傀儡)

    实际存在的用户,但是又不允许它登录。

    价值何在?

    它能够满足相应的进程运行属主的要求,但是又不会带来管理风险。

    UID 1-499

    3.普通用户

    实际存在的用户,又允许它登录。管理员身份创建的帮助管理员管理系统的

    大臣、臣民一起管理。

    权限仅仅限制家目录,在一些系统级目录可读不可写,不可以进入/root 目录

    UID c7 1000起步 C6 500起步

    [root@localhost.localdomain

    /data/oldboy]#useradd oldgirl

    tail /etc/passwd

    ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

    nobody:x:99:99:Nobody:/:/sbin/nologin

    systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin

    dbus:x:81:81:System message bus:/:/sbin/nologin

    polkitd:x:999:998:User for polkitd:/:/sbin/nologin

    tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin

    abrt:x:173:173::/etc/abrt:/sbin/nologin

    sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

    postfix:x:89:89::/var/spool/postfix:/sbin/nologin

    oldgirl:x:1000:1000::/home/oldgirl:/bin/bash

    image

    用户组:集合、组织

    人的家庭、老男孩58期

    linux里每个用户都必须要有一个组织。这个组织就叫做用户组

    用户组也是给人看,用户组也有唯一表示,Group ID jiancheng GID

    默认情况下创建用户,并没有创建用户组,它会自动创建一个和用户名相同的用户组以及相同的GID。

    举例:

    image

    用户和用户组的对应关系

    1.1对1

    2.一个用户可以对应多个用户组

    3.多个用户可以对应一个用户组

    4.多对多

    image

    文件权限:严格的权限,linux安全权限严格。

    rwxr-xr-x

    9个字符

    r read 可读取 4

    w write 可写 2

    x execute 可执行 1

    •  没有权限            0
      

    . 表示selinux

    字符分组:三个字符是一组

    image

    789列:文件的最后修改时间

    文件时间有三种:

    修改时间:modify ,文件内容被改过之后的时间。

    访问时间:access ,文件内容北方问过的时间

    变化时间:change,文件属性发生改变的时间。

    ls -l 默认显示的是修改时间

    stat 查看三个时间

    例如:test@woshi

    ~]$ stat /etc/hosts

    File: ‘/etc/hosts’

    Size: 158 Blocks: 8 IO Block: 4096 regular file

    Device: 803h/2051d Inode: 16819633 Links: 1

    Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)

    Context: system_u:object_r:net_conf_t:s0

    Access: 2019-03-14 20:15:10.016483346 +0800

    Modify: 2013-06-07 22:31:32.000000000 +0800

    Change: 2019-03-04 21:30:45.505030856 +0800

    Birth: -

    拿字符权限:

    [test@woshi

    ~]$ stat -c %A /etc/hosts

    -rw-r--r--

    修改时间具体例子

    例子:

    [root@oldboyedu /data]# echo oldboy>>test.txt

    [root@oldboyedu /data]# stat test.txt

    File: ‘test.txt’

    Size: 14 Blocks: 8 IO Block: 4096 regular file

    Device: 803h/2051d Inode: 33656257 Links: 1

    Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)

    Context: unconfined_u:object_r:default_t:s0

    Access: 2020-10-01 11:07:28.953508888 +0800

    Modify: 2020-10-01 11:07:53.119507988 +0800

    Change: 2020-10-01 11:07:53.119507988 +0800

    Birth: -

    [root@oldboyedu /data]# cat test.txt

    oldboy

    oldboy

    [root@oldboyedu /data]#cat test.txt

    oldboy

    oldboy

    [root@oldboyedu /data]#stat test.txt

    File: ‘test.txt’

    Size: 14 Blocks: 8 IO Block: 4096 regular file

    Device: 803h/2051d Inode: 33656257 Links: 1

    Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)

    Context: unconfined_u:object_r:default_t:s0

    Access: 2020-10-01 11:08:32.147506535 +0800

    Modify: 2020-10-01 11:07:53.119507988 +0800

    Change: 2020-10-01 11:07:53.119507988 +0800

    Birth: -

    [root@oldboyedu /data]# chmod +x test.txt

    [root@oldboyedu /data]#stat test.txt

    File: ‘test.txt’

    Size: 14 Blocks: 8 IO Block: 4096 regular file

    Device: 803h/2051d Inode: 33656257 Links: 1

    Access: (0755/-rwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)

    Context: unconfined_u:object_r:default_t:s0

    Access: 2020-10-01 11:08:32.147506535 +0800

    Modify: 2020-10-01 11:07:53.119507988 +0800

    Change: 2020-10-01 11:08:57.442505593 +0800

    Birth: -

    显示修改时间的例子:

    [test@woshi

    ~]$ ls --time-style=iso -l

    total 12

    -rw-rw-r--. 1 test test 7 03-15 11:41 test.txt

    -rw-rw-r--. 1 test test 7 03-15 11:41 tets.txt

    -rw-rw-r--. 1 test test 7 03-15 11:41 text.txt

    [test@woshi

    ~]$ ls --time-style=long-iso -l

    total 12

    -rw-rw-r--. 1 test test 7 2019-03-15 11:41 test.txt

    -rw-rw-r--. 1 test test 7 2019-03-15 11:41 tets.txt

    -rw-rw-r--. 1 test test 7 2019-03-15 11:41 text.txt

    [test@woshi

    ~]$
    

    ls参数:

    -t modify,文件内容被改过之后的时间。

    -c change,文件属性发生改变的时间。

    -a access,文件内容被访问过的时间。

    image

    第一列:

    表现形式是数字 33631841 叫做文件的索引节点(Index Node)

    类似人的身份证,索引节点是文件在系统中的唯一表示。

    找一个文件最终都要通过索引节点才能找到。

    索引节点的概念是处在ext文件系统中(ext 2 ext4 ext3)

    索引节点是硬盘上的一块存储空间。大小256字节或512字节(这取决于系统)

    索引节点里存放是数据是文件的属性(大小,访问时间,权限,用户和组)等。

    在索引节点里,唯独不包含文件名。(文件名在上级目录的block里)

    磁盘要想使用,先分区,格式化(创建文件系统)。

    格式化创建文件系统时:就会生成大量inode和block (只要分区就会存在)

    inode作用用于存储文件的属性信息,同时存放指向文件的指针(类似于软链接)。

    block 作用是存放文件内容的(大片)。

    读文件的过程:先看是否有权限,然后再读内容

    image

    文件系统的原理:

    image image

    Block叫做磁盘块,是用来存放实际数据的实体单元(ext文件系统一般最大为4KB),即用来真正存放数据,例如:照片、视频等普通文件数据,单个大的文件需要占用多个Block块来存储,特别小的单个文件如果不能占满整个Block块,剩余的空间也无法在利用。

    image

    一个Block 最多只能存一个文件的内容,一个block 4k ,放了一个0.1k文件,剩下3.9k浪费

    df -i 查看分区对应的inode

    image

    磁盘满原因有两种:

    1.inode满了。

    2.block 满了。

    提示:

    报错:no space left on device 没有空间在设备上了

    磁盘满了。

    检查步骤:

    步骤1:df -h

    步骤2:df -i 看是不是inode满了

    为什么inode回满?

    小文件太多

    初始化时候 block数量远大于inode数量。

    相关文章

      网友评论

          本文标题:DAY11-12

          本文链接:https://www.haomeiwen.com/subject/tesumqtx.html