• 第二波命令-下部


    第1章 显示行号

    打印配置文件nginx.conf内容的行号及内容 如何做?
    创建环境

    [root@nfsnobody ~]# mkdir /nfsnobody &&
    echo stu{01..10} |xargs -n1 > /nfsnobody/ngingx.conf
    

    1.1 方法一 cat

    -n 显示行号

    [root@nfsnobody nfsnobody]# cat -n
    ngingx.conf    查看文件有几行 cat -n
    1  stu01
    2  stu02
    3  stu03
    4  stu04
    5  stu05
    6  stu06
    7  stu07
    8  stu08
    9  stu09
    10  stu10
    

    1.2 方法二 vim

    vim /nfsnobody/nginx.conf
    进入后
    :set nu    显示行号
    :set
    nonu  取消显示行号
    

    1.3 方法三 awk

    NR   行号
    $1   表示第一列
    $0   表示一整行的内容

    [root@nfsnobody ~]# awk '{print NR,$1}'
    /nfsnobody/ngingx.conf
    1 stu01
    2 stu02
    3 stu03
    4 stu04
    5 stu05
    6 stu06
    7 stu07
    8 stu08
    9 stu09
    10 stu10
    

    1.4 方法四

    nl
    nl  number of lines  专门用于显示行号的

    [root@nfsnobody nfsnobody]# nl ngingx.conf
    1  stu01
    2  stu02
    3  stu03
    4  stu04
    5  stu05
    6  stu06
    7  stu07
    8  stu08
    9  stu09
    10  stu10
    

    1.5 第五种方法 grep

    -n 显示行号
    . 正则表达式  表示任意一个字符

    [root@nfsnobody nfsnobody]# grep -n "."
    ngingx.conf
    1:stu01
    2:stu02
    3:stu03
    4:stu04
    5:stu05
    6:stu06
    7:stu07
    8:stu08
    9:stu09
    10:stu10
    

    1.6 第六种方法 sed

    =  表示显示行号

    [root@nfsnobody nfsnobody]# sed '=' ngingx.conf|xargs -n2
    1 stu01
    2 stu02
    3 stu03
    4 stu04
    5 stu05
    6 stu06
    7 stu07
    8 stu08
    9 stu09
    10 stu10
    

    1.7 第七种方法 less (了解)

    [root@nfsnobody logs]# less -N
    /nfsnobody/ngingx.conf
    

    1.8 练习题

    显示/proc/mounts
    文件的行号和第1列和第3列
    加上 column -t 是为了 按列显示 可以不加

    [root@nfsnobody nfsnobody]# awk '{print NR,$1,$3}'
    /proc/mounts |column -t
    1
    rootfs         rootfs
    2
    proc           proc
    3
    sysfs          sysfs
    4
    devtmpfs       devtmpfs
    5
    devpts         devpts
    6
    tmpfs          tmpfs
    7
    /dev/sda3      ext4
    8
    none           selinuxfs
    9
    devtmpfs       devtmpfs
    10
    /proc/bus/usb  usbfs
    11  /dev/sda1      ext4
    12
    none           binfmt_misc
    

    第2章 关于find下mtime参数

    2.1 查找删除七天之前的日志

    已知nginx服务的访问日志按天记录在服务器本地目录/app/logs下,由于磁盘空间紧张,现在要求只能保留最近7天的访问日志!请问如何解决?请给出解决办法或配置或处理命令。(提示:可以从nginx服务配置上着手,也可以从生成出来的日志上着手。)

    创建环境
    mkdir -p /app/logs
    cd /app/logs
    for  time
    in  {01..20};do  date -s "201805$time"; touch
    access_www_$(date +%F).log ;done
    date -s "20180520"
    date 显示时间 修改时间
    date -s  修改时间
    搜索七天以前的
    [root@nfsnobody logs]# find -mtime +7|xargs ls
    -l
    为方便 这边使用查看ls 代替删除
    实际工作中 ls换成rm即可
    [root@nfsnobody logs]# find /app/logs/ -type f
    -name "*.log" -mtime +7|xargs ls -l
    ##完整格式
    

    2.2 练习题

    找出/app/logs 下面以.log结尾的7天之前的文件
    显示详细信息(ls -l) (3种方法)

    2.2.1 方法一
    [root@nfsnobody logs]# find /app/logs/ -type f
    -name "*.log" -mtime +7 |xargs ls -l
    
    2.2.2 方法二
    [root@nfsnobody logs]# ls -l $(find /app/logs/
    -type f -name "*.log" -mtime +7)
    
    2.2.3 方法三
    [root@nfsnobody logs]# find /app/logs/ -type f
    -name "*.log" -mtime +7 -exec ls -l {} ;
    

    第3章 运行级别及iptables补充

    3.1 运行级别补充

    查看运行级别  runlevel
    切换 init

    3.2 关闭iptable

    装完Centos系统后,希望iptables,仅关闭3运行级别
    怎么做

    [root@nfsnobody logs]# chkconfig |grep
    "ipt"   ##查看
    iptables
    0:off   1:off   2:on    3:on    4:on    5:on    6:off
    [root@nfsnobody logs]# chkconfig --level 3 iptables off   ##关闭3
    [root@nfsnobody logs]# chkconfig |grep
    "ipt"              ##关闭后检查
    iptables        0:off   1:off   2:on    3:off   4:on    5:on    6:off
    

    第4章 单独取一列命令补充

    已知如下命令及结果:

    [nfsnobody@test ~]$ echo "I am nfsnobody,myqq is
    31333741">>nfsnobody.txt
    [nfsnobody@test ~]$ cat nfsnobody.txt
    I am nfsnobody,myqq is 31333741
    

    创建环境

    mkdir /nfsnobody
    echo "I am nfsnobody,myqq is
    31333741">/nfsnobody/nfsnobody.txt
    

    4.1 方法一 sed |awk

    [root@nfsnobody nfsnobody]# sed 's#,# #g' nfsnobody.txt |awk '{print $3,$6}'
    nfsnobody 31333741
    

    4.2 方法二 tr | awk

    tr
    sed命令的阉割版
    tr   一对一的替换

    [root@nfsnobody nfsnobody]# tr "," " " <nfsnobody.txt |awk '{print $3,$6}
    nfsnobody 31333741
    

    4.3 方法三 tr | cut

    -d  指定分隔符
    -f  某一列

    [root@nfsnobody nfsnobody]# tr "," " " < nfsnobody.txt |cut -d " " -f3,6
    nfsnobody 31333741
    

    4.4 方法四 sed | cut

    [root@nfsnobody nfsnobody]# sed 's#,# #g' nfsnobody.txt |cut -d " " -f3,6
    nfsnobody 31333741
    

    4.5 方法五 awk

    -F  指定新的分隔符
    $NF  表示最后一列

    [root@nfsnobody nfsnobody]# awk -F "[,]" '{print $3,$6}' nfsnobody.txt
    nfsnobody 31333741
    

    4.6 方法六 sed

    [root@nfsnobody nfsnobody]# sed 's#I am ##g' nfsnobody.txt |sed 's#,myqq is # #g'
    nfsnobody 31333741
    

    4.7 练习题

    显示 /etc/passwd
    第1列和第3列内容
    要求格式显示为:
    USER:第1列内容  UID:第3列内容
    USER:第1列内容  UID:第3列内容
    USER:第1列内容  UID:第3列内容
    USER:第1列内容  UID:第3列内容
    USER:第1列内容  UID:第3列内容

    [root@nfsnobody nfsnobody]# awk -F "[:]" '{print "USER:"$1,"UID:"$3}' /etc/passwd
    

    第5章 认识wc命令

    5.1 统计信息
    wc 统计文件的信息

    [root@nfsnobody nfsnobody]# wc /etc/services      统计文件的信息
    10774  58108 641020 /etc/services
    [root@nfsnobody nfsnobody]# wc -l /etc/services   只看有多少行
    10774 /etc/services
    

    5.2 统计总数
    统计出/etc目录下  以.conf 结尾的文件的数量

    [root@nfsnobody nfsnobody]# find /etc/ -type f -name "*.conf" |wc -l
    195
    

    第6章 egrep

    过滤出/etc/services 文件包含3306或1521两数据库端口的行的内容。
    |  扩展正则表达式 egrep ==grep -E

    [root@nfsnobody nfsnobody]# grep -E "3306|1521" /etc/services
    mysql
    3306/tcp                        #
    MySQL
    mysql
    3306/udp                        #
    MySQL
    ncube-lm
    1521/tcp                # nCube
    License Manager
    ncube-lm
    1521/udp                # nCube
    License Manager
    [root@nfsnobody nfsnobody]# egrep "3306|1521" /etc/services
    mysql
    3306/tcp                        #
    MySQL
    mysql
    3306/udp                        #
    MySQL
    ncube-lm
    1521/tcp                # nCube
    License Manager
    ncube-lm
    1521/udp                # nCube
    License Manager
    
  • 相关阅读:
    [Java] 理解JVM之二:类加载步骤及内存分配
    [Java] 理解JVM之三:垃圾回收机制
    [Java] I/O底层原理之一:字符流、字节流及其源码分析
    [Java] 集合框架原理之二:锁、原子更新、线程池及并发集合
    [Web] Web请求过程之一:HTTP
    [Web] Web请求过程之二:DNS 域名解析
    [Java] 集合框架原理之一:基本结构与源码分析
    Hello World
    c++数据结构图论创建一个导航图,实现基本功能
    jquery1.9: unrecognized expression: a[@href=
  • 原文地址:https://www.cnblogs.com/wenrulaogou/p/11982089.html
Copyright © 2020-2023  润新知