N59030-第三周作業

  1. 统计出/etc/passwd文件中其默认shell为非/sbin/nologin的用户个数,并将用户都显示出来

    $ cat /etc/passwd |grep -v '/sbin/nologin' |wc -l
    $ cat /etc/passwd |grep -v '/sbin/nologin' |cut -d ":" -f 1
    

  2. 查出用户UID最大值的用户名、UID及shell类型

    $ cat /etc/passwd |sort -t ":" -k 3 -n |tail -1 |cut -d ":" -f 1,3,7
    
  3. 统计当前连接本机的每个远程主机IP的连接数,并按从大到小排序

    ## RedHat系列|SuSE|Debian系列
    $ netstat -t |grep -e "\(scientia-ssdb\|ssh\|frox\)" |tr -s " "|cut -d " " -f 5|cut -d ":" -f 1 |sort|uniq -c |sort -nr
    
  4. 编写脚本disk.sh,显示当前硬盘分区中空间利用率最大的值

    #!/bin/bash
    df -hP |sed -n '2,$p' |tr -s " " |sort -t " " -k 5 |tail -1 |awk '{print "分割區 "$6,"使用率 "$5}'
    
  5. 编写脚本 systeminfo.sh,显示当前主机系统信息,包括:主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小

    #/bin/bash
    
    hostname -I > /dev/null 2>&1
    if [ $? -eq 0 ]; then
      IP=`hostname -I`
    else
      ## For SuSE
      IP=`hostname -i`
    fi
    
    if [ -f "/etc/redhat-release" ]; then
      OS=`cat /etc/redhat-release`
    else
      ## For Debian 系列
      OS=`cat /etc/os-release |grep "PRETTY_NAME" |cut -d '"' -f 2`
    fi
    
    lsblk |grep 'disk' |tr -s " " |sort -t " " -k 1 |cut -d " " -f 1,4 > /tmp/hd.txt
    
    echo -e "主机名:" `hostname`
    echo -e "IPv4地址:" $IP
    echo -e "操作系统版本:" $OS
    echo -e "内核版本:" `uname -r`
    echo -e "CPU型号:" `cat /proc/cpuinfo |grep "model name" |uniq |cut -d ":" -f 2`
    echo -e "内存大小:" `cat /proc/meminfo |grep MemTotal |tr -s " " |cut -d " " -f 2,3`
    echo -e "硬盘大小:" 
    cat /tmp/hd.txt
    
  6. 20分钟内通关vimtutor

    • Normal 模式

      類型 說明
      移動 小寫模式
      取代 r=取代游標處的字母
      cw=剪下游標處之後的詞(到空白或標點符號),並進入插入模式
      剪下 x=往後剪下一個字母
      dw=剪下一個單詞(含空白)
      de=剪下一個單詞(不含空白)
      d$=從游標處剪下到行末
      dd=剪下整行
      重複 格式為 [numer] key-world object 或 key-world [numer] object
      例如剪下5行為 5ddd5d
      貼上 p
      顯示訊息 Ctrl+g=顯示游標所在的行列訊息
      移動 [number] G或Shift+g=游標移動到指定的行(等同:number),未指定則到文件最後一行(等同:$)
      撤銷 u=撤消前一次的命令
      U=撤消在一行中所做的改動
    • Insert 模式

      類型 說明
      插入 i=游標之前
      I=移到行首插入
      a=游標之後
      A=移到行尾插入
      o=向下新增一行
      O=向上新增一行
    • Command 模式(按下 : 進入)

      類型 說明
      存檔 w=存檔
      q=離開
      !=強制
      移動 1=文件第一行
      [number]=到指定的行
      $=文件最後一行
      撤銷 u=撤消前一次的命令
      搜尋 /=往後尋找
      ?=向前尋找
      註:搜尋到關鍵字後按 n 繼續搜尋,按 Shift+N 往回搜尋。
      取代 #,#s/old/new/gc
      若需要限定範圍,則加上 #,#(例如 3,7)
      若取代前要詢問,則在g後面加上c
      執行外部命令 !<command>
      例如 :!ls=列出當前目錄底下的檔案/目錄
      設置類 set nu=顯示行號
      set ic=忽略大小寫
      set hls is=顯示高亮
      在線幫助 help
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 who | cut -...
    andrewjs阅读 1,735评论 0 0
  • 1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 who | cut -...
    stevendss阅读 1,534评论 0 0
  • 写作:N27_loong 2017-7-27[TOC] 一 本周内容回顾 学习要点 第五天:1、Linux文件权限...
    N27_loong阅读 1,144评论 1 0
  • 1、列出当前系统上所有已经登录的用户的用户名,注意:同一用户登录多次,则只显示一次即可。 [root@localh...
    随风而落随心而动阅读 1,729评论 0 1
  • 1、列出当前系统上所有已经登陆的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 who | cut -...
    华炼阅读 955评论 0 1