Linux基础命令之文本命令

关于文本的命令:

    1.文件查看命令:

       a.cat:查看文件,实现参数给的内容一个个显示出来

           -n:显示行号(显示的空行的行号)

           -b:显示行号(但空行不显示行号)

           -s:当有连续的多个空行压缩为单行(只压缩空行,多行连续的字符不会被压缩)

           -v:查看文件中的 ^M

           -T:显示文件中的TAB键显示为^I

           -e:显示行结束符$

           -A:显示所有的控制符相当于 -evT    

        b.tac:与cat命令的用法相同,只是将cat命令显示的内容反向显示出来

        c.tev:将文件中的字符倒序显示,每一行倒序显示。

    2.分页查看文件

        a.more:按照页数一页页的显示文本中的内容

            space:向下翻一页

            d:向下翻半屏

            Enter:向下滚动一行

            /PATTERN:查找想要匹配的字符

            q:退出more显示的内容,不再显示该内容,退回到命令模式

            d:向前翻一页

        b.less:分屏显示内容

            q命令退出

            用法和man命令的指令相似

            space:向下翻动一页

            /PATTERN:向下查询“字符串”的功能

            ?PATTERN:向上查询“字符串”的功能

               n:重复前一个查询的方向查询

               N:重复前一个查询的反方向查询

     3.显示文本前或后行内容

         a.head:取出前N行的内容

           head [OPTION]… [FILE]…

              -c #: 指定获取前#字节

              -n #: 指定获取前#行

              -#:指定行数

         b.tail:取出后N行的内容

           tail [OPTION]… [FILE]…

              -c #: 指定获取后#字节

-n #: 指定获取后#行

-#:指定行数

-f: 跟踪显示文件新追加的内容, 常用日志监控

                ※-f命令的扩展※

                tail -f /var/log/message:查看日志监控文件,缺点当打开文件中会后无法继续使用命令行编辑器去执行另外的操作

                tail -f /var/log/message &:查看新增的日志文件,当日志的输出打断命令行的输入时,无需重新输入命令,只需将原来想要执行的命令执行完毕之后即可

      4.按列抽取文本和合并文件

         a.cut:将某些信息的某一段切割出来

             cut [OPTION]… [FILE]…

              -d DELIMITER: 指明分隔符,默认tab

              -f FILEDS:

                  #: 第#个字段

                  #,#[,#]:离散的多个字段,例如1,3,6

                  #-#:连续的多个字段, 例如1-6

                     混合使用:1-3,7

              -c:按字符切割

              –output-delimiter=STRING 指定输出分隔符  

          显示文件或STDIN 数据的指定列

                cut -d: -f1 /etc/passwd

                cat /etc/passwd | cut -d: -f7

                cut -c2-5 /usr/share/dict/words

         b.paste 合并两个文件同行号的列到一行

            paste [OPTION]… [FILE]…

                -d 分隔符: 指定分隔符,默认用TAB

                -s : 所有行合成一行显示

                paste f1 f2

                paste -s f1 f2

     5.分析文本的工具

          a.wc:文本数据统计

           计数单词总数、行总数、字节总数和字符总数;可以对文件或STDIN 中的数据运行

              -l:来只计数行数

              -w:来只计数单词总数

              -c:来只计数字节总数

              -m:来只计数字符总数

                wc story.txt

                39 237 1901 story.txt

               行数 字数 字符数

          b.sort:整理文本

            文本排序sort:把整理过的文本显示在STDOUT ,不改变原始文件

            sort [options] file(s)

               -r 执行反方向(由上至下)整理

               -n 执行按数字大小整理

               -f 选项忽略(fold )字符串中的字符大小写

               -u 选项(独特,unique )删除输出中的重复行

               -t c 选项使用c 做为字段界定符

               -k X 选项按照使用c 字符分隔的X 列来整理能够使用多次

         c.diff 和patch:比较文件

            diff比较两个文件之间的区别

            diff foo.conf-broken foo.conf-works

              5c5

              < use_widgets = no

                —

              > use_widgets = yes

              ?  注明第5 行有区别(改变)

            patch:复制对文件改变

            diff 命令的输出被保存在一种叫做“补丁”的文件中使用 -u 选项来输出“统一的(unified )”diff 格式文件,最适用于补丁文件。

            patch 命令复制在其它文件中进行的改变(要谨慎使用!)

            适用 -b 选项来自动备份改变了的文件

            diff -u foo.conf-broken foo.conf-works > foo.patch

            patch -b foo.conf-broken foo.patch

      d.uniq 命令:从输入中删除重复的前后相接的行

            uniq [OPTION]… [FILE]…

              -c: 显示每行重复出现的次数;

              -d: 仅显示重复过的行;

              -u: 仅显示不曾重复的行;

              连续且完全相同方为重复

              常和sort命令一起配合使用:

              sort userlist.txt | uniq -c

原创文章,作者:sjsir,如若转载,请注明出处:http://www.178linux.com/30816

(0)
sjsirsjsir
上一篇 2016-08-07
下一篇 2016-08-07

相关推荐

  • 用户及用户组管理使用的练习

    用户及用户组管理使用的练习 1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 先使用who得出登陆用户,通过uniq去重。 [root@mail ~]# who | grep -E -o “^[[:alnum:]]+” | uniq root 2、取出最后登录到当前系统的用户的相关信息。 思路:首先使用who取得最后…

    Linux干货 2018-03-18
  • inode、软硬链接区分、ln命令

    inode、软硬链接区分、ln命令 一、inode inode记录的是文件的属性及文件实际放在那块数据块中的。inode包含以下数据: 1. 该文件的可被访问的权限(read/write/excute) 2. 该文件的属主、属组(owner、group) 3. 该文件的大小 4. 该文件创建或者状态改变的时间(Ctim…

    Linux干货 2016-08-02
  • 正则 grep查找find(xargs)练手

    1、显示当前系统上root、fedora或user1用户的默认shell; ~]# grep -E "^(root|fedora|user1)\>" /etc/passwd | cut -d: -f7 2、找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello(); ~]# gre…

    Linux干货 2016-10-24
  • [转]百万级访问网站前期的技术准备

       [转]百万级访问网站前期的技术准备 开了自己域名的博客,第一篇就得来个重磅一点的才对得起这4美金的域名。作为一个技术从业者十年,逛了十年发现有些知识东一榔头西一棒槌的得满世界  看个遍才整理出个头绪,那咱就系统点的从头一步一步的说,一个从日几千访问的小小网站,到日访问一两百万的小网站,怎么才能让它平滑的度过这个阶段,别在 …

    Linux干货 2016-10-29
  • 编译内核

    了解内核;内核设计体系:单内核,微内核     linux:单内核设计,但充分借鉴了微内核体系的设计优点;为内核引入了模块化机制; 内核的组成部分一般有三种;     kernel:内核核心,一般为bzimage (bzip2格式所压缩的内核映像文件),这个文件通常位于/boot…

    Linux干货 2016-09-21
  • rsyslog记录日志于mysql

    rsyslog记录日志于mysql:     前提:准备好msql server或mariadb server;     (1) 安装rsyslog连接至mysql server的驱动模块;        &n…

    Linux干货 2016-12-05