cat 显示文本

  1.  -E 显示结尾的$
     -n 对显示的每一行进行编号
     -b 对非空行进行编号
     -s 对连续的空行进行压缩

tac 倒序显示

less 分屏显示文本

向下翻一屏 空格

向下翻一行 回车

q 退出

/ 文本 搜索文本

n 向下查找 N向上查找

less 是man命令的默认分页器

more 分页显示文件

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

读取完成自动退出

q 退出

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

head 显示文件的前面的内容

默认显示前10行

-# 显示前#行

-n # 显示前#行

-c # 显示前#个字符

tail 显示文件的后面的内容

默认显示后10行

-# 显示后#行

-n # 显示后#行

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

cut 切割

  1.  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键

-d 执行间隔符

-s 将所有的行按照列来显示

paste a.txt b.txt

paste -d: a.txt b.txt

paste -s a.txt b.txt

wc 用来对文本进行统计

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

sort 排序

  1.  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合并相同的行

  • 相邻

  • 完全一样

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

pv page

uv user

diff 对比文件

  1.  [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 用来修改所有者和组

  1.  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 修改文件的属组

  1.  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

修改权限

  • 可以直接修改某一类用户的权限

  1.  chmod u+x c 增加
     chmod u-x c 删除
     chmod u=r c 直接赋值

shabang ---》 解释器

  • 可以直接使用数字表示

  • 可以基于某个文件来修改

设定特殊权限

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

lsattr 查看属性

chattr +a 只能追加数据

vi/vim

打开文件

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

  1.  +# 直接定位到第#行
     +/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

cat 显示文本、less 分屏显示文本、more 分页显示文件、head 显示文件的前面的内容、cut 切割、paste合并、wc用来对文本进行统计、sort排序、权限、关闭文件、vim的使用的更多相关文章

  1. 转: Eclipse 分屏显示同一个文件

    Eclipse 分屏显示同一个文件   场景 : 某个类很大,可能有数千行.当你想要将类开头部分与中间或者靠后的部分进行对比时,请follow如下步骤: Window -> Editor -&g ...

  2. Eclipse 分屏显示同一个代码文件

    描述: 今天在使用Eclipse开发的时候不知按错哪个键,出现编辑框分屏显示同一个代码,由于之前没有使用过这一功能,所以就去查了一下,原来是Eclipse的分屏功能. 快捷键: 方式一:Window ...

  3. vim 分屏显示

    我用vim打开一个文件后,想同时打开另一个文件,就像windows中打开两个记事本一样,因此需要分屏显示 首先用vim打开一个文件 vim file1 输入命令[Esc] :sp file2 分屏打开 ...

  4. Vi编辑器下使用分屏显示【已自己验证所有】

    :new 水平分割出一个新窗口 :vnew,:vne 垂直分割出一个新窗口 :new+文件路径/文件名; 在新的水平分屏中 载入/新建 文件.[文件存在则载入,不存在则在指定的路径新建,下同] :vn ...

  5. wpf 制作播放视频的屏保程序、而且能分屏显示

    这个程序用到了WPF里  “visual_Brush”(主要是为了实现分屏显示) , “UserControl” ,这两个知识点: 在屏保状态下播放指定文件夹下的视频,而且能分屏显示: 把编译好的屏保 ...

  6. Windows 窗体的自适应分辨率、分屏显示、开机自启动

    前言 这里所说的针对Winform.WPF 都适用.开机自启动对于控制台的也可以. 还是从项目实践中得来的,在这里记录下来. 对于自适应.分屏显示,在以前感觉应该比较高大上的问题,会比较难.在经过这次 ...

  7. c# Winform 开发分屏显示应用程序

    分屏显示即可把一台主机内运行的多个程序分别显示在不同的两个(或多个)屏幕上.目前市面上主流的显卡都支持分屏显示(显示双屏幕),如果需要显示2个以上的屏幕,则应使用“拖机卡”类的硬件. 设置分屏显示的两 ...

  8. c# 远程监控(4) 接收端 RTP包重组 分屏显示

    我们在上一期使用RTP协议,并进行了配置,打包了视频数据,这一期我们就对发送的数据进行重组,并显示在接受端上.最后对其进行扩展,支持多客户端视频发送,并在接收端分屏显示.完成远程监控的模拟. 先来个效 ...

  9. (转载)mysql分屏显示结果

    (转载)http://blog.csdn.net/wylkeke/article/details/7280645 linux机器: 在mysql命令行输入pager more就可以分屏显示结果了,取消 ...

随机推荐

  1. LeetCode 面试题24. 反转链表

    题目链接:https://leetcode-cn.com/problems/fan-zhuan-lian-biao-lcof/ 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点. ...

  2. python数据类型(第一弹)

    作为一门计算机编程语言,python与其它语言一样,设有若干种数据类型,准确掌握各种数据类型的常用方法是精通python的必要条件,也是熟练使用各数据类型.最大限度发挥它们功能的基本条件. pytho ...

  3. 【MVC+EasyUI实例】对数据网格的增删改查(下)

    前言 继上文对网格加载数据,本文主要阐述对数据增删改的实现. 一.js代码 function Add() { $("#dlg").dialog('open'); $("# ...

  4. MySQL第六课

    SELECT [DISTINCT]     * /{字段名1,字段名2,字段名3,.........} FROM 表名 [WHERE 条件表达式1] [GROUP BY 字段名[HAVING 条件表达 ...

  5. AI数据标注行业面临的5大发展困局丨曼孚科技

    根据艾瑞咨询发布的行业白皮书显示,2018年中国人工智能基础数据服务市场规模为25.86亿元,预计2025年市场规模将突破113亿元,行业年复合增长率达到了23.5%.​ 作为人工智能产业的基石,数据 ...

  6. 小白的java学习之路 “ 循环结构(一)”

    循环: 重复得做某一件事情 举例: 打印50份试卷 沿操场跑10圈 做100道编程题 循环结构的特点: 循环条件 (50,10,100) 循环操作 (打印试卷,沿操场跑圈,做编程题) while 循环 ...

  7. Spring Boot源码(一):去除web.xml

    访问https://spring.io/ spring boot中: public class MyWebApplicationInitializer implements WebApplicatio ...

  8. BZOJ 4247: 挂饰 动态规划

    按照挂件数量排序,然后做一个 DP 就好了. code: #include <bits/stdc++.h> #define ll long long #define N 2003 #def ...

  9. 跨站请求伪造(Cross-site request forgery), 简称为 XSRF

    跨站请求伪造(Cross-site request forgery), 简称为 XSRF,是 Web 应用中常见的一个安全问题.前面的链接也详细讲述了 XSRF 攻击的实现方式. 当前防范 XSRF ...

  10. redis 安装 集群 主从 哨兵 docker

    安装redis 官方文档 docker run -d --net host -v /opt/myconfig/redis/redis.conf:/usr/local/etc/redis/redis.c ...