【Linux基础】文件查找和文本处理指令

目录

grep命令

find命令

tar命令

head命令

tail命令

wc命令

tee命令


grep命令

作用:在文件中搜索匹配特定模式的文本行,并将结果输出到标准输出(通常是终端)。

基本用法

grep [选项] 搜索模式 [文件名]

常用选项

  • -i:忽略大小写,进行不区分大小写的搜索。
  • -v:反向搜索,输出不匹配搜索模式的行。
  • -n:在输出中显示匹配行的行号。
  • -c:统计匹配行的数量,而不是输出匹配的行。
  • -l:只列出包含匹配行的文件名,而不是输出匹配的行。
  • -r-R:递归搜索目录中的所有文件。
  • -w:仅匹配整词,避免部分匹配。
  • -e:指定多个搜索模式,可以多次使用 -e 来指定多个模式。
  • -o:仅输出匹配的部分,而不是整行。

例子:

#搜索目录example中文件包含 "error" 或 "warning" 的行
grep -e "error" -e "warning"  -r example/#搜索error所在的文件
grep -lr "error" example

find命令

作用:在目录树中查找文件和目录。

基本用法

find [路径] [选项] [表达式]
  • 路径:指定查找的起始目录,默认为当前目录 (.)。
  • 选项:控制find的行为。
  • 表达式:定义查找条件。

常用选项

1.按名称查找

  • -name:按文件名查找(区分大小写)。
  • -iname:按文件名查找(不区分大小写)。
find /path/to/search -name "filename"

2.按类型查找

  • -type f:查找文件。
  • -type d:查找目录。
find /path/to/search -type f

3.按大小查找

  • -size +100M:查找大于 100MB 的文件。
  • -size -100M:查找小于 100MB 的文件。
find /path/to/search -size +100M

4.按时间查找

  • -mtime -7:查找过去 7 天内修改的文件。
  • -mtime +7:查找 7 天前修改的文件。
  • -atime:按访问时间查找。
  • -ctime:按状态变更时间查找。
find /path/to/search -mtime -7

5.执行操作

  • -exec:对查找到的文件执行命令,{}代表当前文件,\;表示命令结束。
find /path/to/search -name "*.log" -exec rm {} \;

6.组合条件

  • -and:逻辑与(默认)。
  • -or:逻辑或。
  • -not:逻辑非。
find /path/to/search -name "*.txt" -and -size +1M

最常用的起始也就前面两种用法。

tar命令

作用:用于文件打包和压缩。

基本用法

tar [选项] [输出文件] [输入文件或目录]
  • 选项:控制tar的行为(如创建、提取、压缩等)。
  • 输出文件:生成的归档文件名(如.tar、.tar.gz等)。
  • 输入文件或目录:需要打包的文件或目录。

常用参数选项

  • -c --create:创建新的归档文件,即打包,打包的意思就是说把一堆文件打包成一个文件。
  • -x --extract:解压文件。
  • -v --verbose:可视化,显示详细的tar处理的文件信息的过程。
  • -f --file:要操作的文件名。
  • -z:通过gzip来进行压缩或解压缩(.tar.gz或.tgz)。
  • -j:通过bzip2来归档压缩文件(.tar.bz2)。
  • -J:使用xz压缩工具压缩成.xz文件(.tar.xz)。
  • -t --list:列出归档文件中的内容。
  • -r:向归档文件中追加文件。
  • -C --directory=DIR:解压文件至指定的目录,如果是解压到当前目录,可以不加-C。

例子

#解压到指定目录
tar -xzvf archive.tar.gz -C /path/to/directory#查看文件中的内容
tar -tzvf archive.tar.gz#追加文件
tar -rvf archive.tar newfile#打包并压缩
tar -czvf archive.tar.gz file1 file2 dir1#解压
tar -xzvf archive.tar.gz

常用压缩格式对比

格式

命令选项

压缩率

速度

文件扩展名

gzip

-z

中等

较快

.tar.gz

bzip2

-j

较高

较慢

.tar.bz2

xz

-J

最高

最慢

.tar.xz

head命令

作用:显示文件的开头部分(默认显示前 10 行)。它通常用于快速查看文件的内容,而不需要加载整个文件。

基本用法

head [选项] [文件]

常用选项

选项

说明

-n <行数>

显示文件的前 <行数>行(例如 -n 20)。

-c <字节数>

显示文件的前 <字节数>字节。

-q

不显示文件名(静默模式)。

-v

总是显示文件名(默认行为)。

例子

#显示前十行
head filename.txt#显示前N行
head -n N filename.txt#显示前N个字节
head -c N filename.txt#显示多个文件的前N行,并在每个文件内容前显示文件名。
head -n N file1.txt file2.txt#静默模式(不显示文件名)
head -q -n N file1.txt file2.txt#从标准输入读取数据 通过管道将cat的输出传递给head,显示前10行。
cat filename.txt | head -n 10

tail命令

作用:用于显示文件的末尾部分(默认显示最后 10 行)。它通常用于查看日志文件或实时监控文件内容的变化。

基本用法

tail [选项] [文件]

常用选项

选项

说明

-n <行数>

显示文件的最后 <行数>行(例如 -n 20)。

-c <字节数>

显示文件的最后 <字节数>字节。

-f

实时跟踪文件内容的变化(常用于日志监控)。

-q

不显示文件名(静默模式)。

-v

总是显示文件名(默认行为)。

例子

#显示文件的最后十行
tail filename.txt#实时显示文件内容的变化
tail -f /var/log/syslog

wc命令

作用:主要用于统计文件的行数、单词数和字节数等信息。默认会同时统计行数、单词数和字节数。

基本用法

wc [选项] 文件名

常用选项

  • -c:统计文件的字节数。
  • -l:统计文件的行数。
  • -w:统计文件的单词数。
  • -m:统计文件的字符数(包括换行符等)。
  • -L:统计文件中最长行的长度。

tee命令

作用:将标准输入(stdin)的内容同时输出到标准输出(stdout)和一个或多个文件中。它的名字来源于管道(pipeline)中的“T”型分叉,表示数据流的分流。

基本用法

command | tee [选项] 文件名

常用选项

  • -a:追加模式(append)。如果不使用-a选项,tee默认会覆盖文件内容。
  • -i:忽略中断信号(ignore interrupt signals)。即使接收到中断信号(如 Ctrl+C),tee也会继续运行。

例子

#一个命令 ls -l,我们希望将它的输出保存到文件 output.txt 中,同时在终端上显示
ls -l | tee output.txt#如果希望将输出追加到文件中,而不是覆盖文件
ls -l | tee -a output.txt

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

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

相关文章

云轴科技ZStack入选赛迪顾问2025AI Infra平台市场发展报告代表厂商

DeepSeek凭借低成本、高性能、开源优势带来的蝴蝶效应依然在持续影响企业AI应用部署。尤其在数据安全备受关注的背景下&#xff0c;私有化部署已经成为企业应用AI大模型的优选方案。赛迪顾问在近期发布的《2025中国AI Infra平台市场发展研究报告》中认为&#xff0c;在推理算力…

从零开始跑通3DGS教程:(四)修改(缩放、空间变换)colmap生成的sfm结果

写在前面 本文内容 本文所属《从零开始跑通3DGS教程》系列文章&#xff1b; 通过colmap进行的sfm的普通方式会丢失场景的物理尺度信息&#xff0c;并且并不在符合一般认知的坐标系下&#xff0c;本文将读取colmap生成的点云和相机pose&#xff0c;将其进行空间变换和缩放之后&a…

RK3568-OpenHarmony(1) : OpenHarmony 5.1的编译

概述: 本文主要描述了&#xff0c;如何在ubuntu-20.04操作系统上&#xff0c;编译RK3568平台的OpenHarmony 5.1版本。 搭建编译环境 a. 安装软件包 sudo apt-get install git-lfs ruby genext2fs build-essential git curl libncurses5-dev libncursesw5-dev openjdk-11-jd…

vue+tsc+noEmit导致打包报TS类型错误问题及解决方法

项目场景&#xff1a; 提示&#xff1a;这里简述项目相关背景&#xff1a; 当我们新建vue3项目,package.json文件会自动给我添加一些配置选项,这写选项基本没有问题,但是在实际操作过程中,当项目越来越复杂就会出现问题,本文给大家分享vuetscnoEmit导致打包报TS类型错误问题及…

Js 判断浏览器cookie 是否启用

验证时 google浏览器 135.0.7049.117 不生效 cookie.html <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><title>Cookie 检测</title> </head> <body><h1>检测是否启用 Cookie<…

Lambda表达式解读

本文通过具体案例演示函数式接口Function<T,R>的三种实现方式演变过程。 一、传统匿名内部类实现 Integer resInt1 t1(new Function<String, Integer>() {Overridepublic Integer apply(String s) {int i Integer.parseInt(s);return i;} });实现特点&#xff1…

等价无穷小代换

理解&#xff1a; 函数某一点的值可以使用泰勒展开式表示&#xff0c;&#xff08;低阶无穷小 高阶无穷小&#xff09;&#xff0c;主要有低阶无穷小决定。 计算极限的时候&#xff1a; 乘除关系随便换&#xff0c;不影响各个式子的低阶无穷小加减关系&#xff1a; &#xf…

护网HVV初级蓝队面试题总结

struts2原理特征 原理:默认的content-type解析器会把用户传来的数据直接当成代码执行&#xff0c;造成rce特征:ognl表达式&#xff0c;memberaccess字段&#xff0c;可以通过catalina日志过滤关键信息查找攻击特征ongl表达式可以被当作代码执行&#xff0c;其中的类为defaulta…

Web3 实战项目项目部署到 GitHub 和上线预览的完整指南

目录 &#x1f680; 一、部署到 GitHub ✅ 前置准备 &#x1f9f1; 部署步骤&#xff1a; 1. 创建一个 GitHub 仓库 2. 上传项目文件 方法一&#xff1a;使用 Git 命令行 方法二&#xff1a;直接上传 &#x1f310; 二、通过 GitHub Pages 免费上线 DApp&#xff08;前端…

3.优惠券秒杀

3.1 全局唯一 ID 当用户抢购时&#xff0c;就会生成订单并保存到 tb_voucher_order 这张表中&#xff0c;而订单表如果使用数据库自增 ID 就存在一些问题&#xff1a; id 的规律性太明显 受单表数据量的限制 场景分析一&#xff1a;如果我们的 id 具有太明显的规则&#xf…

AI日报 · 2025年5月07日|谷歌发布 Gemini 2.5 Pro 预览版 (I/O 版本),大幅提升编码与视频理解能力

1、谷歌发布 Gemini 2.5 Pro 预览版 (I/O 版本)&#xff0c;大幅提升编码与视频理解能力 谷歌于5月6日提前发布 Gemini 2.5 Pro 预览版 (I/O 版本)&#xff0c;为开发者带来更强编码能力&#xff0c;尤其优化了前端与UI开发、代码转换及智能体工作流构建&#xff0c;并在WebDe…

Python+ffmpeg 实现给视频添加字幕

创作灵感 孩子学校经常留作业&#xff0c;需要提交一段录制的视频&#xff0c;视频上要求添加学校、班级、姓名等信息的字幕&#xff0c;手机自带的相机软件字幕添加位置要么只能添加在视频正中&#xff0c;要么无法添加多行文本&#xff0c;要么只能添加在片头或者片尾&#…

OpenLayers 精确经过三个点的曲线绘制

OpenLayers 精确经过三个点的曲线绘制 根据您的需求&#xff0c;我将提供一个使用 OpenLayers 绘制精确经过三个指定点的曲线解决方案。对于三个点的情况&#xff0c;我们可以使用 二次贝塞尔曲线 或 三次样条插值&#xff0c;确保曲线精确通过所有控制点。 实现方案 下面是…

Django缓存框架API

这里写自定义目录标题 访问缓存django.core.cache.cachesdjango.core.cache.cache 基本用法cache.set(key, value, timeoutDEFAULT_TIMEOUT, versionNone)cache.get(key, defaultNone, versionNone)cache.add(key, value, timeoutDEFAULT_TIMEOUT, versionNone)cache.get_or_se…

Linux系统管理与编程17:自动化部署ftp服务

兰生幽谷&#xff0c;不为莫服而不芳&#xff1b; 君子行义&#xff0c;不为莫知而止休。 #virtual用户管理&#xff1a;passerbyA、captain和admin三个虚拟用户 # passerbyA只能看&#xff0c;captain可看读写上传&#xff0c;但不能删除。admin全部权限 [rootshell shell]…

2025python学习笔记

一.Python语言基础入门 第一章 01.初识Python Python的起源&#xff1a; 1989年&#xff0c;为了打发圣诞节假期&#xff0c;Gudio van Rossum吉多范罗苏姆&#xff08;龟叔&#xff09;决心开发一个新的解释程序&#xff08;Python维形&#xff09;1991年&#xff0c;第一个…

STM32单片机的快速成长路径规划

一、基础准备阶段&#xff08;1-2周&#xff09; C语言核心技能 重点掌握&#xff1a;指针操作、结构体、枚举、位操作、函数指针&#xff08;回调函数基础&#xff09;实践项目&#xff1a;通过51单片机或STM8完成LED控制、按键检测等基础项目&#xff0c;熟悉寄存器配置和调试…

torch.nn.init.uniform_

nn.init.uniform_ 是 PyTorch 中用于初始化张量&#xff08;tensor&#xff09;的一个函数&#xff0c;它的作用是将张量的值填充为从均匀分布中采样的随机数。 详细说明&#xff1a; 函数&#xff1a; torch.nn.init.uniform_(tensor, a0., b1.)tensor&#xff1a;需要被初始…

Spring MVC中跨域问题处理

在Spring MVC中处理跨域问题可以通过以下几种方式实现&#xff0c;确保前后端能够正常通信&#xff1a; 方法一&#xff1a;使用 CrossOrigin 注解 适用于局部控制跨域配置&#xff0c;直接在Controller或方法上添加注解。 示例代码&#xff1a; RestController CrossOrigin…

基本句子结构

以下是英语句子五种基本结构的详细解释&#xff0c;并附上系动词的全面分类及示例&#xff1a; ​1. 主谓结构&#xff08;SV&#xff09;​ ​结构&#xff1a;主语&#xff08;Subject&#xff09; 不及物动词&#xff08;Intransitive Verb&#xff09;​核心&#xff1a;…