• Linux入门2


    请设置系统时间和硬件时间保持一致:# hwclock --hctosys

    sed用法:

    1、删除/etc/grub.conf文件中行首的空白符;
    sed -r 's@^[[:space:]]+@@g' /etc/grub.conf
    2、替换/etc/inittab文件中"id:3:initdefault:"一行中的数字为5;
    sed 's@(id:)[0-9](:initdefault:)@152@g' /etc/inittab
    3、删除/etc/inittab文件中的空白行;
    sed '/^$/d' /etc/inittab

    awk:
        awk是一个强大的文本分析工具,
        相对于grep的查找,sed的编辑,
        awk在其对数据分析并生成报告时,显得尤为强大。
        简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。

    awk工作流程是这样的:先执行BEGING,然后读取文件,读入有/n换行符分割的一条记录,然后将记录按指定的域分隔符划分域,填充域,$0则表示所有域,$1表示第一个域,$n表示第n个域,随后开始执行模式所对应的动作action。接着开始读入第二条记录······直到所有的记录都读完,最后执行END操作。

    # awk -F: '{print $1 " " $7}' /etc/passwd (查看用户的用户名和shell名称)

    # awk -F: 'BEGIN{I=0;print "username your shell"}{I++;print I "" $1 " " $7}END{print "end."}' /etc/passwd (使用循环输出用户的用户名和shell命令)

    awk 'BEGIN {count=0;print "[start]user count is ", count} {count=count+1;print $0;} END{print "[end]user count is ", count}' /etc/passwd

    结果:[start]user count is  0
            root:x:0:0:root:/root:/bin/bash
       ...
       [end]user count is  20

    显示/etc/passwd的账户:

    awk -F ':' 'BEGIN {count=0;} {name[count] = $1;count++;}; END{for (i = 0; i < NR; i++) print i, name[i]}' /etc/passwd
    统计某个文件夹下的文件占用的字节数
    ls -l |awk 'BEGIN {size=0;} {size=size+$5;} END{print "[end]size is ", size}'
    [end]size is  8657198
    如果以M为单位显示:
    ls -l |awk 'BEGIN {size=0;} {size=size+$5;} END{print "[end]size is ", size/1024/1024,"M"}'
    [end]size is  8.25889 M
    注意,统计不包括文件夹的子目录。
    显示/etc/passwd的账户
    awk -F ':' 'BEGIN {count=0;} {name[count] = $1;count++;}; END{for (i = 0; i < NR; i++) print i, name[i]}' /etc/passwd

    结果为:

    0 root
    1 daemon
    2 bin
    3 sys
    4 sync

    只查询登录了的用户,即shell名称的结尾是/bin/bash

     awk -F: 'BEGIN {I=0;print "username your shell"} /bash$/{I++;print I " " $1 " " $7 } END {print "end."} ' /etc/passwd
     awk -F: 'BEGIN {I=0;print "username your shell"} {if($7=="/bin/bash") {I++;print I " " $1 " " $7} } END {print "end."} ' /etc/passwd

    显示最近登录的5个账号:

    last -5

    last -3 | awk '{print $1}':自动按制表符隔开;查出最近3个用户的用户名

    more /etc/passwd 可查看用户的shell等用户信息

    # cut -d: -f7 /etc/passwd | sort -u 注:sort -u指相同的数据出现一次(取出当前用户所有的shell,且shell只显示一次,且按顺序显示)
    # head -6 /etc/inittab | tail -1(取出/etc/inittab文件的第六行)
    # tail -9 /etc/passwd | head -1 | cut -d: -f1,7 | tee /tmp/users(取出文件中倒数第9个用户的用户名和shell,显示到屏幕上并保存在/tmp/user中)
    #ls /usr/bin | wc -l (统计/usr/bin目录下的文件个数)

  • 相关阅读:
    js 生成m位随机数入门实例
    解决JS浮点数(小数)计算加减乘除的BUG
    JS 用sort方法排序字符串
    CSS3 transform rotate(旋转)锯齿的解决办法
    常用JS正则表达式
    Javascript 利用a标签自动解析URL分析网址实例
    移动前端头部标签(HTML5 head meta)
    JavaScript判断移动端及pc端访问不同的网站
    mysql 按日期分组
    css hover控制其他元素
  • 原文地址:https://www.cnblogs.com/Mandylover/p/5068110.html
Copyright © 2020-2023  润新知