当前位置: 首页 > news >正文

四、Linux入门之文件查看命令

文件处理命令

查看文本文件内容常用命令: cat ,more,less
文件截取:head,tail
按列抽取:cut
排序和统计:sort,wc
按关键字抽取:grep

cat命令

	cat [OPTION]... [FILE]...
		-E:显示行结束符$
		-n:对显示出的每一行进行编号
		-A:显示所有控制符
		-b:非空行编号
		-s:压缩连续的空行成一行
	示例:
		cat f1.txt		查看文件
		cat –E f1.txt	显示内容行结束符号:$
		cat –n f1.txt	显示行号,空行也计入行数编号
		cat –b f1.txt	显示行号,但空行不计入行数编号
		cat –s f1.txt	压缩空行,把多个连续的空行压缩成一行
		实现多行输出保存到文件
			cat > f1.txt << EOF
			>aaaaaaaaaa
			>bbbbbbbbb
			>ccccccccccc
			>EOF

tac命令

	反向显示文件内容,即文件首尾倒转
	tac f1.txt			文件显示方向与cat f1.txt相反

rev命令

	把文件的每一行中的字符串的首尾反向显示	

nl命令

	查看文件并显示行号,空行不计入行数编号
	nl f1.txt 		功能与cat –b f1.txt 类似

more命令

	more:分页查看文件内容
	more [OPTIONS...] FILE...
		-d: 显示翻页及退出提示

less命令

	less:一页一页地查看文件或STDIN输出
	查看时有用的命令包括:
		/string: 	搜索指定的string
		n/N:	跳到下一个或上一个匹配
	less 命令是man命令使用的分页器

head命令

	显示文件从开头起的某些行,默认显示开头10行
	head [OPTION]... [FILE]... 
		-c #  指定获取前#字节
		-n #  指定获取前#行
		-#  指定行数

tail命令

	显示文件从结尾起的某些行,默认显示文件倒数的前10行
	tail [OPTION]... [FILE]...
		-c #:	指定获取后#字节
		-n #:	指定获取后#行
		-#:		同上
		-f:		跟踪显示文件fd新追加的内容,常用日志监控相当于 --follow=descriptor
		-F: 	跟踪文件名,相当于--follow=name –retry
		tailf 类似tail –f,当文件不增长时并不访问文件
	示例:
	tail -f /var/log/message		可以跟踪查看日志,只要有新的数据添加到文件就会自动显示出来

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,3,7 /etc/passwd		将文本中的每行以”:”为分隔符分割,获取1、3、7行,并显示
			cut /etc/passwd | cut -d: -f3,7	功能与上面的一样
			cut -c2-5 /usr/share/dict/words	截取每行的第2至第5个字符

paste命令

	合并两个文件同行号的列到一行
		paste [OPTION]... [FILE]...
			-d 分隔符:指定分隔符,默认用TAB
			-s : 所有行合成一行显示
	示例:
		paste f1 f2
		paste -s f1 f2

wc命令

	收集文本统计数据,计数单词总数、行总数、字节总数和字符总数
	可以对文件或STDIN中的数据运行
		wc story.txt
			39		237		1901	story.txt
			行数		字数		字节数
	常用选项:
		-l:		只计数行数
		-w:		只计数单词总数
		-c:		只计数字节总数
		-m:		只计数字符总数
		-L:		显示文件中最长行的长度
	示例
		ls -al /etc | wc -l 		计算有多少行			

sort命令

	文本排序sort,把整理过的文本显示在STDOUT,不改变原始文件
	sort [options] file(s)
	常用选项:
		-r:		执行反方向(由上至下)整理
		-R:		随机排序
		-n:		执行按数字大小整理
		-f:		选项忽略(fold)字符串中的字符大小写
		-u:		选项(独特,unique)删除输出中的重复行
		-t c:		选项使用c做为字段界定符
		-k X:		选项按照使用c字符分隔的X列来整理能够使用多次
	示例:
		cut -d: -f1,3,7 /etc/passwd | sort -t: -k 2 -nr 	#获取passwd中的用户名,UID,默认shell,使用sort进行排序,排序规则是使用:为界定符,选取第2列按照数字从大到小进行排序
		seq 100 | sort -R			随机排序

uniq命令

	uniq命令:从输入中删除前后相接的重复的行
	uniq [OPTION]... [FILE]...
		-c: 显示每行重复出现的次数
		-d: 仅显示重复过的行
		-u: 仅显示不曾重复的行,注:连续且完全相同方为重复
	常和sort 命令一起配合使用: 
		sort  userlist.txt  |  uniq  -c

diff命令

	比较两个文件之间的区别
		diff foo.conf foo2.conf
			5c5
			<   use_widgets = no
			…
			>   use_widgets = yes
		注明第5行有区别(改变)
	diff命令的输出被保存在一种叫做“补丁”的文件中
	使用-u选项来输出”统一的(unified)”diff格式文件,最适用于补丁文件
	patch 复制在其它文件中进行的改变(要谨慎使用)
	适用-b选项来自动备份改变了的文件
		diff -u foo.conf foo2.conf > foo.patch
		patch -b foo.conf foo.patch

练习

	1、找出ifconfig “网卡名”命令结果中本机的IPv4地址
		答:ifconfig eth0 | head -n2 | tail -n1 | tr -s ‘ ’ | cut -d’ ’ -f3
	2、查出分区空间使用率的最大百分比值
		答:df | tr -s ' ' '%' | cut -d'%' -f5 | tr -d '[[:alpha:]]' | sort -n | tail -1
	3、查出用户UID最大值的用户名、UID及shell类型
		答:cut -d: -f1,3,7 /etc/passwd | sort -t ":" -k 2 -n | tail -1
	4、查出/tmp的权限,以数字方式显示
		答:stat  /tmp |head -n4|tail -n1| cut -d/ -f1 | cut -d'(' -f2
	5、统计当前连接本机的每个远程主机IP的连接数,并按从大到小排序
		答:netstat -nt | tr -s ' ' ':' | cut -d: -f6 | sort | uniq -c | sort -nr

相关文章:

  • 4、Linux入门之文本处理小练习
  • 五、Linux入门之文件查找与打包解压缩
  • Linux入门之文本处理三剑客grep、sed、akw
  • 5、Linux入门之小练习
  • Linux入门之正则表达式
  • 七、Linux入门之软件包管理
  • 七、Linux入门之磁盘存储和文件系统
  • 7、Linux入门之小练习
  • 十、Linux入门之Shell进阶
  • tekla钢结构算量_【BIM应用案例】钢结构第一楼:天津117大厦!
  • matlab 加入高频噪声_电路中共模噪声的产生和抑制机理
  • 类图中表达总体与局部的关系_游戏中的亲密关系表达
  • ppt流程图字体太小_PPT字体使用攻略,看这一篇文章就够了!
  • mediarecorder添加时间戳_LeetCode312.戳气球
  • 数据库建造_详细解答二级建造师考试哪些专业可以报
  • 11111111
  • Docker容器管理
  • Electron入门介绍
  • ES6核心特性
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • React中的“虫洞”——Context
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • Swift 中的尾递归和蹦床
  • windows-nginx-https-本地配置
  • 对JS继承的一点思考
  • 浅谈Golang中select的用法
  • 如何优雅地使用 Sublime Text
  • ​LeetCode解法汇总518. 零钱兑换 II
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • ​一些不规范的GTID使用场景
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • (0)Nginx 功能特性
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (阿里云万网)-域名注册购买实名流程
  • (个人笔记质量不佳)SQL 左连接、右连接、内连接的区别
  • (十二)python网络爬虫(理论+实战)——实战:使用BeautfulSoup解析baidu热搜新闻数据
  • (一)ClickHouse 中的 `MaterializedMySQL` 数据库引擎的使用方法、设置、特性和限制。
  • (一)u-boot-nand.bin的下载
  • (转)shell调试方法
  • *Algs4-1.5.25随机网格的倍率测试-(未读懂题)
  • .NET delegate 委托 、 Event 事件
  • .NET 常见的偏门问题
  • .net访问oracle数据库性能问题
  • .NET使用存储过程实现对数据库的增删改查
  • .Net中wcf服务生成及调用
  • @converter 只能用mysql吗_python-MySQLConverter对象没有mysql-connector属性’...
  • @reference注解_Dubbo配置参考手册之dubbo:reference
  • [202209]mysql8.0 双主集群搭建 亲测可用
  • [Android] Android ActivityManager
  • [BZOJ2281][SDOI2011]黑白棋(K-Nim博弈)
  • [C++] Windows中字符串函数的种类
  • [C++]priority_queue的介绍及模拟实现
  • [CentOs7]iptables防火墙安装与设置
  • [CentOs7]搭建ftp服务器(2)——添加用户