zoukankan      html  css  js  c++  java
  • Linux 基础

    Vim

    仅仅列举一些相对基础的操作动作

    编辑模式

    主要用来移动光标,以及删除,复制粘贴

    ctrl+f        在文件中前移一页(相当于 page down);
    ctrl+b        在文件中后移一页(相当于 page up);
    
    H                将光标移到屏幕上的起始行(或最上行);
    M                将光标移到屏幕中间;
    L                将光标移到屏幕最后一行。
    0                数字0,左移光标到本行的开始;
    $                右移光标,到本行的末尾;
    ^                移动光标,到本行的第一个非空字符。
    
    
    gg         将光标定位到文件第一行起始位置;
    G          将光标定位到文件最后一行起始位置;
    NG或Ngg    将光标定位到第 N 行的起始位置。
    
    /str1                正向搜索字符串 str1;
    n                    继续搜索,找出 str1 字符串下次出现的位置;
    N                    继续搜索,找出 str1 字符串上一次出现的位置;
    

    Vim常规的删除命令是 d、 x (前者删除 行 ,后者删除 字符 )

    d$                从当前光标起删除字符直到行的结束;
    d0                从当前光标起删除字符直到行的开始;
    

    Vim常规的替换命令有 c 和 s cw 用输入的正文替换光标右侧的字; cd 用输入的正文替换光标的所在行; ncd 用输入的正文替换光标下面的 n 行; c$ 用输入的正文替换从光标开始到本行末尾的所有字符; c0 用输入的正文替换从本行开头到光标的所有字符。

    粘贴

    p               小写字母 p,将缓冲区的内容粘贴到光标的后面;
    P               大写字母 P,将缓冲区的内容粘贴到光标的前面。
    
    yy              复制当前行到内存缓冲区;
    nyy             复制 n 行内容到内存缓冲区;
    5yy             复制 5 行内容到内存缓冲区;
    
    u               撤消前一条命令的结果;
    .               重复最后一条修改正文的命令。
    

    插入模式

    i            在光标左侧插入正文
    a            在光标右侧插入正文
    o            在光标所在行的下一行增添新行
    O            在光标所在行的上一行增添新行
    I            在光标所在行的开头插入
    A            在光标所在行的末尾插入
    

    esc退出插入模式

    命令模式

    编辑模式输入:进入命令模式

    在已经启动的Vim中打开一个文件需要用 :e 命令:

    :e path_to_file/filename
    

    保存当前编辑的文件需要用 :w 命令(单词 write 的缩写):

    :w
    

    将当前文件另存为 file_temp 则:

    :w file_temp
    

    在编辑模式下可以用 ZZ 命令退出Vim编辑程序,该命令保存对正文所作的修改,覆盖原始文件。如果只需要退出编辑程序,而不打算保存编辑的内容,可用下面的命令:

    : q                在未作修改的情况下退出;
    : q!               放弃所有修改,退出编辑程序
    
    :345                  将光标移到第 345 行
    :345w file            将第 345 行写入 file 文件
    :3,5w file            将第 3 行至第 5 行写入 file 文件
    :1,.w file            将第 1 行至当前行写入 file 文件
    :.,$w file            将当前行至最后一行写入 file 文件
    :.,.+5w file          从当前行开始将 6 行内容写入 file 文件
    :1,$w file            将所有内容写入 file 文件,相当于 :w file 命令
    
    :r file            读取 file 文件的内容,插入当前光标所在行的后面
    
    :/str/w file            正向搜索,并将第一个包含字符串 str 的行写入 file 文件、
    
    
    :%s/str1/str2/        用字符串 str2 替换行中首次出现的字符串 str1
    :s/str1/str2/g        用字符串 str2 替换行中所有出现的字符串 str1
    :.,$ s/str1/str2/g    用字符串 str2 替换正文当前行到末尾所有出现的字符串 str1
    :1,$ s/str1/str2/g    用字符串 str2 替换正文中所有出现的字符串 str1
    :g/str1/s//str2/g     功能同上
    :m,ns/str1/str2/g     将从m行到n行的str1替换成str2
    从上述替换命令可以看到:
    1. g 放在命令末尾,表示对搜索字符串的每次出现进行替换,不止匹配每行中的第一次出现;不加 g,表示只对搜索字符串的首次出现进行替换;g 放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作;
    2. s 表示后面跟着一串替换的命令;
    3. % 表示替换范围是所有行,即全文。
    

    基本程序

    more/pg/less 逐屏显示文件

    /pattern 模式匹配
    /继续查找匹配

    more :空格显示上一屏,回车上滚一行 pg:回车下一屏,l上滚一行

    cat与od:列出文件内容

    od: -t x1选项:以十六进制打印文件各字节
    -c逐个、字符打印文件

    head与tail

    tail -f debug.txt 
        实时打印文件尾部被追加的内容(选项-f:forever)
    head -15 ab.c 
           显示文件ab.c中前15行
    

    wc:字计数

    列出文件中一共有多少行,有多少个单词,多少字符

    sort:对文件内容排序

    -n选项(Numberic),对于数字按照算术值大小排序,而不是按照字符串比较规则

    tee:三通

    将从标准输入stdin得到的数据抄送到标准输出stdout显示,同时存入磁盘文件中

    grep/egrep/fgrep

    grep在文件中查找字符串

    grep 模式 文件名列表
    使用正则的时候可以‘’,单引号引起来
    -E选项,可以使用扩展的正则表达式

    egrep在文件中查找字符串

    使用拓展的正则表达式,比如+ ?,限定重复次数{m,}

    fgrep:快速grep

    只能匹配字符串,不能使用正则

    选项

    -n 显示时每行前面显示行号 -v 显示所有不包含模式的行 -i 字母比较时忽略字母的大小写

    tr:翻译字符

    tr string1 string2
    把stdin拷贝到stdout,string1中出现的字符替换为string2中的对应字符

    两文件逐字节比较:cmp

    求出两个文件的差别:diff

    -b 
    逐行比较两个文件时忽略每行结尾处的多余空格
    -e 
    为UNIX的行编辑程序ed生成脚本文件。ed命令使用这个脚本文件编辑file1文件,就可以变成文件file2
    

    awk:文本处理语言

    awk '程序' 文件名列表
    其中程序:条件{动作}

    awk是对于文本进行处理的,文本每行是一个记录,列是一个域
    变量:

    • NR 当前记录的编号
    • $0 当前记录
    • $1,$2.....域
    • FILENAME 当前的文件名

    条件: - 关系运算 - 正则表达式/regex/ - BEGIN END

    动作:

    • print 变量1, 变量2,……
    • printf(”格式串”,变量1,变量2,……)

    举例

     awk '/^ *zhang / {printf("%s ", $2)}'  filename
     awk '$1 > 2000 { print $2 }' filename
    

    注意‘’的使用

    相关补充

    pwd当前工作目录
    env查看环境变量

  • 相关阅读:
    Android——监听事件OnLongClickListener
    Android——edittext的几个属性
    源码安装Postgresql9.4.1
    添加产品唯一性限制以后,复制按钮不能使用
    [转载]git 忽略某些文件
    grep 命令搜索 带空格的字符
    听故事学会计笔记
    利用Python的三元表达式解决Odoo中工资条中城镇、农村保险的问题
    8.0 Qweb 报表编写步骤
    Buff系统
  • 原文地址:https://www.cnblogs.com/Coder-Pig/p/6599103.html
Copyright © 2011-2022 走看看