zoukankan      html  css  js  c++  java
  • 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
     
     
     
     
     
     
     
  • 相关阅读:
    English 2
    速算24点
    心理学1
    从微服务到函数式编程
    034 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 01 流程控制概述
    033 01 Android 零基础入门 01 Java基础语法 03 Java运算符 13 运算符和表达式知识点总结
    032 01 Android 零基础入门 01 Java基础语法 03 Java运算符 12 运算符和if-else条件语句的综合案例——闰年问题
    031 01 Android 零基础入门 01 Java基础语法 03 Java运算符 11 运算符的优先级
    030 01 Android 零基础入门 01 Java基础语法 03 Java运算符 10 条件运算符
    029 01 Android 零基础入门 01 Java基础语法 03 Java运算符 09 逻辑“非”运算符
  • 原文地址:https://www.cnblogs.com/chenlifan/p/13332548.html
Copyright © 2011-2022 走看看