常用的文本查看及处理命令

1、cat命令

(1)、作用

连接文件并打印到标准输出设备上,cat经常用来显示文件的内容。

(2)、用法

1):用法:cat  (参数) 文件

2):常用参数 -n或-number:有1开始对所有输出的行数编号;

-b或--number-nonblank:和-n相似,只不过对于空白行不编号;

-s或--squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行;

-A:显示不可打印字符,行尾显示“$”

-E:显示行结束符$

(3)、应用举例:

[root@localhost ~]# cat -n dayi123.txt   #显示行号打印文件内容

1  hello world

2

3  end

[root@localhost ~]# cat -b dayi123.txt   #对空白行不编号

1  hello world

2  end

[root@localhost ~]# cat -A dayi123.txt   #打印隐藏字符

hello world$

$

end$

[root@localhost ~]# cat -An dayi123.txt  #打印隐藏字符并显示行号

1  hello world$

2  $

3  end$

2、tac命令

(1)、作用

将文件的内容到过来看

(2)、用法

tac (参数) 文件

(3)、应用:

[root@localhost ~]# tac dayi123.txt

end

hello world

3、more命令

(1)、作用:分页查看文件内容,全屏幕的方式按页显示文本文件的内容,命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现一个提示信息,给出至今己显示的该文件的百分比

(2)、语法:more 文件

参数:    -<数字>:指定每屏显示的行数;

-d:显示“[press space to continue,'q' to quit.]”和“[Press'h' for instructions]”;

-c:不进行滚屏操作。每次刷新这个屏幕;

-s:将多个空行压缩成一行显示;

-u:禁止下划线;

+<数字>:从指定数字的行开始显示。

(3)、常用的操作:

1)按Space键:显示文本的下一屏内容。 按Enier键:只显示文本的下一行内容。

2)按斜线符|:接着输入一个模式,可以在文本中寻找下一个相匹配的模式。

3)按H键:显示帮助屏,该屏上有相关的帮助信息。

4)B键:显示上一屏内容。 按Q键:退出rnore命令。

4、less命令

(1)作用:分页查看文件内容,less命令显示文件时,用PageUp键向上翻页,用PageDown键向下翻页。要退出less程序,应按Q键

(2)语法:less [参数] 文件

参数:-e:文件内容显示完毕后,自动退出;

-f:强制显示文件;

-g:不加亮显示搜索到的所有关键词,仅显示当前显示的关键字,以提高显示速度;

-l:搜索时忽略大小写的差异;

-N:每一行行首显示行号;

-s:将连续多个空行压缩成一行显示;

-S:在单行显示较长的内容,而不换行显示;

-x<数字>:将TAB字符显示为指定个数的空格字符。

5、head命令

(1)作用:用于显示文件的开头的内容。在默认情况下,head命令显示文件的头10行内容

(2)语法:head [参数] 文件

参数:-n<数字>:指定显示头部内容的行数;

-c<字符数>:指定显示头部内容的字符数;

-v:总是显示文件名的头信息;

-q:不显示文件名的头信息。

(3)应用:

[root@localhost ~]# head -5 /etc/passwd    #显示文件前十行

root:x:0:0:root,mgedu,123456,23456:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

6、tail命令

(1)作用:用于输入文件中的尾部内容。tail命令默认在屏幕上显示指定文件的末尾10行

(2)语法:tail文件

参数:-n或——line=:输出文件的尾部N(N位数字)行内容。

--help:显示指令的帮助信息;

(3)应用:

[root@localhost ~]# tail -5 /etc/passwd   #显示文件倒数五行的内容

class:x:1003:1004:test:/home/class:/bin/sh

magedu:x:1004:1005::/home/magedu:/bin/bash

Test:x:1005:1007::/home/Test:/bin/bash

Program:x:1006:1008::/home/Program:/bin/bash

Operation:x:1007:1009::/home/Operation:/bin/bash

7、cut命令

(1)作用:用来显示行中的指定部分,删除文件中指定字段。cut经常用来显示文件的内容,还可将两个或多个文件中的内容通过重定向输出到另一个文件中。

(2)语法:cut [选项] [参数]

常用选项:-b:仅显示行中指定直接范围的内容;

-c:仅显示行中指定范围的字符;

-d:指定字段的分隔符,默认的字段分隔符为“TAB”;

-f:显示指定字段的内容;

-n:与“-b”选项连用,不分割多字节字符;

--complement:补足被选择的字节、字符或字段;

--out-delimiter=<字段分隔符>:指定输出内容是的字段分割符;

--help:显示指令的帮助信息;

--version:显示指令的版本信息。

(3)应用案例:

[root@localhost ~]# cut -d":" -f1,3,7 /etc/passwd | head -3

root:0:/bin/bash

bin:1:/sbin/nologin

daemon:2:/sbin/nologin

[root@localhost ~]# cut -d":" -f1,3,7 /etc/passwd | head -3 |cut -c 1-3

roo

bin

dae

8、wc命令

(1)作用:统计文件里的内容有多少行 多少个字节 字符

(2)语法:wc [选项] 文件

常用选项:wc -c filename:显示一个文件的字节数

wc -m filename:显示一个文件的字符数

wc -l filename:显示一个文件的行数

wc -L filename:显示一个文件中的最长行的长度

wc -w filename:显示一个文件的字数

(3)应用案例:

[root@localhost ~]# wc /etc/passwd #统计/etc/passwd文件中行数,字符数

32   55 1570 /etc/passwd

[root@localhost ~]# wc -l /etc/passwd  #统计/etc/passwd文件中行数

32 /etc/passwd

[root@localhost ~]# wc -m /etc/passwd  #统计/etc/passwd文件中字符数

1570 /etc/passwd

[root@localhost ~]# wc -w /etc/passwd  #统计/etc/passwd文件中字数

55 /etc/passwd

9、sort命令

(1)作用:将文本文件内容加以排序

(2)语法:sort [选项] 文件

选项:-f 忽略大小写

-n 以数值类型进行排序,默认以文本内容进行排序

-r 反向排序

-t 指定分隔符

-k n{,m}:按照指定的字段范围排序,第n字段开始,第m字段结束

(3)应用举例:

[root@localhost ~]# sort /etc/passwd | head -3  #对/etc/passwd排序

adm:x:3:4:adm:/var/adm:/sbin/nologin

avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin

bin:x:1:1:bin:/bin:/sbin/nologin

[root@localhost ~]# sort -r /etc/passwd | head -3 #对/etc/passwd反向排序

wangcai:x:1001:1001::/home/wangcai:/bin/bash

tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin

Test:x:1005:1007::/home/Test:/bin/bash

#按/etc/passwd中的字段进行反向排序

[root@localhost ~]# sort -t ":" -k 3,3 /etc/passwd | head -3root:x:0:0:root,mgedu,123456,23456:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

dayi123:x:1000:1000::/home/dayi123:/bin/bash

#按/etc/passwd中的第三字段以数字进行反向排序

[root@localhost ~]# sort -n -t ":" -k 3,3 /etc/passwd | head -3

root:x:0:0:root,mgedu,123456,23456:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

10、uniq命令

(1)作用:用于检查及删除文本文件中重复出现的行列

(2)语法:uniq [选项] 文件

常用选项:-c或--count 在每列旁边显示该行重复出现的次数。

-d或--repeated 仅显示重复出现的行列。

-f<栏位>或--skip-fields=<栏位> 忽略比较指定的栏位。

-s<字符位置>或--skip-chars=<字符位置> 忽略比较指定的字符。

-u或--unique 仅显示出一次的行列。

-w<字符位置>或--check-chars=<字符位置> 指定要比较的字符。

[输入文件] 指定已排序好的文本文件。

[输出文件] 指定输出的文件。

(3)应用举例

#统计日志文件/var/log/access_log中出现的IP地址次数

[root@localhost ~]# awk -F " " '{print $1}' /var/log/access_log | uniq -c

4 172.16.254.253

4 172.16.0.100

12 172.16.253.11

1 172.16.254.252

8 172.16.253.11

5 172.16.252.210

1 172.16.254.252

11、diff命令

(1)作用:比较给定的两个文件的不同

(2)语法:diff [参数] 文件1 文件2

参数:-a或——text:diff预设只会逐行比较文本文件;

-b或--ignore-space-change:不检查空格字符的不同;

-B或--ignore-blank-lines:不检查空白行;

-c:显示全部内容,并标出不同之处;

-u,-U<列数>或--unified=<列数>:以合并的方式来显示文件内容的不同

(3)应用举例:

[root@localhost ~]# cat dayi.txt dayi123.txt #查看两个文件的内容

hello world

end

haha

hello world

end

[root@localhost ~]# diff dayi123.txt dayi.txt  #比较两个文件的异同

3a4

> haha

12、文本查看命令综合应用

(1)统计日志中频繁访问的前10个IP

[root@localhost ~]# cat /var/log/access_log | cut -d" " -f1 | sort | uniq -c | sort -nr | head

29885 172.16.250.130

161 ::1

122 172.16.250.121

82 172.16.253.11

14 172.16.254.252

10 172.16.254.9

10 172.16.250.167

8 172.16.250.137

5 172.16.252.210

5 172.16.250.54

(2)查出分区空间使用率的最大百分比值

[root@localhost ~]# df -h

Filesystem      Size  Used Avail Use% Mounted on

/dev/sda3        18G  987M   17G   6% /

devtmpfs        480M     0  480M   0% /dev

tmpfs           489M     0  489M   0% /dev/shm

tmpfs           489M  6.7M  483M   2% /run

tmpfs           489M     0  489M   0% /sys/fs/cgroup

/dev/sda1       497M  118M  379M  24% /boot

tmpfs            98M     0   98M   0% /run/user/0

/dev/sr0        7.3G  7.3G     0 100% /mnt/cdrom

[root@localhost ~]# df -h | awk '{print $5}' | sort -nr | head -1

100%

(3)查出用户UID最大值的用户名、UID及shell类型

[root@localhost ~]# cat /etc/passwd | sort -nr  -t ":" -k 3,3 | head -1 | cut -d":" -f1,3,7

Operation:1007:/bin/bash

[root@localhost ~]# cat /etc/passwd | cut -d":" -f1,3,7 |sort -nr -t ":" -k 2,2 | head -1

Operation:1007:/bin/bash

(4)取出本机的IP地址

[root@dayi123 ~]# ifconfig eth0 | grep "inet addr" | cut -d":" -f2 | cut -d" " -f1

172.16.251.192

[root@dayi123 ~]# ifconfig eth0 | head -2 | tail -1 | awk '{print $2}' | cut -d":" -f2

172.16.251.192

Linux系统常用的文件查看及处理命令的更多相关文章

  1. Linux 学习手记(4):Linux系统常用Shell命令

    日期时间 date命令:显示当前时间日期 date -u # 显示格林威治(UTC)事件 date +%Y-%m-%d # 格式显示日期 date -s '20:25:25' # 修改系统时间,需要使 ...

  2. linux系统常用的基本命令分类

    linux系统常用的基本命令分类: 文件命令:vim vimdiff diff mkdir touch rm mv cp ln cd ls more less head tail cat grep e ...

  3. 9个Linux系统常用监控命令

    我们的系统一旦上线跑起来我们自然希望它一直相安无事,不要宕机,不要无响应,不要慢腾腾的.但是这不是打开机器电源然后放任不管就可以得到的.所以我们要监视系统的运行状况,发现问题及时处理. 对于系统和网络 ...

  4. Linux 系统常用管理命令(精简笔记)

    Linux是一套免费使用和自由传播的类Unix操作系统,下面的笔记是我从鸟菜中摘抄出来的重要命令,并进行了一定的排版,摒弃了一些用不到的乱七八糟的命令,目的是在生产环境中能够快速的定位并查询需要命令的 ...

  5. 一文详解 Linux 系统常用监控工一文详解 Linux 系统常用监控工具(top,htop,iotop,iftop)具(top,htop,iotop,iftop)

    一文详解 Linux 系统常用监控工具(top,htop,iotop,iftop)     概 述 本文主要记录一下 Linux 系统上一些常用的系统监控工具,非常好用.正所谓磨刀不误砍柴工,花点时间 ...

  6. linux系统下修改文件夹目录权限

    linux系统下修改文件夹目录权限 文件夹权限问题 Linux.Fedora.Ubuntu修改文件.文件夹权限的方法差不多.很多人开始接触Linux时都很头痛Linux的文件权限问题.这里告诉大家如何 ...

  7. linux系统中的文件权限详解(转)

    一.在<Linux系统中如何查看文件属性>中介绍了通过ls指令来查看文件的属性,具体如下: [命令] letuknowit@ubuntu:/$ cd /tmp letuknowit@ubu ...

  8. 使用Xshell在Windows系统和Linux系统之间进行文件传输

    版权声明:本文为转载内容. 原博客内容https://blog.csdn.net/love666666shen/article/details/75742077 Windows系统在安装虚拟机cent ...

  9. 使用WinSCP在Windows和Linux系统之间传输文件

    小梅哥编写,未经许可,严禁用于任何商业用途 2018年6月30日 在日常SoC开发中,我们经常需要在Windows和Linux系统之间传输文件,例如在Windows系统上的DS-5集成开发环境中编写好 ...

随机推荐

  1. Go指针

    Go 语言指针 Go 语言中指针是很容易学习的,Go 语言中使用指针可以更简单的执行一些任务. 接下来让我们来一步步学习 Go 语言指针. 我们都知道,变量是一种使用方便的占位符,用于引用计算机内存地 ...

  2. MySql 使用 EF Core 2.0 CodeFirst、DbFirst、数据库迁移(Migration)介绍及示例

    dotnet core 2.0 发布已经好几天了,期间也把原来 dotnet core 1.1 的 MVC 项目升级到了 2.0,升级过程还是比较顺利的,变动也不是太多.升级的过程中也少不了 Enti ...

  3. fetch默认不携带cookie

    最近在使用fetch向服务器发送请求,过程中的体会和遇到的问题在这里记录一下. fetch返回的是一个Promise对象,我们可以对返回的结果做进一步的处理,这是与传统ajax的一个区别. 简单的请求 ...

  4. vim 基本编辑操作

    一.光标跳转到指定行 1.在命令模式下,跳转到指定行  :n   (n为行号) 2.命令行加参数 vim +n fileName 3.命令行加参数 vim + fileName 光标移至文件底部 4. ...

  5. 【Mybatis】配置文件加载属性

    Mybatis将按照下面的顺序来加载属性: 1.在properties文本定义的属性首先被读取, 2.然后读取Mybatis的配置文件sqlConfig.xml配置文件中properties标签属性 ...

  6. 2017-05-4-C语言学习笔记

    C语言学习笔记... ------------------------------------ Hello C语言:什么是程序:程序是指:完成某件事的既定方式和过程.计算机中的程序是指:为了让计算机执 ...

  7. Postman测试http接口

    一.安装 官网:https://www.getpostman.com/ Postman是一个Chrome的一个插件工具,我们可以通过Chrome的应用商店进行进行搜索并安装,安装完成会在桌面上显示一个 ...

  8. mysql排序

    MySQL里desc和asc的意思    desc是descend 降序意思     asc 是ascend 升序意思    sql = "select 表内容名    from   数据库 ...

  9. UWP 手绘视频创作工具 “来画Pro” 技术分享系列

    开篇先来说一下我和来画的故事,以及写这篇文章的初衷. 今年年初时,我还在北京,在 Face++,做着人脸识别技术的 Windows 和 Android 端,做着人工智能终将实现世间所有美好的梦.这时的 ...

  10. C++基础:二维数组动态的申请内存和释放内存

    使用二维数组的时候,有时候事先并不知道数组的大小,因此就需要动态的申请内存.常见的申请内存的方法有两种:malloc/free 和 new/delete. 一.malloc/free (1)申请一维数 ...