04文本编辑

文本编辑器   vi  无颜色标记 
                     vim 有颜色标记 ,语法检测
vim/vi  filename 文件不存在自动创建文件
vim 
  命令模式
     d+回车键  删除光标所在行以及下一行
     dd             删除光标所在行
     4dd           从光标所在行开始一共删除4行
     dG            删除光标所在行,以及到文档尾
     dgg           删除光标所在行,以及到文件首
     x               删除光标字符
     s               替换,替换光标所在字符(删除光标所在字符)
     S              替换,替换光标所在行     ---进入插入模式
  
    /               快速匹配关键字
    :noh       取消关键字的高亮显示
    G              跳转到文档末行的行首
    gg              跳转到文档首行的行首
    5G           跳转到文件的第五行
    ^              光标跳转到行首
    $             光标跳转到行尾
    yy           复制光标所在行   4yy 4,5yy
    p             粘贴在光标下一行
    cc             剪切光标所在行
  
     u        向左撤销
    ctrl+r   向右撤销

命令模式--进入插入模式
s         删除光标所在字符进入插入模式 
S         删除光标所在行进入插入模式
a         插入到光标后
A         插入到光标所在行行尾   
i          插入到光标前 
I          插入到光标所在行的行首
o         插入到光标所在行的下一行 
O        插入到光标所在行的上一行 

esc     退出插入模式

命令模式--进入末行模式
:w 保存
:w filename
:q 退出
:q!强制退出(不保存退出)
:wq 保存退出
:set nu 显示行号
:set nonu 取消行号
:s /root/000/ 将光标行root字符替换成000
:%s /root/000/替换所有行中第一次出现的root字符成000
: %s /root/000/g 替换所有行中root字符成root
:12,18 co 40 把12到18行复制到40行
:r filemane 把指定文件内容读取到光标所在下一行
:.!cat/ect/passwd/ 将cat/etc/passwd命令的结果显示在文档中

#echo  打印
           #x=2   x取值2
           $ 引用变量
           #echo $x 查看变量值
           #echo $SHELL 查看shell
           #hostname 查看主机名
           #echo $hostname 查看主机名
           #echo $? 上一条命令的返回结果(0-255)0:成功    非零(退出码):失败
           ‘ ’                  硬引用 不解析特殊字符的含义     不显示变量的值
           "  "                软引用 可以解析特殊字符的含义 可以显示变量的值  
           ' ' 或者 $( )    命令替换     
 linux中的程序对于文件描述符0 1 2
0  标准输
1  标准输出
2  错误输出
>  输出重定向符 将程序的输出结果重定向到指定文件(会覆盖原文件)
      #echo 1234 > fff   输出1234结果到fff文件(如果没有fff文件,自动创建)   
   #echo cd/HH 2> fff 输入错误结果到fff文件
>> 追加输出重定符 将程序输出结果重定向到指定文件 (不会覆盖原文件) 
<  输入重定向符
<< 终止结束符
      # cat << . 设.为cat程序的结束符,输入.回车终止cat程序
|    管道符  将前一个程序(命令)的输出结果通过管道符按照字符流的形式传递到后面程序(命令)
|tee T型管道     横向输出  将程序的输出重定到指定文件(会覆盖原文件) |tee -a(不会覆盖原文件)

                         纵向输出 将程序的输出结果显示到终端


文件内容处理相关的命令
  1 通过处理命令只是将处理结果显示在终端不会对原文件更该
  2 按照指定文件的行进行处理

cut 文本剪切
        -c 字符  
#cut -c 3 文件  剪切文件中每行的第三个字符(不影响源文件)
        -d 分割符类型
        -f 指定字符


#sort 文本排序 按行的字符进行比较 (从小到大)
#sort -u 文本排序(去重)
#sort -n 数字排序 从小到大
#sort -r 降序
#sort -t 分隔符
#sort -t ‘ ’ -k 2 -n bbb  按照第二行大小排序bbb文件  ‘’隔开-k与-t无实际意义


#uniq 去重(重复行相邻才会处理)
#sort ccc | uniq 完全去重
#uniq-c  统计每一行重复次数
#uniq-d  显示重复行内容
#uniq-D  显示所有重复行内容

wc(word count)
#wc filename  显示(行数 单词数 字节数 文件名)
       -l   只显示行数
       -w 只显示单词数
       -c  只显示字节
       -m 只显示字符
一个汉字占用三个字节 繁体字占用四个字节 
换行符占一个字节

tr 字符替换命令
#tr set1 set2
#tr ab 12   把ab字符替换12字符
       -t 等长字符替换
       -c 反选定   tr -c 1 a 把除了1字符的所有字符替换成a字符
       -d 删除指定字符    tr -d 1 删除1字符
       -s 将多个字符替换为单个字符     tr -s  
grep 文本关键字过滤显示
 #grep filename 
         -i 过滤时忽略大小写
         -o 只显示关键字
         -v 反过滤(只显示没有关键字的行)
 grep -v ‘^#’ /etc/login.defs 
#date 显示日期

ctrl+l清屏

作业

将/etc/passwd 文件中3,4 字段分别截取出来分别写入文件UID和文件GIU但是这两个文件中的信息是以数值由大到小的形式显示;

#cut -d : -f 3 /etc/passwd | sort -nr > UID

#cut -d : -f 4 /etc/passwd | sort -nr > GIU

通过查看时间命令将分别将年月日时分写入A文件

#date | cut -d “ ” -f 2,3,4,6 >A

告诉用户当前系统有多少用户 (/etc/passwd文件有多少行一行是一个用户信息)

#echo 当前系统共有’cat /etc/passwd | wc -l’个用户

不显示/etc/login.defs 文件中以#开头的行以及空白行。

cat /etc/login.defs |grep -v ‘^#’ | grep -v ‘^$’

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值