Linux系统常用的文件查看及处理命令
常用的文本查看及处理命令
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系统常用的文件查看及处理命令的更多相关文章
- Linux 学习手记(4):Linux系统常用Shell命令
日期时间 date命令:显示当前时间日期 date -u # 显示格林威治(UTC)事件 date +%Y-%m-%d # 格式显示日期 date -s '20:25:25' # 修改系统时间,需要使 ...
- linux系统常用的基本命令分类
linux系统常用的基本命令分类: 文件命令:vim vimdiff diff mkdir touch rm mv cp ln cd ls more less head tail cat grep e ...
- 9个Linux系统常用监控命令
我们的系统一旦上线跑起来我们自然希望它一直相安无事,不要宕机,不要无响应,不要慢腾腾的.但是这不是打开机器电源然后放任不管就可以得到的.所以我们要监视系统的运行状况,发现问题及时处理. 对于系统和网络 ...
- Linux 系统常用管理命令(精简笔记)
Linux是一套免费使用和自由传播的类Unix操作系统,下面的笔记是我从鸟菜中摘抄出来的重要命令,并进行了一定的排版,摒弃了一些用不到的乱七八糟的命令,目的是在生产环境中能够快速的定位并查询需要命令的 ...
- 一文详解 Linux 系统常用监控工一文详解 Linux 系统常用监控工具(top,htop,iotop,iftop)具(top,htop,iotop,iftop)
一文详解 Linux 系统常用监控工具(top,htop,iotop,iftop) 概 述 本文主要记录一下 Linux 系统上一些常用的系统监控工具,非常好用.正所谓磨刀不误砍柴工,花点时间 ...
- linux系统下修改文件夹目录权限
linux系统下修改文件夹目录权限 文件夹权限问题 Linux.Fedora.Ubuntu修改文件.文件夹权限的方法差不多.很多人开始接触Linux时都很头痛Linux的文件权限问题.这里告诉大家如何 ...
- linux系统中的文件权限详解(转)
一.在<Linux系统中如何查看文件属性>中介绍了通过ls指令来查看文件的属性,具体如下: [命令] letuknowit@ubuntu:/$ cd /tmp letuknowit@ubu ...
- 使用Xshell在Windows系统和Linux系统之间进行文件传输
版权声明:本文为转载内容. 原博客内容https://blog.csdn.net/love666666shen/article/details/75742077 Windows系统在安装虚拟机cent ...
- 使用WinSCP在Windows和Linux系统之间传输文件
小梅哥编写,未经许可,严禁用于任何商业用途 2018年6月30日 在日常SoC开发中,我们经常需要在Windows和Linux系统之间传输文件,例如在Windows系统上的DS-5集成开发环境中编写好 ...
随机推荐
- Go指针
Go 语言指针 Go 语言中指针是很容易学习的,Go 语言中使用指针可以更简单的执行一些任务. 接下来让我们来一步步学习 Go 语言指针. 我们都知道,变量是一种使用方便的占位符,用于引用计算机内存地 ...
- MySql 使用 EF Core 2.0 CodeFirst、DbFirst、数据库迁移(Migration)介绍及示例
dotnet core 2.0 发布已经好几天了,期间也把原来 dotnet core 1.1 的 MVC 项目升级到了 2.0,升级过程还是比较顺利的,变动也不是太多.升级的过程中也少不了 Enti ...
- fetch默认不携带cookie
最近在使用fetch向服务器发送请求,过程中的体会和遇到的问题在这里记录一下. fetch返回的是一个Promise对象,我们可以对返回的结果做进一步的处理,这是与传统ajax的一个区别. 简单的请求 ...
- vim 基本编辑操作
一.光标跳转到指定行 1.在命令模式下,跳转到指定行 :n (n为行号) 2.命令行加参数 vim +n fileName 3.命令行加参数 vim + fileName 光标移至文件底部 4. ...
- 【Mybatis】配置文件加载属性
Mybatis将按照下面的顺序来加载属性: 1.在properties文本定义的属性首先被读取, 2.然后读取Mybatis的配置文件sqlConfig.xml配置文件中properties标签属性 ...
- 2017-05-4-C语言学习笔记
C语言学习笔记... ------------------------------------ Hello C语言:什么是程序:程序是指:完成某件事的既定方式和过程.计算机中的程序是指:为了让计算机执 ...
- Postman测试http接口
一.安装 官网:https://www.getpostman.com/ Postman是一个Chrome的一个插件工具,我们可以通过Chrome的应用商店进行进行搜索并安装,安装完成会在桌面上显示一个 ...
- mysql排序
MySQL里desc和asc的意思 desc是descend 降序意思 asc 是ascend 升序意思 sql = "select 表内容名 from 数据库 ...
- UWP 手绘视频创作工具 “来画Pro” 技术分享系列
开篇先来说一下我和来画的故事,以及写这篇文章的初衷. 今年年初时,我还在北京,在 Face++,做着人脸识别技术的 Windows 和 Android 端,做着人工智能终将实现世间所有美好的梦.这时的 ...
- C++基础:二维数组动态的申请内存和释放内存
使用二维数组的时候,有时候事先并不知道数组的大小,因此就需要动态的申请内存.常见的申请内存的方法有两种:malloc/free 和 new/delete. 一.malloc/free (1)申请一维数 ...