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

Linux常用命令详解(下):打包压缩、文本编辑与查找命令

一、打包压缩命令

在Linux系统中,打包与压缩是文件管理的核心操作之一。不同的工具适用于不同场景,以下是最常用的命令详解:

1. tar命令

作用:对文件进行打包、解包、压缩、解压。

语法

tar [选项] [压缩包名] [文件/目录]

关键选项

  • -z: z代表的是gzip,通过gzip命令处理文件,gzip可以对文件压缩或者解压

  • -c: c代表的是create,即创建新的包文件

  • -x: x代表的是extract,实现从包文件中还原文件

  • -v: v代表的是verbose,显示命令的执行过程

  • -f: f代表的是file,用于指定包文件的名称

常用示例(打包)

tar -cvf hello.tar ./*                                  
#将当前目录下所有文件打包,打包后的文件名为hello.tar
tar -zcvf hello.tar.gz ./*                          
#将当前目录下所有文件打包并压缩,打包后的文件名为hello.tar.gz

常用示例(解包): 

tar -xvf hello.tar                                          
#将hello.tar文件进行解包,并将解包后的文件放在当前目录
tar -zxvf hello.tar.gz                                  
#将hello.tar.gz文件进行解压,并将解压后的文件放在当前目录
tar -zxvf hello.tar.gz -C /usr/local     
#将hello.tar.gz文件进行解压,并将解压后的文件放在/usr/local目录

二、文本编辑命令

Linux环境下,编辑器选择直接影响效率,以下是两大主流工具:

1. vim编辑器

作用:功能强大的模态编辑器,支持复杂文本处理。 三种模式

  1. 命令模式:执行复制、删除等操作(按ESC进入)。
    • yy复制行,dd删除行,p粘贴,/keyword搜索
  2. 插入模式:按ia进入文本编辑。
  3. 底线命令模式:按:执行保存、退出等操作。
    • :wq保存退出,:q!强制退出

命令模式指令

含义

gg

定位到文本内容的第一行

G

定位到文本内容的最后一行

dd

删除光标所在行的数据

ndd

删除当前光标所在行及之后的n行数据

u

撤销操作

i 或 a 或 o

进入插入模式(进入后光标所处的位置不同而已)

底行模式指令

含义

:wq

保存并退出

:q!

不保存退出

:set nu

显示行号

:set nonu

取消行号显示

:n

定位到第n行,如 :10 就是定位到第10行

 

三、查找命令

1. 文件查找:find

作用:在指定目录下查找文件。

语法

find [路径] [选项] [表达式]

常用选项

  • -name:按文件名匹配(支持通配符)
  • -type:按文件类型(f文件,d目录)
  • -size:按文件大小(+10M表示大于10MB)

示例

find  .  –name "*.java"                        
在当前目录及其子目录下查找.java结尾文件
find  /itcast  -name "*.java"             
在/itcast目录及其子目录下查找.java结尾的文件

2. 内容查找:grep

作用:在文件中搜索匹配正则表达式的文本行。 语法

grep Hello HelloWorld.java        
#查找HelloWorld.java文件中出现的Hello字符串的位置grep hello *.java                        
#查找当前目录中所有.java结尾的文件中包含hello字符串的位置

常用选项

  • -i:忽略大小写
  • -n:显示行号
  • -A: 输出关键字所在行及之后(After)的几行记录 (如:-A5 表示输出关键字所在行之后的5行记录)

  • -B: 输出关键字所在行及之前(Before)的几行记录 (如:-B5 表示输出关键字所在行之前的5行记录)

四、总结与对比

场景推荐命令优势
打包压缩目录tar 高兼容性,支持多文件归档
复杂文本处理vim支持宏、插件与批量替换
精确文件查找find支持属性过滤(大小、类型等)
内容检索grep正则表达式支持,高效过滤文本

掌握这些命令将极大提升Linux环境下的工作效率。如需更详细参数说明,可通过man [命令]查看手册。

http://www.xdnf.cn/news/5520.html

相关文章:

  • C++GO语言微服务之Dockerfile docker-compose
  • 手机换地方ip地址会变化吗?深入解析
  • CSS3 伪元素(Pseudo-elements)大全
  • 【HarmonyOS Next之旅】DevEco Studio使用指南(二十二)
  • 【25软考网工】第六章(4)VPN虚拟专用网 L2TP、PPTP、PPP认证方式;IPSec、GRE
  • USB传输模式
  • 大语言模型强化学习双强:OpenRLHF与verl技术解析
  • Golang空接口的用途详解
  • pnpm使用报错
  • TWASandGWAS中GBS filtering and GWAS(1)
  • 黑马点评实战笔记
  • AI赋能安全生产,推进数智化转型的智慧油站开源了。
  • BUUCTF——PYWebsite
  • 记一种C#winform小程序的简易打包方式-自解压压缩文件
  • 火山RTC 7 获得远端裸数据
  • MATLAB机器人系统工具箱中的loadrobot和importrobot
  • Voice Changer 变声器
  • C++语法基础(上)
  • linux内核pinctrl/gpio子系统驱动笔记
  • 并行发起http请求
  • Spring Cloud : OpenFeign(远程调用)
  • 腾答知识竞赛系统 V1.0.4更新
  • Linux文件编程——open函数
  • CAPL -实现SPRMIB功能验证
  • 《操作系统真象还原》第十四章(1)——文件系统概念、创建文件系统
  • 写屏障和读屏障的区别是什么?
  • 思维链是仅仅通过提示词实现的吗
  • Java对象的内存分布(二)
  • Python训练营打卡——DAY22(2025.5.11)
  • UGMathBench动态基准测试数据集发布 可评估语言模型数学推理能力