zoukankan      html  css  js  c++  java
  • linux文本相关工具_文件权限相关_vim命令介绍_vim帮助信息

    linux文本相关工具_文件权限相关_vim命令介绍_vim帮助信息

    cat 显示文本

    -E 显示结尾的$符
    -n 对显示的每一行进行编号
    -b 对非空行进行编号
    -s 对连续的tac空行进行压缩,多行压缩为一行
    [root@localhost lianxi]#cat -n b.txt
         1	|abc|
         2	|bcd|
         3	|dadsad|
         4	|djekdjk|
    [root@localhost lianxi]#cat -E b.txt
    |abc|$
    |bcd|$
    |dadsad|$
    |djekdjk|$
    
    

    tac 倒序显示

    less 分屏显示文本

    向下翻一屏 空格

    向下翻一行 回车

    q 退出

    / 文本 搜索文本 ( n 向下查找 N向上查找 )

    less 是man命令的默认分页器

    more 分页显示文件

    默认情况下显示读取的百分比

    读取完成自动退出

    q 退出

    -d 显示翻屏和退出的提示

    head 显示文件的前面的内容

    默认显示前10行

    -# 显示前#行

    -n # 显示前#行

    -c # 显示前#个字符

    tail 显示文件的后面的内容

    默认显示后10行

    -# 显示后#行

    -n # 显示后#行

    -c # 显示后#个字符,换行符也是一个字符

    cut 切割

    cut OPTION... [FILE]...
    -c 按照字符长度切割
    tail passwd |cut -c2-5
    -d 指定切割符,默认是tab
    -f # 显示第#个字段
    #,#,# 显示离散的多个
    #-# 表示连续的
    1-5,7 可以结合使用
    tail passwd |cut -d: -f1-5,7
    tail passwd |cut -d: -f1-5
    tail passwd |cut -d: -f1,3,5
    

    paste 合并

    默认是相同行合并到一起,间隔默认是tab键

    paste a.txt b.txt

    -d 指定间隔符

    paste -d: a.txt b.txt

    -s 分别将各个文本内的所有的行合并为一行来显示,有几个文本就分几行

    [root@localhost lianxi]#paste -s a.txt b.txt
    12345	65473	98765	12345	65473	98765
    |abc|	|bcd|	|dadsad|	|djekdjk|	
    

    wc 用来对文本进行统计

    [root@localhost test]#wc b.txt 
     4  5 20 b.txt
    行数 单词数 字节数 文件名
    -l 只显示行数
    -w 只显示单词数
    -c 只显示字节数
    -m 只显示字符数
    -L 显示文件中最长行的长度
    

    sort 排序

    Usage: sort [OPTION]... [FILE]...
      or:  sort [OPTION]... --files0-from=F
    默认是按照字母排序
    -r 倒序
    -R 随机排序
    -n 按照数字排序
    -f 忽略大小写
    -t 指定分隔符
    -k # 指定按照第#个字段进行排序
    sort -t: -k3 passwd
    sort -nt: -k3 passwd 
    

    uniq合并相同的行

    合并相邻的,完全一样的行

    -c 显示相同的行出现的次数
    -d 只显示重复的行
    -u 显示从没有重复过的行
    cut -d" " -f4 d|sort |uniq -c
    

    pv page

    uv user

    diff 对比文件

    [root@localhost test]#echo "123" >> f
    [root@localhost test]#diff d f
    11a12
    > 123
    [root@localhost test]#echo "1234" >> d
    [root@localhost test]#diff d f
    12c12
    < 1234
    ---
    > 123
    

    chown 用来修改所有者和组

    Usage: chown [OPTION]... [OWNER][:[GROUP]] FILE...
      or:  chown [OPTION]... --reference=RFILE FILE...
    chown wu c  修改属主
    chown wu:wu c 修改属主和属组
    chown root.root c
    chown :wu c 直接属组
    chown -R wu test 递归修改
    chown --reference=c d
    

    chgrp 修改文件的属组

    Usage: chgrp [OPTION]... GROUP FILE...
      or:  chgrp [OPTION]... --reference=RFILE FILE...
    

    权限

    9位表示权限

    3组

    3位表示一组

    --- --- ---

    • 文件权限可以读以下定义

      • 属主 u
      • 属组 g
      • 其他 o
      • 全部 a
    • 每个文件的权限

      • r 读
      • w 写
      • x 执行
    • 对于文件来说

      • r 可以使用文本查看工具来查看里面的内容
      • w 可以修改文本的内容
      • x 执行可以直接./file
    • 对于目录来说

      • r 可以使用ls等文件查看的命令查看
      • w 可以创建文件,也可以删除
      • x 可以cd进入
    • 数字表示

      --x

      001 1

      -w-

      010 2

      r--

      100 4

      rw-

      110 6

      rwx

      111 7

      r-x

      101 5

      -wx

      011 3

    chmod修改权限

    • 可以直接修改某一类用户的权限
    chmod u+x c 增加
    chmod u-x c 删除
    chmod u=r c 直接赋值
    chmod a+x bb 全部加上x
    

    shabang ---》 解释器

    • 可以直接使用数字表示
    • 可以基于某个文件来修改

    设定特殊权限

    chattr +i 不能删除、不能修改、不能变更

    lsattr 查看属性

    chattr +a 只能追加数据

    vi/vim

    打开文件

    vim [option] .... file....

    +# 直接定位到第#行
    +/pattern 打开文件后,直接定位到第一个匹配到patter的地方
    -b 以二进制方式打开文件
    -d file1 file2 对比打开多个文件
    -m file 只读方式打开文件
    -e 直接以末行模式打开
    

    模式

    • 命令模式:可以光标,可以粘贴、复制文本,默认
    • 插入模式或者编辑模式:可以修改文本
    • 末行模式(扩展命令模式):保存、退出等等
    • esc 退出当前的模式

    模式之间切换

    • 命令模式- 插入模式

      • i 光标所在处插入
      • I 在当前光标所在的行的行首插入
      • a 光标所在位置的后面插入
      • A 在当前光标所在的行尾插入
      • o 在当前光标所在的行的下一行(新开)插入
      • O 在当前光标所在的行的上一行(新开一行)插入
    • 插入模式- 命令模式

      • esc
    • 命令模式 -- 末行模式

    • 末行模式 -- 命令模式

      • esc esc
      • esc enter

    关闭文件

    • 末行模式

      • :w 保存
      • :q 退出
      • :wq 保存并退出
      • :q! 强制退出
      • :wq!强制保存退出
      • :x 保存并退出
    • 命令模式

      • ZZ 保存退出
      • ZQ 不保存退出

    扩展命令行模式

    • 按":" 来进入
    • w 写入
    • q 退出
    • wq 保存并退出
    • q! 强制退出
    • x 保存并退出
    • r file 读入文件
    • w file 另存为
    • !command 直接执行命令
    • r!command 直接把命令的结果写到文件中

    命令模式跳转

    • 字符之间跳转

      • l 向右
      • h 向左
      • j 向下
      • k 向上
    • 单词间跳转

      • w 下一次的单词的词首
      • e 当前词的词尾或者下一个单词的词尾
      • b 当前词的词首或者上一词的词首
      • # command 直接跳转#个单词
    • 页面间跳转

      • H 页首
      • L 页尾
      • M 页中
      • zt 将光标所在行移动到屏幕的顶端
      • zb 将光标所在行移动到屏幕的底部
      • zz 将光标所在行移动到屏幕的中间
    • 行首行尾之间跳转

      • ^ 跳转到当前光标所在行的第一个非空字符
      • 0(数字) 跳转到行首
      • $ 跳转到行尾
    • 行间移动

      • #G 跳转到第#行
      • 在命令扩展模式下,直接:# 跳转到对应的行
      • G 直接到最后一行
      • gg 跳转到第一行
      • 1G 跳转到第一行
    • 段落之间跳转(空行)

      • { 上一段
      • } 下一段
    • 翻屏

      • ctrl+f 向文件尾部翻一屏
      • ctrl+b 向文件首部翻一屏
      • ctrl+d 向文件尾部翻半屏
      • ctrl+u 向文件首部翻半屏

    命令模式编辑

    • 字符编辑

      • x 删}除光标所在处的字符
      • #x 删除#个字符
      • xp 将光标所在处的字符和后面的字符互换位置
      • ~ 将光标所在的位置大小写互换
      • J 删除当前行的换行符
    • 替换

      • r 替换当前光标所在处的字符
      • R 进入替换模式
    • 删除

      • d 删除,需要跟字符跳转结合
      • d$ 删除到行尾,删除当前位置
      • d0 删除到行首,当前位置不删除
      • d^ 删除到非空字符
      • dw 删除一个单词
      • de 向后删除一个单词
      • db 向前删除一个单词
      • dd 删除整行
      • # dd 删除#行
      • dG 删除到结尾
      • dgg 删除到开头
      • D 相当于d$
    • 复制

      • y,也可以跟字符跳转结合
      • y$
      • y0
      • y^
      • yw
      • ye
      • yb
      • yy 一整行
      • #yy 复制#行
      • yG 复制到结尾
      • ygg 复制到开头
      • Y 复制整行
    • 粘贴

      • p 如果是整行的话,则粘贴到当前光标所在行的下一行,否则粘贴到光标的后面
      • P 如果是整行的话,则粘贴到当前光标所在行的上一行,否则粘贴到光标的前面
    • 改变,删除以后并将模式切换成插入模式

      • c 可以跟光标的跳转做结合
      • c$
      • c0
      • c^
      • cw
      • ce
      • cb
      • #command
      • cc 删除正行并插入
      • C 相当于c$
    • #[i|I|a|A|o|O]string esc 将string粘贴#次

    • 搜索

      • /pattern 从当前光标往下搜索
      • ?pattern 从当前光标往上搜索
      • n 同命令相同的方向
      • N 同命令相反的方向
    • 撤销

      • u 撤销最近的修改
      • # u 撤销最近的#次修改
      • ctrl +r 撤销之前的撤销动作
      • . 重复最后一次操作
      • #. 最后一次操作重复执行#次

    命令扩展模式

    地址定界

    :start,end

    # 具体到第#行

    #,# 第#行到第#行

    #,+n 从第#开始,到第#+n行结束 1,+2 ==>1,3

    . 表示当前光标所在的行

    $ 表示最后一行

    $-1 表示倒数第二行

    % 表示全文

    /pat1/,/pat2/ 从第一个pat1匹配到的地方,到pat2第一次匹配到的地方

    #,/pat/ 从第#行开始,到第一次被pat匹配到的地方

    /pat/,$ 从第一次被pat匹配到的到结尾

    可以使用的命令

    • d
    • y
    • w file 重新另存为文件
    • r file 将文件的内容写到匹配到的下一行

    查找并替换

    • 要使用地址定界来进行查找

    • s 在扩展命令模式下使用为替换

    • 格式: s/要查找的内容/要替换的内容/装饰器

    • 要查找的内容可以使用正则

    • 替换的内容不能为正则

      • 可以为分组:%s/(nfs.*)/#1/
      • 1表示第一个分组内的内容
      • 2
      • 3
      • & 可以代表前面匹配到的内容
    • 装饰器

      • i 忽略大小写
      • g 表示全部替换
      • gc 每一次替换之前都要询问是否替换
    • 分隔符还可以使用

      • @
      • #

    可视化

    • v 面向字符
    • V 面向行的
    • ctrl +v 面向块
    • 可以结合所有的跳转键进行结合
    • 对突出显示部分可以使用删除、复制、变更、过滤、替换、另存为等等

    打开多个文件

    vim file1 file2 file3

    :next 下一个

    :prev 上一个

    :first 第一个

    :last 最后一个

    :qall 退出全部

    :wall 保存全部

    :wqall 保存并退出全部

    :xall 保存并退出全部

    使用多个窗口

    vim -o 水平分隔

    vim -O 垂直分隔

    切换ctrl+w 加上上下左右箭头

    单文件切割

    ctrl+w,s 水平切割

    ctrl+w,v 垂直切割

    ctrl+w,q 取消相邻的窗口

    ctrl+w,o 取消全部窗口

    vim工作特性

    配置文件

    • 全局有效:/etc/vimrc

    • 对当前用户有效: ~/.vimrc

    • 行号:set nu 取消 set nonu

    • 忽略大小写(搜索) set ic 取消set noic

    • 自动缩进(同上一行) set ai 取消set noai

    • 设置高亮显示(搜索到的内容) set hls 取消set nohls

    • 语法高亮 syntax on 取消 syntax off

    • 文件格式

      • windows格式 set fileformat=dos
      • unix set fileformat=unix
    • 添加标识线: set cul 取消标识线 set nocul

    • 获取帮助: set all

    • 获取帮助信息:

      • :help
      • :help topic
      •  : vimtutor

     vim常用指令

     vim键盘命令图解

     vim命令分支图解

     

    壬戌之秋,七月既望,苏子与客泛舟游于赤壁之下。清风徐来,水波不兴。举酒属客,诵明月之诗,歌窈窕之章。少焉,月出于东山之上,徘徊于斗牛之间。白露横江,水光接天。纵一苇之所如,凌万顷之茫然。浩浩乎如冯虚御风,而不知其所止;飘飘乎如遗世独立,羽化而登仙。 于是饮酒乐甚,扣舷而歌之。歌曰:“桂棹兮兰桨,击空明兮溯流光。渺渺兮予怀,望美人兮天一方。”客有吹洞箫者,倚歌而和之。其声呜呜然,如怨如慕,如泣如诉,余音袅袅,不绝如缕。舞幽壑之潜蛟,泣孤舟之嫠妇。 苏子愀然,正襟危坐而问客曰:“何为其然也?”客曰:“月明星稀,乌鹊南飞,此非曹孟德之诗乎?西望夏口,东望武昌,山川相缪,郁乎苍苍,此非孟德之困于周郎者乎?方其破荆州,下江陵,顺流而东也,舳舻千里,旌旗蔽空,酾酒临江,横槊赋诗,固一世之雄也,而今安在哉?况吾与子渔樵于江渚之上,侣鱼虾而友麋鹿,驾一叶之扁舟,举匏樽以相属。寄蜉蝣于天地,渺沧海之一粟。哀吾生之须臾,羡长江之无穷。挟飞仙以遨游,抱明月而长终。知不可乎骤得,托遗响于悲风。” 苏子曰:“客亦知夫水与月乎?逝者如斯,而未尝往也;盈虚者如彼,而卒莫消长也。盖将自其变者而观之,则天地曾不能以一瞬;自其不变者而观之,则物与我皆无尽也,而又何羡乎!且夫天地之间,物各有主,苟非吾之所有,虽一毫而莫取。惟江上之清风,与山间之明月,耳得之而为声,目遇之而成色,取之无禁,用之不竭,是造物者之无尽藏也,而吾与子之所共适。” 客喜而笑,洗盏更酌。肴核既尽,杯盘狼籍。相与枕藉乎舟中,不知东方之既白。
  • 相关阅读:
    mysql 错误 1067: 进程意外终止
    VPS主机MSQL意外中断重启就好但10来个小时又中断的了如些反复
    使用hibernate连接mysql自动中断的问题
    40个国外联盟
    从服务里删除mysql
    外国广告联盟[16个]
    stm32学习笔记:GPIO外部中断的使用
    NO.2 设计包含min 函数的栈
    GPS数据,实测
    LATEX使用总结
  • 原文地址:https://www.cnblogs.com/sewen-H/p/13177819.html
Copyright © 2011-2022 走看看