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

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. leetcode First Bad Version(二分查找)

    You are a product manager and currently leading a team to develop a new product. Unfortunately, the ...

  2. ubuntu修改grub,修改开机顺序,配置grub启动顺序

    方法一: 1.进入Ubuntu系统后打开终端 2.终端中输入以下命令 sudo gedit /boot/grub/grub.cfg 3.找到Windows的配置将其剪切到Ubuntu的前面 把下面 # ...

  3. Run Performance Testing Which Was Distributed To Multiple Test Agents

    How to solve the VS installed machine cannot run performance testing by .testsettings file, which wi ...

  4. HTML进阶

    HTML表单 form标签 <form> 标签代表一个表单,表单用于向服务器传输数据. 标签能够包含 <input> ,可以是文本字段,复选框,单选框或提交按钮等.还可以包含& ...

  5. JPA 中文乱码问题

    背景 Spring Boot使用JPA,当前端传入到后端的数据为中文的时候,入库变为??? 解决方法 修改下项目的配置文件中DB的配置,新增characterEncoding=utf-8即可 spri ...

  6. Win10个性化设置

    Win10个性化设置.. ---------------------- Capture001-我的桌面 ---------------------- Win10设置任务栏的颜色 ----------- ...

  7. Hibernate级联操作解密(inverse和cascade)

    总结: Cascade:对级联操作进行限制,有如下几个参数: all : 所有情况下均进行关联操作.  none:所有情况下均不进行关联操作.这是默认值.  save-update:在执行save/u ...

  8. Xcode修改包名(含cocopods)

    由于需要现在要更改包名,但是在网上找了N多资料都比较老,16年的资料却是残缺不全,尤其 ios10 出了 .entitlement  的机制 ,很多琐碎的小细节 很容易忘记.所以我自己总结了一篇. 注 ...

  9. 递归调用里的性能问题(js)

    说明 这是在codewars.com上刷的一道js练习题,在此做个记录 问题描述 The Fibonacci sequence is traditionally used to explain tre ...

  10. 更改pip源至国内镜像,显著提升下载速度

    经常在使用Python的时候需要安装各种模块,而pip是很强大的模块安装工具,但是由于国外官方pypi经常被墙,导致不可用,所以我们最好是将自己使用的pip源更换一下,这样就能解决被墙导致的装不上库的 ...