linux学习分享(第三周)

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

 ~]# grep -v /sbin/nologin /etc/passwd
root:x:0:0:root:/root:/bin/bash
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
~]# grep -v /sbin/nologin /etc/passwd |wc -l
4

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

 ~]# cut -d ":" -f1,3,7 /etc/passwd|sort -n -t":"  -k2|tail -1
polkitd:999:/sbin/nologin

3、统计当前连接本机的每个远程主机IP的连接数,并按从大到小排序

~]# ss -ntl | grep "LISTEN" |tr -s ' ' : |cut -d ":" -f6|sort |uniq -c |sort -nr

4、编写脚本disk.sh,显示当前硬盘分区中空间利用率最大的值

vim patition_usage.sh

#!/bin/bash
field1=`df -h |grep -v "system"|tr -s ' ' %|cut -d % -f1,5|sort -nr -t % -k2|head -1 |cut -d % -f1`
field2=`df -h |grep -v "system"|tr -s ' ' %|cut -d % -f1,5|sort -nr -t % -k2|head -1 |cut -d % -f2`
echo "the maximum of the patition is : $field1"
echo "the usage of the patition is : $field2%"

5、编写脚本 systeminfo.sh,显示当前主机系统信息,包括:主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小

#!/bin/bash
hn=`hostname`
os_version=`cat /etc/redhat-release`
kernel_version=`uname -r`
cpu_model=`cat /proc/cpuinfo|grep "name"|tr -s " "|cut -d : -f2`
disk_detail=`fdisk -l |grep "^Disk /dev/sd*"|cut -d " " -f1-3`
disk_sum=`fdisk -l |awk  '/^Disk \/dev\/sd/{sum+=$3}END{print sum}'`
ipaddrlist=`ip a |awk '/inet /{print $2}'`
echo "$hn"
echo "$os_version"
echo "$kernel_version"
echo "$cpu_model"
echo "$disk_detail"
echo "the disk sum is :$disk_sum G"
echo "$ipaddrlist"

6、20分钟内通关vimtutor(可参考https://yyqing.me/post/2017/2017-02-22-vimtutor-chinese-summary)

   第一课 摘要


  1. 光标移动使用箭头或者hjkl四个字母
   h (左) j (下)       k (上)     l (右)

  2. 从shell开始启动vim的命令是:vim 文件名 <ENTER>

  3. 退出VIM:     
      放弃所有更改退出: <ESC>   :q!   <ENTER>  .
      保存更改退出:     <ESC>   :wq   <ENTER>  .

  4. 删除光标处的字符:  x

  5. 插入字符:
      在光标之前插入字符: i
      在行尾添加字符:    A
 第二课 摘要

  1. 删除字符,从光标开始直到遇到下一个单词 dw

  2. 删除字符,从光标开始直到当前行的末尾  d$
  
  3. 删除一整行  dd
  
  4. 重复一个动作,可以在动作之前加一个数字: 2w
  
  5. 一些操作的格式是:
        操作符  [数字]  移动
    操作符:要做什么,例如字母d是用于删除
    数字: 你要重复的次数
    移动: 你的操作要作用在多少文本内容上,例如w就是一个单词,$是到行尾
  
  6. 把光标移动到行首: 0
  
  7. 撤销之前的动作: u  (小写u)
     撤销这一行的所有改动: U  (大写U)
     撤销刚才的”撤销“: CTRL-R
             第三课 摘要

  1. 打印出你刚刚删除的内容: p
     它会把内容打印在你光标的后面
  
  2. 喜欢光标位置的字符:先输入r,然后输入新的字符
  
  3. 改动类操作符可以让你改变从当前光标到”motion“的位置
     例如,
     ce 可以改变从光标到单词的末尾
     c$ 可以改变从光标都行末尾

  4. 改动类操作的格式是:
     c   [数字]   移动
 第四课 摘要

  1. CRTL-G 显示你的光标在文档中的位置信息
     移动到文件末尾:  G
     移动到某一行: 行号  G
     移动到第一行   gg

  2. 前向搜索,输入 / 然后紧跟你要搜索的字符串,
     后向搜索,输入 ? 
     输入 n 来找到下一个出现的地方
     输入 N 来找到上一个出现的地方
     CTRL-O可以回到之前的编辑的位置
     CTRL-I可以跳到新的位置

  3. 输入 % 来跳转到与之匹配的括号,当光标在 ( ) [ ] { } 

  4. 替换改行的第一个old单词为new
     :s/old/new
     替换改行的所有old单词为new
     :s/old/new/g
     替换两个#之间的单词
     :#,#s/old/new/g
     替换文件中所有的单词
     :%s/old/new/g
     每一个替换之前都需要确认的话,在命令末尾加一个 c
     :%s/old/new/gc
 第五课 摘要

  1. :!命令   会执行一个外部命令
     
     一些例子如下:
    (MS-DOS)   (Unix)
    :!dir       :!ls       列出目录
    :!del FILE  :!rm FILE  删除文件

  2.  :w 文件名  把当前vim文件另存为某个文件名

  3.  v  motion  :w FILENAME  把选中的内容另存为到文件

  4.  :r FILENAME  从某个文件中取出内容添加到当前的位置

  5.  :r !dir  把列出目录命令的结果添加到光标的位置
             第六课 摘要
  1. 小写字母 o  在当前行的下方插入一个空白行,并进入编辑模式
     大写字母 O  在当前行的上方插入一个空白行,并进入编辑模式

  2. 小写字母  a  要在光标的后面插入字符.
     大写字母  A  要在该行的末尾添加字符

  3. e 移动到单词的末尾

  4. y操作符 用来拷贝文本, p 用来粘贴

  5. 大写字母 R 进入 替换模式,直到按下<ESC>键

  6. ":set xxx"来设置选项 "xxx", 举例选项如下:

    'ic' 'ignorecase' 搜索的时候忽略大写小写
    'is' 'incsearch'  在输入搜索目标字符串的时候实时匹配并显示
    'hls' 'hlsearch'  高亮匹配项
     这些选项,可以用缩写也可以用简写

  7. 在选项前面加一个”no“来关闭该选项 :set noic
 第七课 摘要

  1. 输入 :help 或者 按下<F1>or<HELP> 来打开帮助窗口

  2. 输入  :help cmd  来打开命令cmd的帮助文档 .

  3. 输入  CTRL-W CTRL-W  来跳转到另外的窗口

  4. 输入  :q  来关闭帮助窗口

  5. 创建一个vimrc文件来保存你自己喜欢的设置

  6. 当输入一个  :  时, 按下 CTRL-D 来看有哪些命令来补全.
     按下 <TAB> 来补全.
posted @ 2021-07-26 09:27  henry_jia  阅读(44)  评论(0)    收藏  举报