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

【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

相关文章:

  • Java基础 集合框架 Collection接口和抽象类AbstractCollection
  • drf 使用jwt
  • 智能库室联管联控系统|智能兵器室门禁管理系统
  • transformers基础组件之pipeline
  • navicat 如何导出数据库表 的这些信息 字段名 类型 描述
  • 《AI大模型应知应会100篇》第53篇:Hugging Face生态系统入门
  • 【动态导通电阻】软硬开关下GaN器件的动态RDSON
  • 使用FastAPI和React以及MongoDB构建全栈Web应用02 前言
  • 投影显示技术全解析:主流方案对比与雷克赛恩 CyberPro1 的核心优势
  • Jmeter中的BeanShell如何使用?
  • vscode_python远程调试_pathMappings配置说明
  • 美国、日本、印度、印度尼西亚\东帝汶、台湾电台电视地图数据
  • [学习]RTKLib详解:rtksvr.c与streamsvr.c
  • 光流 | 基于深度学习的光流估计算法汇总,原理,公式,流程图,代码
  • Android平台FFmpeg音视频开发深度指南
  • uniapp使用ui.request 请求流式输出
  • 【基于 LangChain 的异步天气查询3】OpenWeather实现实时天气查询
  • Java—— 集合 List
  • 真人配音与AI创作有声读物
  • D. Apple Tree Traversing 【Codeforces Round 1023 (Div. 2)】
  • 著名蒙古族音乐学者马•斯尔古愣逝世,享年86岁
  • 高培勇:中国资本市场的发展应将预期因素全面纳入分析和监测体系
  • 网红街区如厕难,如何多管齐下补缺口?
  • 气象干旱黄色预警继续:陕西西南部、河南西南部等地特旱
  • 云南多地突查公职人员违规饮酒:公安局门口开展酒精吹气测试
  • 碧桂园:砸锅卖铁保交房、持续推进保主体,尽快让公司恢复正常经营