本文由FunTester 学习社区小伙伴输出,后续还会有各路学习笔记分享,欢迎大家关注支持。

文件系统

Linux 工作问题解决办法

MobaTextEditor 乱码解决

根本原因如下

windows下每一行的结尾是\n\r,而在linux下文件的结尾是\n,这样window写编辑的shell脚本拷贝到linux下时,每一行的结尾就会多出来一个字符\r,这个\r字符会被显示为^M,
同样原理使用MobaTextEditor读取从windows传到linux下文件会乱码

解决方法

  1. sed -i 's/\r$//' filename #flename 即 shell 脚本文件名
  2. 使用 dos2unix,执行相关命令 dos2unix xxx.sh

vim 命令

vim 有三种模式

  1. 命令行模式(光标定位)
    1. hjkl //上下左右
    2. 0 $ //行首行尾
    3. gg G //页首页尾
    4. 3G //进入第三行
    5. u //撤销恢复
    6. yy //复制一整行
    7. dd //删除一整行
    8. p c //粘贴 剪切
  2. 文本输入模式
  3. 末行模式(也叫退出模式)

工作模式设定

  1. :set //指定信息
  2. :set nu //添加行数
  3. :set noun // 去掉行数
  4. :set cursorline // 添加下划线

字符替换和查找

  1. 字符查找
  2. 字符替换
:s/aa/bb                # 将光标所在行第一个 aa 替换为 bb
:s/aa/bb/g              # 将光标所在行所有 aa 替换为 bb
:%s/aa/bb/g             # 全文执行替换 aa 替换为 bb
:3,10s/aa/bb/g          # 将第3行到第10行 aa 替换为 bb
:%s/\\/\//g             # 全文\替换为/ (特殊字符:^、$、*、/、\和.都需要转义,前面加上\)
:%s,\\,/,g              # 或用逗号分割(/可以不用转义)
:%s,aa,bb,gic           # 全文 aa(忽略大小写) 替换为bb,每次替换提示是否替换

同时编辑多个文件

:sp filename

  1. ctrl + w 上 光标进入上边文件窗口
  2. ctrl + w 下 光标进入下边文件窗口

附上用到的 shell 脚本

#!/bin/bash
## 
## 构造琐碎文件并计算MD5值
## author: brh
## date:   2020-10-09
##

case $1 in
"-h")
    echo "1: ./xxx.sh touch_file num"
    echo "2: ./xxx.sh touch_md5_file num"
    echo "3: ./xxx.sh check_md5_file num"

;;

"touch_file")
    ## 生成琐碎文件
    for((i=1;i<=$2;i++));
    do
        echo $i > $i.txt
    done
;;
"touch_md5_file")
    ## 计算琐碎文件MD5并保存
    for((i=1;i<=$2;i++));
    do
        md5sum $i.txt > $i.txt.md5
    done
;;
"check_md5_file")
    ## 比对琐碎文件MD5是否一致
    for((i=1;i<=$2;i++));
    do
        md5num1=`md5sum $i.txt`
        md5num2=`cat $i.txt.md5`
        if [ "$md5num1"x = "$md5num2"x ]; then
            echo "$i.txt MD5 数据一致"
        else 
            echo "$i.txt MD5 数据不一致"
        fi
    done
;;
esac


FunTester腾讯云年度作者Boss 直聘签约作者GDevOps 官方合作媒体,非著名测试开发。


↙↙↙阅读原文可查看相关链接,并与作者交流