• Linux-文档编辑命令


    • echo

    语法格式:

    echo [参数] 字符串/变量

    常用参数:

    -n不输出结尾的换行符
    -e “\a”发出警告音
    -e “\b”删除前面的一个字符
    -e “\c”结尾不加换行符
    -e “\f”换行,光标扔停留在原来的坐标位置
    -e “\n”换行,光标移至行首
    -e “\r”光标移至行首,但不换行
    -E禁止反斜杠转移,与-e参数功能相反

    参考实例:

    输出指定字符串到终端设备界面(默认为电脑屏幕):

    1. [root@local ~]# echo HelloWorld
    2. HelloWorld

    输出某个变量值内容:

    1. [root@local ~]# echo $PATH
    2. /usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/root/bin

    搭配转义符一起使用,输出纯字符串内容:

    1. [root@local ~]# echo \$PATH
    2. $PATH

    搭配输出重定向符一起使用,将字符串内容直接写入文件中:

    [root@local ~]# echo "Hello World" > Document

    搭配反引号执行命令,并将执行结果输出:

    1. [root@local ~]# echo `uptime`
    2. 16:16:12 up 52 min, 1 user, load average: 0.00, 0.00, 0.00

    输出带有换行符的内容:

    1. [root@local ~]# echo -e "First\nSecond\nThird"
    2. First
    3. Second
    4. Third

    指定删除字符串中某些字符,随后将内容输出:

    1. [root@local ~]# echo -e "123\b456"
    2. 12456

    • grep

    语法格式:

     grep [参数] 文件

    常用参数:

    -i忽略大小写
    -c只输出匹配行的数量
    -l只列出符合匹配的文件名,不列出具体的匹配行
    -n列出所有的匹配行,显示行号
    -h查询多文件时不显示文件名
    -s不显示不存在、没有匹配文本的错误信息
    -v显示不包含匹配文本的所有行
    -w匹配整词
    -x匹配整行
    -r递归搜索
    -q禁止输出任何结果,已退出状态表示搜索是否成功
    -b打印匹配行距文件头部的偏移量,以字节为单位
    -o与-b结合使用,打印匹配的词据文件头部的偏移量,以字节为单位
    -F匹配固定字符串的内容
    -E支持扩展的正则表达式

    参考实例:

    搜索某个文件中,包含某个关键词的内容:

    1. [root@local ~]# grep root /etc/passwd
    2. root:x:0:0:root:/root:/bin/bash
    3. operator:x:11:0:operator:/root:/sbin/nologin

    搜索某个文件中,以某个关键词开头的内容:

    1. [root@local ~]# grep ^root /etc/passwd
    2. root:x:0:0:root:/root:/bin/bash

    搜索多个文件中,包含某个关键词的内容:

    1. [root@local ~]# grep linuxprobe /etc/passwd /etc/shadow
    2. /etc/passwd:linuxprobe:x:1000:1000:linuxprobe:/home/linuxprobe:/bin/bash
    3. /etc/shadow:linuxprobe:$6$9Av/41hCM17T2PrT$hoggWJ3J/j6IqEOSp62elhdOYPLhQ1qDho7hANcm5fQkPCQdib8KCWGdvxbRvDmqyOarKpWGxd8NAmp3j2Ln00::0:99999:7:::

    搜索多个文件中,包含某个关键词的内容,不显示文件名称:

    1. [root@local ~]# grep -h linuxprobe /etc/passwd /etc/shadow
    2. linuxprobe:x:1000:1000:linuxprobe:/home/linuxprobe:/bin/bash
    3. linuxprobe:$6$9Av/41hCM17T2PrT$hoggWJ3J/j6IqEOSp62elhdOYPLhQ1qDho7hANcm5fQkPCQdib8KCWGdvxbRvDmqyOarKpWGxd8NAmp3j2Ln00::0:99999:7:::

    输出在某个文件中,包含某个关键词行的数量:

    1. [root@local ~]# grep -c root /etc/passwd /etc/shadow
    2. /etc/passwd:2
    3. /etc/shadow:1

    搜索某个文件中,包含某个关键词位置的行号及内容:

    1. [root@local ~]# grep -n network anaconda-ks.cfg
    2. 17:network --bootproto=static --device=ens160 --ip=192.168.10.10 --netmask=255.255.255.0 --onboot=off --ipv6=auto --activate
    3. 18:network --hostname=linuxcool.com

    搜索某个文件中,不包含某个关键词的内容:

    1. [root@local ~]# grep -v nologin /etc/passwd
    2. root:x:0:0:root:/root:/bin/bash
    3. sync:x:5:0:sync:/sbin:/bin/sync
    4. shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
    5. halt:x:7:0:halt:/sbin:/sbin/halt
    6. linuxprobe:x:1000:1000:linuxprobe:/home/linuxprobe:/bin/bash

    搜索当前工作目录中,包含某个关键词内容的文件,未找到则提示:

    1. [root@local ~]# grep -l root *
    2. anaconda-ks.cfg
    3. grep: Desktop: Is a directory
    4. grep: Documents: Is a directory
    5. grep: Downloads: Is a directory
    6. initial-setup-ks.cfg
    7. grep: Music: Is a directory
    8. grep: Pictures: Is a directory
    9. grep: Public: Is a directory
    10. grep: Templates: Is a directory
    11. grep: Videos: Is a directory

    搜索当前工作目录中,包含某个关键词内容的文件,未找到不提示:

    1. [root@local ~]# grep -sl root *
    2. anaconda-ks.cfg
    3. initial-setup-ks.cfg

    递归搜索,不仅搜索指定目录,还搜索其内子目录内是否有关键词文件:

    1. [root@local ~]# grep -srl root /etc
    2. /etc/fstab
    3. /etc/X11/xinit/Xclients
    4. /etc/X11/xinit/xinitrc
    5. /etc/libreport/events.d/collect_dnf.conf
    6. /etc/libreport/events.d/bugzilla_anaconda_event.conf
    7. /etc/libreport/forbidden_words.conf
    8. ...

    搜索某个文件中,精准匹配到某个关键词的内容(搜索词应与整行内容完全一样才会显示,有别于一般搜索):

    1. [root@local ~]# grep -x cd anaconda-ks.cfg
    2. [root@local ~]# grep -x cdrom anaconda-ks.cfg
    3. cdrom

    判断某个文件中,是否包含某个关键词,通过返回状态值输出结果(0为包含,1为不包含),方便在Shell脚本中判断和调用:

    1. [root@local ~]# grep -q linuxprobe anaconda-ks.cfg
    2. [root@local ~]# echo $?
    3. 0
    4. [root@local ~]# grep -q linuxcool anaconda-ks.cfg
    5. [root@local ~]# echo $?
    6. 1

    搜索某个文件中,空行的数量:

    1. [root@local ~]# grep -c ^$ anaconda-ks.cfg
    2. 6
    • vi命令-文本编辑器

    语法格式:

    vi [参数] 文件

    常用参数:

    -s静默模式
    -- -cmd<命令>加载任何vimrc文件之前执行指定命令
    -R只读模式
    -vVi模式
    -eEx模式
    -y简易模式
    -c<命令>加载第一个文件之后执行指定命令
    -s<脚本输入文件>从指定脚本输入文件阅读普通模式命令
    -w<脚本输出文件>追加所有类型的命令写入脚本输出文件
    -W<脚本输出文件>写入所有类型的命令到指定脚本输出文件
    +<行数>从指定行开始
    -- -noplugin不要加载插件脚本
    -p<数量>打开指定数量的标签页(带文件名)
    -r<文件名>恢复崩溃的会话
    -L等同于-r
    -r列出交换文件并退出
    -u<vimrc>熟用指定vimrc,而不是.vimrc
    -T<终端>设置使用指定终端
    -o<数量>打开指定数量的窗口
    -n不使用交换文件,只用内存
    -Z受限模式
    -m不允许修改(写入)
    -b二进制模式
    -M在文本中不允许修改

    参考实例:

    创建某个文件,并进行编写操作:

    [root@local ~]# vi anaconda-ks.cfg

    打开某个已存在的文件,从第6行开始编写:

    [root@local ~]# vi +6 anaconda-ks.cfg

    打开某个已存在的文件,以只读模式进入:

    [root@local ~]# vi +R anaconda-ks.cfg

  • 相关阅读:
    日常办公:批处理编写Word邮件合并获取图片全路径
    数量关系(高照)
    Vue选项: Methods方法
    python笔记--字符串
    网络流行简笔画图片大全,网络的简笔画图片
    arcgis js api 4.x通过TileLayer类加载arcgis server10.2发布的切片服务跨域问题的解决办法
    Mac Typora + PicGo + Github配置图床
    PyTorch中特殊函数梯度的计算
    01-Spring中事务的实现之编程式事务和声明式事务,以及事务的属性之传播行为,隔离级别,事务的回滚
    Java SE 19 新增特性
  • 原文地址:https://blog.csdn.net/Trollz/article/details/125536952