• Linux基础练习题答案7.15


    1.取出系统中的文件/etc/passwd的第七列(以:为分隔符)。
    awk  -F:   '{print  $7}'  passwd
    sed  -r  's#(.*:)(.*)#2#g' passwd

    2.已知文件test.txt内容如下,请给出输出test.txt文件内容时,不包含oldboy字符串的命令。
    test
    qiudao
    oldboy
    grep -v oldboy test.txt
    awk  '!/oldboy/'   test.txt
    sed   '/oldboy/d'  test.txt
    3.只查看/etc/passwd文件内第5到第15行的内容
    head -15 /etc/passwd | tail -10
    grep -n  '.*' |grep -wA  10 '^5'
    awk  'NR>=5 || NR<=15' /etc/passwd
    awk 'NR>4 && NR<16' /etc/passwd
    sed  -n  '5,15p' /etc/passwd
    4.把test.txt文件中的oldboy替换为oldgirl,给出命令
    sed   's#oldboy#oldgirl#g'  test.txt
     
    5.test.txt 的内容如下,要求过滤出不包含qiudao的行。有几种方法可以实现
    oldboy
    oldgirl
    qiudao
    grep -v 'qiudao'  test.txt
    sed -n '/qiudao/p' test.txt
    awk '/qiudao/' test.txt
    6.把文件/etc/passwd文件中的/sbin/nologin替换为/bin/bash
    sed   's#/sbin/nologin#/bin/bash #g'  /etc/passwd
    7.把/etc/selinux/config文件中的SELINUX=enforcing行中的enforcing替换成disabled
    sed   '/^S/SELINUX=enforcing/s#enforcing#disabled#g'  /etc/selinux/config
    8.现将文件b.txt 中的所有123 替换成def,请问如何实现?
    sed  's#123#def#g'   b.txt  
    9.将文件的test.txt中的第10行的oldboy改为oldgirl
    sed  '10s#oldboy#oldgirl#g'   test.txt
    10.请执行命令取出linux中eth0的IP地址(请用cut,有能力者也可分别用awk,sed命令答)。
    ifconfig eth0 |head -2|tail -1|cut -d ' ' -f10
    ifconfig eth0|sed -nr '2s#(.*et )(.*)(n.*$)#2#gp'
    ifconfig eth0 | awk 'NR==2{print $2}'
    ip a s eth0|sed -nr 's#(.*et )(.*)(/.*)#2#gp'
    ip a s eth0|awk -F '[ /]' 'NR==3{print $6}'
    11.使用命令调换/etc/passwd文件里 root 位置和/bin/bash 位置? 即将所有的第一列和最后一列位置调换?
    awk -F: '{print $NF":"$2":"$3":"$4":"$5":"$6":"$1}' passwd
    awk -F:  '{a=$1;$1=$NF;$NF=a;print} ' passwd | tr ' ' ':'
    sed -r 's#(^.*)(:x.*:)(.*)#321#g'
    12.先拷贝,再删除/etc/passwd文件的前三行内容。
    cp /etc/passwd ./
    sed -n '1,3p' passwd
    13.使用sed命令打印出/etc/passwd文件的第一行到第三行
    sed  -n '1,3p'  /etc/passwd
    14.过滤出/etc/services 文件包含3306或1521两数字所在的行的内容。(三种方法)
    sed  -nr '/3306 | 1521/p'  /etc/services
    awk  '/3306 | 1521/'  /etc/services
    grep -E '3306|1521' /etc/services
    15.在linux 系统中,当LAN(局域网)内没有条件记案例DNS 服务器,但又想让局域网内的用户可以使用计算机名互相访问时,应配置( )文件(请写全路径)
    /etc/hosts
    16.写出redhat中,配置网卡及dns的配置文件是什么?有什么区别?
    #网卡配置文件
    /etc/sysconfig/network-scripts/ifcfg-eth0   重启网络服务生效
    #DNS配置文件
    /etc/resolv.conf       立即生效 
    17.若要将鼠标从VM中释放出来,可按()键完成。
    ctrl + Alt
    18.如何统计/etc下有多少个目录,不包括隐藏目录,只显示目录个数。
    tree -d /etc  | tail -1
    19.统计secure.log文件中每个ip地址破解你用户密码的次数(包含Failed password字符串的行属于破解密码的,日志群里有,文件很大,建议不要使用cat打开)。
    awk '/Failed password/{print $(NF-3)}' secure.log|sort|uniq -c|sort -rn  | head
    20.输入last,统计当前连接本机的每个远程终端IP的连接总次数
    last|grep 'pts'|awk  '{print $3}' |sort|uniq -c
    21.输入lscpu,取出当前系统的cpu核心数
     lscpu | head -7  | tail -1 |  awk -F:  '{print  $2}'
    lscpu |sed -nr '7s#(C.*:)( .*$)#2#gp'
    lscpu|grep -E '^Co'|awk -F: '{print $2}'
     lscpu | grep '^Core' | awk  '{print $NF}'
    22.输入df -h,取出当前系统根分区剩余可用磁盘空间
    df -h | awk  'NR==2{print  $4}'
    df -h | awk '//$/{print $4}'
    23.显示/proc/meminfo文件中以s开头的行(忽略大小写)
     sed  -nr  '/^s|^S/p'    /proc/meminfo
    awk    '/^s|^S/'     /proc/meminfo
    grep -i  '^s'      /proc/meminfo
    24.执行命令echo "I am qls,myqq is 1176494252">/oldboy/oldboy.txt,
    现在需要从文件中过滤出“qls”和“1176494252”字符串,请给出命令?(最少三种方法)
    sed -r 's#.*m (.*)(,.*s)(.*)#13#g'  oldboy.txt
    awk -F '[ ,]' '{print $3,$6}'  /oldboy/oldboy.txt
    tr ',' ' ' /oldboy/oldboy.txt | cut -d ' ' -f3,6
    25.接上题,如果需要从文件中过滤出“qls,1176494252”字符串,请再给出命令?
    sed -r 's#(.*m )(.*)(,.*s)(.*)#24#g' /oldboy/oldboy.txt
    awk   '{print  $3" "$6}'  /oldboy/oldboy.txt |tr ',' ' '
    cut -d ' ' -f3,6  /oldboy/oldboy.txt | tr ',' ' '
    26.我想在/data/oldboyedu目录下面创建 一个oldboy.txt文件,出现了如下报错。
    [root@qiudao ~]# touch /data/oldboyedu/oldboy.txt
    touch: cannot touch ‘/data/oldboyedu/oldboy.txt’: No such file or directory
    问:为何出现这样的错误?该怎么解决?
    /data/oldboyedu  没有这个目录
    mkdir /data/oldboyedu/ -p
    27.翻译题
    01).command not found       #没有这个命令      
    02).No such file or directory       #没有这个目录或文件    
    03).File exists        #文件已存在     
    04).Is a directory         #它是个目录    
    05).Not a directory                        #不是这个目录
    28.在/backup下创建10个.txt的文件,找到/backup目录下所有后缀名为.txt的文件
    touch  /backup/{01..10}.txt
    find /backup/  -type f  -name '*.txt'        ll  /backup/*.txt

    29.显示/etc/services文件的第10行到第20行的内容?
    head -20 /etc/services | tail -10
    grep -n '.*' /etc/services | grep -wA  10  '^10'
    sed -n '10,20p'  /etc/services
    awk  'NR>=10 && NR<=20'   /etc/services
    awk 'NR>9 && NR<21' /etc/services
    more +10 -10 /etc/services
    30.显示文件/etc/services的大小?
    wc -c /etc/services
    ll /etc/services
    31.以“:”为分隔符,取出/etc/passwd第一行的第七列也就是最后一列的内容?(两种方法)
    awk -F:  'NR==1{print  $7}'   /etc/passwd
    sed -nr '1s#(r:)(.*$)#2#gp'  /etc/passwd
    sort  -t ':' -f7  /etc/passwd
    32.找出/var/log目录中以.log结尾的文件,并显示这些文件的属性信息。
    ll /var/log/*.log
    33.寻找名称为mytest.log的文件
    find / -type f -name 'mytest.log' 
    34.用命令行更改config.txt文件,把里面的“name”更改为“address”
    sed 's#name#address#g'   config.txt
    35.把/etc/passwd文件中的:替换成#
    sed  's#:###g'  /etc/passwd
    tr ':' '#' /etc/passwd
    36.说明下面这几个文件的作用:/etc/hostname、/etc/resolv.conf、/etc/hosts
    /etc/hostname: 系统主机名配置文件
    /etc/resolv.conf :DNS配置文件
    /etc/hosts:IP地址与主机名映射关系文件
    37.尝试使用sed命令的后向引用和awk命令取出ip地址,请分别使用ip和ifconfig命令取出。
    ip a s eth0|sed -nr '3s#(.*et )(.*)(/.*)#2#gp'
    ip a s eth0|awk -F '[ /]' 'NR==3{print $6}'
    ifconfig eth0|sed -nr '2s#(.*t )(.*)(  n.*)#2#gp'
    ifconfig eth0|awk 'NR==2{print $2}'
    38.在123.txt文件末尾插入‘test’。(两种方法)
    sed '$atest'  123.txt
    echo  'test' >> 123.txt
    cat >>123.txt<<EOF
    test
    EOF
    39.将/etc/passwd文件中第一行到第五行的root替换为admin?
    sed  '1,5s#root#admin#g'  /etc/passwd
    40.统计nginx访问日志access.log中每个访问ip出现次数最多的10个。(已知ip在第一列,日志群里有)
    awk '{print $1}' access.log | sort |uniq -c  |sort -nr   | head
    41.取出下列文件的权限如:0644 ?(两种方法)
    [root@qls ~]# stat  qls.txt
      File: ‘123.txt’
      Size: 44         Blocks: 8          IO Block: 4096   regular file
    Device: 803h/2051d Inode: 67160518    Links: 1
    Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
    Access: 2019-07-27 16:55:57.055131412 +0800
    Modify: 2019-07-27 16:55:50.098131214 +0800
    Change: 2019-07-27 16:55:50.101131214 +0800
     stat  qls.txt | sed -nr '4s#(.*s: ()(.*)(/-.*)#2#gp' 
    stat  qls.txt | awk -F '[(/]' 'NR==4{print $2}'
     
    42.删除qls.txt文件中的第10行到20行。(两种方法)
    sed  '10,20d' qls.txt
    awk  'NR<10 || NR>20' qls.txt
     
     
     
     
     
     
     
  • 相关阅读:
    Java 代码中如何调用 第三方Api
    如何编写README.md
    Gof 设计模式
    系统架构师-笔记
    我的账户
    软件设计师-成绩查询
    spring data jpa
    日志 logback
    spring boot 整合 Camunda
    Spring 中 bean 的生命周期?
  • 原文地址:https://www.cnblogs.com/chenlifan/p/13332548.html
Copyright © 2020-2023  润新知