zoukankan      html  css  js  c++  java
  • 24.centos7基础学习与积累-010-上机考核命令练习

    从头开始积累centos7系统运用

    大牛博客:https://blog.51cto.com/yangrong/p5

    1.创建目录/data/oldboy,并且在该目录下创建文件oldboy.txt,然后在文件lodboy.txt里写入内容

    “inet addr:10.0.0.8” Bcast:10.0.0.255 Mask:255.255.255.0"(不包括引号)。

    [root@python01 ~]# mkdir /data/oldboy -p

    用sed过滤行

    [root@python01 ~]# ip a|sed -n '9p'
        inet 192.168.50.200/24 brd 192.168.50.255 scope global eth0

    用grep过滤指定字符

    [root@python01 ~]# ip a|grep 192     
        inet 192.168.50.200/24 brd 192.168.50.255 scope global eth0

    [root@python01 ~]# ip a|grep 192 >/data/oldboy/oldboy.txt

    [root@python01 ~]# cat /data/oldboy/oldboy.txt
        inet 192.168.50.200/24 brd 192.168.50.255 scope global eth0

    2.讲题1中的oldboy.txt文件内容通过命令过滤只输出如下内容:

    10.0.0.8 10.0.0.255 255.255.255.0

    多个分隔符用中括号括起来

    [root@python01 ~]# awk -F "[ :]+" '{print $1$3}' /data/oldboy/oldboy.txt

    正确答案:当只有一个分隔符时

    [root@python01 ~]# awk -F " " '{print $2" "$4}' /data/oldboy/oldboy.txt  
    192.168.50.200/24 192.168.50.255

    3.将题1的oldboy目录移动到/tmp目录下,并将/etc/passwd文件复制到/tmp/oldboy下。

    [root@python01 ~]# mv /data/oldboy  /tmp/
    [root@python01 ~]# ls /tmp/oldboy/
    oldboy.txt

    [root@python01 ~]# cp /etc/passwd /tmp/oldboy/
    [root@python01 ~]# ls /tmp/oldboy/
    oldboy.txt  passwd

    4.在题3的基础上使用awk取passwd文件的地10行到20行的第三列重定向到/tmp/oldboy/test.txt 文件里面。

    [root@python01 oldboy]# awk '9<NR && NR<21{print }' passwd |cat -n
         1  operator:x:11:0:operator:/root:/sbin/nologin
         2  games:x:12:100:games:/usr/games:/sbin/nologin
         3  ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
         4  nobody:x:99:99:Nobody:/:/sbin/nologin
         5  systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
         6  dbus:x:81:81:System message bus:/:/sbin/nologin
         7  polkitd:x:999:998:User for polkitd:/:/sbin/nologin
         8  sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
         9  postfix:x:89:89::/var/spool/postfix:/sbin/nologin
        10  chrony:x:998:996::/var/lib/chrony:/sbin/nologin
        11  ntp:x:38:38::/etc/ntp:/sbin/nologin

    [root@python01 oldboy]# awk -F ":" '{if(9<NR && NR<21)print $3}' passwd    
    11
    12
    14
    99
    192
    81
    999
    74
    89
    998
    38

    [root@python01 oldboy]# awk -F ":" '9<NR && NR<21{print $3}' passwd
    11
    12
    14
    99
    192
    81
    999
    74
    89
    998
    38

    [root@python01 oldboy]# awk -F ":" '9<NR && NR<21{print $3}' passwd >test.txt
    [root@python01 oldboy]# ls
    oldboy.txt  passwd  test.txt
    [root@python01 oldboy]# cat test.txt
    11
    12
    14
    99
    192
    81
    999
    74
    89
    998
    38

    5.在题3的基础上要求用命令rm删除文件时提示如下禁止使用rm的提示,并是该效果永久生效。

    [root@python01 oldboy]# rm -f passwd

    Do not use rm command

    别名临时生效:

    [root@python01 oldboy]# alias rm='echo Do not use rm command.'

    [root@python01 oldboy]# rm passwd
    Do not use rm command. passwd

    别名永久生效:

    [root@python01 oldboy]# ls /etc/profile /etc/bashrc
    /etc/bashrc  /etc/profile

    追加到属性文件:

    [root@python01 oldboy]# echo "alias rm='echo Do not use rm command.'" >> /etc/bashrc

    [root@python01 oldboy]# echo "alias rm='echo Do not use rm command.'" >> /etc/profile

    6.在题3的基础上,删除/tmp/oldboy/下除passwd以外的其他文件。

    取正

    [root@python01 oldboy]# find /tmp/oldboy/ -type f -name "*.txt"

    取反

    [root@python01 oldboy]# find /tmp/oldboy/ -type f ! -name "passwd"

    删除查找到的文件目的是屏蔽别名

    [root@python01 oldboy]# find /tmp/oldboy/ -type f ! -name "passwd"|xargs m -f

    7.在题3的基础上,请打印/etc/passwd 文件中的第2-5行(不低于三种方法)

    [root@python01 oldboy]# sed -n '2,5'p /etc/passwd
    bin:x:1:1:bin:/bin:/sbin/nologin
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
    adm:x:3:4:adm:/var/adm:/sbin/nologin
    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

    [root@python01 oldboy]# awk '1<NR && NR<6' /etc/passwd  
    bin:x:1:1:bin:/bin:/sbin/nologin
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
    adm:x:3:4:adm:/var/adm:/sbin/nologin
    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

    [root@python01 oldboy]# head -5 /etc/passwd|tail -4
    bin:x:1:1:bin:/bin:/sbin/nologin
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
    adm:x:3:4:adm:/var/adm:/sbin/nologin
    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

    8.在题3的基础上,使用命令调换passwd文件里root位置和/bin/bash位置?即将所有的第一列和最后一列位置调换?

    例:

    root:x:0:0:root:/root:/bin/bash

    /bin/bash:x:0:0:root:/root:root

    [root@python01 oldboy]# awk -F ":" 'NR==1{print $7":"$2":"$3":"$4":"$5":"$6":"$1}' /etc/passwd
    /bin/bash:x:0:0:root:/root:root
    [root@python01 oldboy]# awk 'NR==1{print $0}' /etc/passwd                                     
    root:x:0:0:root:/root:/bin/bash

    [root@python01 oldboy]# awk -F ":" '{print $7":"$2":"$3":"$4":"$5":"$6":"$1}' /etc/passwd 

    [root@python01 oldboy]# sed ir 's#(.*):x(.*)#321#g' /tmp/oldboy/passwd

    9.把/data目录及其子目录下所有以拓展名.txt结尾的文件中包含oldgirl的字符串全部替换为oldboy.

    结果是一样的: -n 1是表示分组有区别的

    [root@python01 oldboy]# find /data -type f -name "*.txt" |xargs cat

    [root@python01 oldboy]# find /data -type f -name "*.txt" |xargs -n 1 cat

    [root@python01 oldboy]# echo "oldgir1" >/data/{1..99}.txt
    -bash: /data/{1..99}.txt: ambiguous redirect
    [root@python01 oldboy]# echo "oldgir1" >/data/1.txt      
    [root@python01 oldboy]# echo "oldgir1" >/data/2.txt
    [root@python01 oldboy]# echo "oldgir1" >/data/3.txt
    [root@python01 oldboy]# echo "oldgir1" >/data/4.txt
    [root@python01 oldboy]# echo "oldgir1" >/data/5.txt
    [root@python01 oldboy]# echo "oldgir1" >/data/6.txt
    [root@python01 oldboy]# echo "oldgir1" >/data/7.txt
    [root@python01 oldboy]# echo "oldgir1" >/data/8.txt
    [root@python01 oldboy]# echo "oldgir1" >/data/9.txt
    [root@python01 oldboy]# echo "oldgir1" >/data/10.txt
    [root@python01 oldboy]# echo "oldgir1" >/data/11.txt
    [root@python01 oldboy]# echo "oldgir1" >/data/12.txt
    [root@python01 oldboy]# echo "oldgir1" >/data/13.txt
    [root@python01 oldboy]# echo "oldgir1" >/data/14.txt
    [root@python01 oldboy]# echo "oldgir1" >/data/15.txt
    [root@python01 oldboy]# echo "oldgir1" >/data/16.txt
    [root@python01 oldboy]# echo "oldgir1" >/data/17.txt

    将文件中的内容替换成要求的

    [root@python01 oldboy]# find /data -type f -name "*.txt" |xargs sed -i 's#oldgir#oldboy#g'

     最近8条命令的截取

    history |cut -c 8-

    10.查找/oldboy下所有七天以前的以log结尾的大于1M的文件移动到/emp目录下。

    [root@python01 oldboy]# mkdir -p /data/oldboy

    [root@python01 oldboy]# pwd
    /data/oldboy

    制造大文件执行10次下面的命令

    [root@python01 oldboy]# cat /var/log/dmesg >>123.log

    [root@python01 oldboy]# cat /var/log/dmesg >>456.log

    将系统日期往后推9天,今天是20190709,就可以查看7天以前的文件了

    [root@python01 oldboy]# date -s 20190718

    [root@python01 oldboy]# stat 123.log

    [root@python01 oldboy]# find /data/oldboy/ -type f -name "*.log" -size +1M -mtime +7
    /data/oldboy/123.log
    /data/oldboy/456.log

    后面的 ;是exec的固定参数

    [root@python01 oldboy]# find /data/oldboy/ -type f -name "*.log" -size +1M -mtime +7 -exec mv {} /tmp ;

    [root@python01 oldboy]# mv `find /data/oldboy/ -type f -name "*.log" -size +1M -mtime +7` /tmp

    [root@python01 oldboy]# find /data/oldboy/ -type f -name "*.log" -size +1M -mtime +7 |xargs -i mv {}  /tmp

    博客参考:https://blog.51cto.com/oldboy/1750481

    [root@python01 oldboy]# find /data/oldboy/ -type f -name "*.log" -size +1M -mtime +7 -exec cp {} /tmp ;

    此处用xargs不行:删除时可以用xargs

    [root@python01 oldboy]# find /tmp -type f -name "*.log" -size +1M -mtime +7 |xargs m

    11.什么是linux的运行级别,请描述linux的运行级别不同数字的含义?

    7已经没有那么多运行级别了。

    [root@python01 oldboy]# cat /etc/inittab

    # multi-user.target: analogous to runlevel 3
    # graphical.target: analogous to runlevel 5

    # systemctl set-default TARGET.target

    7.里面默认的是 3

    6.里面的运行级别:

    0  halt

    1  Single user mode

    2  Multiuser,wittout NFS

    3  Full multiuser mode

    4  unused

    5  X11

    6  reboot

    12.请描述buffer 和 cache的区别?

    写入到内存的缓存叫buffer

    从硬盘读取到内存的叫cache

    13.请说出你知道的下列字符在linux里可以代表的意义。

    ~  root家目录

      [root@python01 oldboy]# cd ~
      [root@python01 ~]# ls
      anaconda-ks.cfg  epel-release-latest-7.noarch.rpm  test

    `   上一次所在的目录

      [root@python01 ~]# cd -
      /data/oldboy

    .  当前目录

    ..  上一级目录

    |  管道符

      [root@python01 oldboy]# ip addr|sed -n '9p'
          inet 192.168.50.200/24 brd 192.168.50.255 scope global eth0

    >  输入重定向

      [root@python01 oldboy]# seq 10 >abc.txt
      [root@python01 oldboy]# cat abc.txt
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10

    >>  追加输入重定向

    <  输出重定向

      [root@python01 oldboy]# xargs -n 3 <abc.txt
      1 2 3
      4 5 6
      7 8 9
      10

    <<  追加输出重定向

    [root@python01 oldboy]# cat >>abc.txt <<EOF
    > DFJSAKLFDJ
    > DFJKSLAJF
    > FJDSKLAFJ
    > EOF

  • 相关阅读:
    我的公众号 猫和大叔(maohedashu)
    centos编译php时出现make: *** [sapi/fpm/phpfpm] Error 1
    如何在centos和linux等主机上安装 pstree
    如何在centos下卸载干净nginx
    监控感悟(一)
    ant design vue 获取上传图片的像素
    ant vue中atree默认展开指定的树节点不起作用
    uniapp中组件属性设置不生效的解决方案
    vue+canvas实现简易画板
    ant design vue级联选择懒加载省市区三级数据
  • 原文地址:https://www.cnblogs.com/ericchengge677/p/11152385.html
Copyright © 2011-2022 走看看