Linux系统文件与目录内容检索(Day.2)

一、文件和目录内容检索处理命令

1、uniq去重

语法

uniq [options] [input_file [output_file]]

选项

选项作用
-c进行计数,并删除文件中重复出现的行
-d仅显示连续的重复行
-u仅显示出现一次的行
-i忽略大小写

案例

1、删除输入文件中的重复行

sort input.txt | uniq

 

2、仅显示重复的行

sort input.txt | uniq -d

 

3、忽略大小写进行比较

sort -i input.txt | uniq -i

4、进行计数,并删除文件中重复出现的行

sort uniq.txt | uniq -c

 

2、tr转换

语法

tr [options] set1 set2

选项

选项作用
-c保留字符集1的字符,其他的字符用(包括换行符\n)字符集2替换
-d删除所有属于字符集1(-d 后面的参数)的字符
-s将重复出现的字符串压缩为一个字符串;用字符集2 替换 字符集1
-t字符集2 替换 字符集1,不加选项同结果

案例

1、将文本中的大写字母转换为小写字母

cat uniq.txt | tr 'A-Z' 'a-z'

2、删除文本中的空格

echo "hello world" | tr -d ' '

3、将文本中的特定字符替换为另一个字符

echo "abc-" | tr 'a-z' 'X-Y'

4、压缩重复字符

echo "foo     bar" | tr -s ' '

 

5、去掉空白符

echo "hello\tworld" | tr -d '[:space:]'

3、cut切割

语法

cut [options] [field-spec]

选项

选项作用
-f通过指定哪一个字段进行提取。cut命令使用“TAB”作为默认的字段分割符
-d“TAB”是默认的分隔符,使用此选项可更改为其他的分隔符
-c以字符为单位进行分割
- -complement用于排除所指定的字段
- -output-delimiter更改输出内容的分隔符
-s跳过空白字段
-b, -B仅打印非空白的字段。

案例

1、提取指定范围内的字段:(连续)

cut -d ':' -f 1-3 file.txt

 

2、使用制表符作为分隔符提取字段

cut -d $'\t' -f 1 file.txt

3、提取指定文件中的所有字段(Rocky9中不可用)

cut -d ':' -f * file.txt

4、仅提取非空白字段

cut -b 3 file.txt

5、使用通配符提取多个字段:(可以不连续)

cut -d':' -f 1,2,3 file.txt

6、统计messages(系统)日志每个时间点产生日志的条目数量

cut -d' ' -f 4 messages | cut -d ':' -f 1 | uniq -c

7、统计web站点访问用户数

[root@c2407 nginx]# cat access.log  | cut -d " " -f 1 | uniq -c12 192.168.115.125 192.168.115.100

4、which命令

语法

which [command]

选项

选项作用
-a--all打印所有匹配的命令路径,而不仅仅是第一个匹配的。
-p--print-path除了命令名称外,还打印出完整的路径。
-v--version打印 which 命令的版本信息。

案例

5、whereis命令

语法

whereis [-bms] [-u] [-f] [-h] [-L] [-M] [-S] [-version] [command]

选项

选项作用
-b--binary只查找二进制文件。
-m--manual只查找手册页。
-s--source只查找源代码文件。
-u--usage打印使用说明。
-f--follow跟随符号链接。
-h--help打印帮助信息。
L--logical搜索逻辑路径,不包含物理符号链接。
-M--physical搜索物理路径,不包含逻辑符号链接。
-S--size只查找指定大小的文件。

6、diff命令

语法

diff [选项] 文件1 文件2

选项

选项作用
-q--quiet只输出文件差异的文件名,不显示详细差异。
-c--context以语境方式显示差异,默认显示3个字符的上下文。
-u--unified以统一的方式显示差异,这是默认模式,显示共同的祖先与当前文件之间的差异。
-a--text比较文本文件,忽略文件的格式差异。
-b--ignore-space-change忽略空白的差异(空格、制表符等)。
-B--ignore-space-at-eol忽略每行末尾的空白差异。
-i--ignore-case忽略大小写差异。
-D--horizontal-split以水平分割的方式显示差异。
-E--sideby-side以并排的方式显示差异。
-l--from-file只显示文件2相对于文件1的差异。
-r--recursive递归地比较目录。
-N--new-file当文件2是文件1不存在的文件时,只显示文件2的内容。
-x--exclude跳过指定模式的文件。
-X--exclude-from从指定的文件中读取排除模式。
--from-file=FILE-l,指定比较的基准文件。
--horizontalsplit-D,以水平分割的方式显示差异。
--left-column只显示左侧列的差异。
--no-dereference不解析符号链接。
--old-file当文件1是文件2不存在的文件时,只显示文件1的内容。
--recursive-r,递归地比较目录。
--right-column只显示右侧列的差异。
--speed-large-files用于大文件,减少内存使用。

案例

[root@c2407 opt]# diff /etc/passwd ./passwd 
44d43
< nginx:x:988:982:Nginx web server:/var/lib/nginx:/sbin/nologin

比较两个文件的区别差距

二、文件与目录归档压缩命令

1、tar命令

语法

tar [选项] [归档文件名] [-C] [解压路径]

常用组合选项:

归档:tar zcvf

           tar jcvf

解压:tar xf -C

查看:tar tvf

选项

选项作用
-z,--gzip用 gzip 对存档压缩
-c, --create建立新的存档
-v, --verbose详细显示处理的文件
-f, --file指定存档文件路径及名称
-j, --bzip2通过 bzip2 过滤归档
-x, --extract, --get从归档中解出文件
-C指定解压后的存储路径
tvf仅查看归档包中的文件内容

案例

1、归档/root下所有内容

2、查看压缩内容

3、压缩

tar -jcvf lx.tar.bz2 lx.txt
tar -zcvf lx.tar.gz lx.txt

4、解压

解压到当前目录

tar xf opt.tar

解压到其他目录 -C  /tmp/

2、zip命令

语法

zip 压缩后的文件名 需要压缩的文件

解压缩命令

unzip 压缩文件名

3、gzip命令

语法

gzip 需要压缩的文件

解压缩命令

gunzip 压缩文件

案例

4、bzip2命令

语法

bzip2 需要压缩的文件

解压缩命令

bunzip2 压缩文件

案例

三、统计命令

1、wc

wc -l 行数 
wc -w 单词
wc -c 字符

2、du

du -sh 总容量
su -ah 每个文件的容量及总容量

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/91855.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/91855.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何选择一个容易被搜索引擎发现的域名?

在这个数字化时代&#xff0c;域名不仅是企业线上身份的标识&#xff0c;更是影响网站搜索曝光率的关键因素。一个精心挑选的域名能为品牌带来更多自然流量&#xff0c;下面我们就来探讨几个实用技巧。一、简洁易记是王道好域名首先要让人过目不忘。想象一下&#xff0c;当用户…

树形DP进阶:结合dfn序的线性化树问题求解技巧

树形DP进阶&#xff1a;结合dfn序的线性化树问题求解技巧一、dfn序与树的线性化1.1 dfn序的基本概念1.2 树形DP结合dfn序的优势二、核心应用&#xff1a;子树区间的DP优化2.1 子树权值和的快速查询与更新问题描述结合dfn序的解法代码实现&#xff08;前缀和版本&#xff09;优化…

九、Maven入门学习记录

Maven介绍Maven作用统一项目结构Maven安装&#xff08;注意配置阿里云私服时url要跟换成最新的&#xff09;IDEA创建Meavn项目Maven坐标介绍IDEA导入Maven项目依赖配置依赖传递依赖传递-排除依赖依赖范围生命周期生命周期-执行特定生命周期生命周期-总结

中标喜讯 | 安畅检测再下一城!斩获重庆供水调度测试项目

安畅检测在第三方检测领域持续深耕&#xff0c;再传捷报&#xff01;公司于2025年7月30日正式收到中标通知&#xff0c;成功拿下重庆水资源产业股份有限公司 “重庆西部科学城多水厂分区分压供水优化调度研究项目&#xff08;软件测试标段&#xff09;”。 此次中标不仅是市场…

银河麒麟V10一键安装DM8的脚本及高阶运维SQL分享

介质下载地址名称网址银河麒麟高级服务器操作系统V10&#xff08;SP3&#xff09;用户手册https://www.kylinos.cn/support/document/60.htmlDM8 安装手册https://eco.dameng.com/document/dm/zh-cn/pm/install-uninstall.htmlDM 数据库安装&#xff08;Linux安装&#xff09;h…

cobalt strike(CS)与Metasploit(MSF)联动

CS —> MSF首先cs上创建一个http的外部监听器。此时在CS服务端查看监听的ip&#xff0c;发现并没有开启&#xff0c;需要到成功移交会话后才会启动。netstat -tunlp | grep 7000在MSF中使用handler模块&#xff0c;配置监听。注意&#xff1a;目标机器的地址是rhost&#xf…

C# 类型

原文&#xff1a;C# 类型_w3cschool C#类型 类型定义值的蓝图。有不同的操作与不同类型相关联。 在下面的示例中&#xff0c;我们使用两个类型为int的常量&#xff0c;值为2 和 3。 static void Main() {int x 2 * 3;Console.WriteLine (x); } int 是一个表示整数值的构建…

确保TDesign Vue Next中t-color-picker组件在弹出颜色拾取面板时保证该面板不抖动方法参考

使用TDesign Vue Next中的组件t-color-picker时&#xff0c;在颜色面板弹出后&#xff0c;如果修改里面的颜色&#xff0c;发现这个颜色拾取面板会随着颜色的改变位置不断抖动&#xff0c;该问题由显示颜色的数值文本的长度变化引起&#xff0c;因此要覆盖组件内部颜色值文本的…

bypass

代码解析修改自身bypass&#xff1a;第一句话$s"Declaring file object\n";定义一个s&#xff0c;值为Declaring file object第二句话$d$_SERVER[DOCUMENT_ROOT].$_SERVER[DOCUMENT_URI]; 不知道$_SERVER是什么&#xff0c;那就打印出来看看。输入echo <pre>;…

C语言:构造类型学习

内容提要 构造类型 枚举类型typedef 综合案例&#xff1a;斗地主 构造类型 枚举类型 建议&#xff1a;如果定义不相干的常理&#xff0c;使用宏定义&#xff08;符号常量&#xff09;&#xff1b;如果需要定义一组相关联的常量&#xff0c;如月份0~11&#xff0c;星期0~6&#…

Prometheus-3--Prometheus是怎么抓取Java应用,Redis中间件,服务器环境的指标的?

1、Prometheus抓取Java应用的指标 1、数据来源&#xff1a;Java应用自身暴露的指标 Java应用的指标数据来源于应用代码中定义的指标对象&#xff08;如Counter、Gauge、Histogram等&#xff09;&#xff0c;通过Prometheus客户端库&#xff08;如io.prometheus:client_java&…

42.安卓逆向2-补环境-unidbg安装和简单使用

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a;图灵Python学院 工具下载&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1bb8NhJc9eTuLzQr39lF55Q?pwdzy89 提取码&#xff1…

数据结构与算法:哈希函数的应用及一些工程算法

前言这篇里的东西可以说了解了解就行了。一、哈希函数均匀性展示原本让deepseek转了一下老师的java代码&#xff0c;但发现复刻起来太麻烦了。又因为这个理解就好&#xff0c;竞赛不会有&#xff0c;所以就直接贴老师的java代码了……import java.security.MessageDigest; impo…

交叉编译ARM环境

ARM交叉编译 可以采用交叉编译工具链&#xff1a; sudo apt-get install aarch64-linux-gnu-gcc sudo apt-get install aarch64-linux-gnu-g sudo apt-get install gcc-arm-linux-gnueabi sudo apt-get install g-arm-linux-gnueabi 上面两个是64位&#xff0c;下面两个是…

算法思想 之 拓扑排序问题

欢迎拜访&#xff1a;雾里看山-CSDN博客 本篇主题&#xff1a;算法思想 之 拓扑排序问题 发布时间&#xff1a;2025.8.4 隶属专栏&#xff1a;算法 目录算法介绍核心原理适用场景实现步骤(Kahn 算法)例题课程表题目链接题目描述算法思路代码实现课程表 II题目链接题目描述算法思…

机器学习 入门——决策树分类

决策树是一种直观且强大的机器学习算法&#xff0c;适用于分类和回归任务。本文将全面介绍决策树分类的原理、实现、调优和实际应用。一、什么是决策树分类1.概念决策树分类是一种树形结构的分类模型&#xff0c;它通过递归地将数据集分割成更小的子集来构建决策规则。就像我们…

虚拟机中查看和修改文件权限

在虚拟机中管理文件权限是系统管理的重要部分&#xff0c;无论是在Linux还是Windows虚拟机中。下面我将详细介绍两种主要系统的权限管理方法。Linux虚拟机中的文件权限管理查看文件权限使用ls命令&#xff1a;ls -l 文件名输出示例&#xff1a;-rwxr-xr-- 1 user group 1024 Ju…

图像处理拉普拉斯算子

AI对话记录&#xff0c;还没有来得及仔细验证和推导&#xff0c;目前只是记录 当然可以&#xff01;我们来一步步推导拉普拉斯算子在旋转变换下保持不变的数学过程。这里以二维情况为例&#xff0c;最直观也最常见。&#x1f9ee; 拉普拉斯算子旋转不变性的推导&#xff08;二维…

React ahooks——副作用类hooks之useThrottleEffect

useThrottleEffect 是 ahooks 提供的节流版 useEffect&#xff0c;它在依赖项变化时执行副作用函数&#xff0c;但会限制执行频率。一、基本语法useThrottleEffect(effect: React.EffectCallback,deps?: React.DependencyList,options?: Options )二、参数详解2.1. effect (必…

【建模与仿真】融合画像约束和潜在特征的深度推荐算法

导读&#xff1a; 基于深度学习的推荐算法已成为推荐系统领域的研究趋势。然而&#xff0c;大多数现有工作仅考虑单一的用户与物品交互数据&#xff0c;限制了算法的预测性能。本文提出一种画像约束的编码方式&#xff0c;并融合隐因子模型中的潜在特征&#xff0c;丰富了推荐…