文章目录
前言
在 Linux 的世界里,快速准确地找到所需文件和信息是每个开发者、系统管理员甚至普通用户的必备技能。想象一下,你的项目文件夹下有数百个文件,急需找到某个包含特定配置信息的文件;又或者在庞大的日志文件中,定位某个关键错误信息。此时,强大的 Linux 搜索和查找指令就是你手中的 “瑞士军刀”。今天,我们就一起深入探索这些指令,解锁 Linux 系统的高效操作姿势!
搜索与查找
基础搜索指令 : find
- find 将从指定目录下递归地遍历各个目录,将满足所有条件的目录显示在控制台
find [搜索范围] [选项]
选项 功能 -name 按照文件的名称查找文件 -user 查找指定用户所属的文件 -size 按照指定的大小查找文件 实例1:按照文件名称查询文件
[root@xq100 kobe]# find /home/kobe -name 'Hello.java' # 查询/home/kobe目录下名称为Hello.java的文件 /home/kobe/Hello.java [root@xq100 kobe]# find /home/kobe -name '*.java' # 查询所有java文件 /home/kobe/Hello.java /home/kobe/Demo1.java
实例2:在/opt目录下,查询root用户创建的文件
[root@xq100 kobe]# find /opt -user 'root'
文本查找利器:grep
grep过滤查找,管道符,”|“,表示前一个指令的处理结果输出传递给后面的指令处理。一般我们将 | 和 grep 一起结合起来使用。
grep [选项] 查找内容 源文件
选项 功能 -n 显示行号 -i 忽略大小写区别 案例:查找在/home/Daming目录下的hello.java文件中,查找Hello所在行,并显示行号
[root@hygge Daming]# cat hello.java |grep -ni "Hello"
效果如下:
文件搜索的轻量级选手:locate
locate指令可以快速定位文件路径。locate指令利用事先建立好的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。locate指令无需遍历整个文件系统,查询速度较快
特别说明:由于locate指令基于数据库进行查询。所以第一次询运行前,必须使用updatedb指令创建locate数据库locate 文件名 指令
需求:用locate指令快速定位 Hello.java 文件所在目录
[root@xq100 ~]# updatedb # 一定要先执行这个指令 [root@xq100 ~]# locate Hello.java # 快速定位Hello.java文件所在的目录并输出 /home/kobe/Hello.java /root/Hello.java
which指令
which 指令名字 (可以查看哪个指令在那个目录下)
例如:
查看ls指令在那个目录 which ls
查看reboot指令在那个目录下 which reboot[root@xq100 ~]# which ls # 查看ls指令所在的目录 alias ls='ls --color=auto' /usr/bin/ls [root@xq100 ~]# which reboot # 查看reboot指令所在的目录 /usr/sbin/reboot
文件压缩与解压
gzip 与 gunzip 指令
gzip指令 压缩文件
gunzip指令 解压缩文件注意: gzip将文件压缩为 *.gz的文件,原文件被压缩后不存在
需求: 将kobe目录下面的Demo1.java进行压缩
[root@xq100 kobe]# gzip Demo1.java # 将Demo1.java 压缩成Demo1.java.gz文件 [root@xq100 kobe]# ll total 8 -rw-r--r--. 1 root root 31 Aug 28 15:59 Demo1.java.gz -rw-r--r--. 1 root root 122 Aug 28 16:23 Hello.java lrwxrwxrwx. 1 root root 5 Aug 28 15:34 linkToRoot -> /root drwxr-xr-x. 2 root root 22 Aug 28 14:19 test
使用gunzip解压缩:
[root@xq100 kobe]# gunzip Demo1.java.gz # 解压之后 当前压缩文件会不存在
zip 与 unzip 指令
zip指令将文件压缩成 .zip文件
zip指令 压缩文件
unzip指令 解压缩文件-r : 递归压缩,即压缩目录
-d : 指定解压缩后文件存放方目录需求:将kobe目录及其下面的所有文件进行压缩,压缩成myFile.zip
[root@xq100 home]# zip -r myFile.zip kobe/
需求:将home目录下面的zip文件解压到home/tmp文件目录中去
[root@xq100 home]# mkdir tmp # 创建tmp目录 [root@xq100 home]# unzip -d /home/tmp myFile.zip # 将zip文件解压到tmp目录下面
tar 指令
tar指令是打包指令,最后打包后的文件是.tar.gz的文件
tar [选项] XXX.tar.gz 打包的内容(功能描述:打包目录,压缩后的文件格式.tar,gz)
选项 功能 -c 产生tar打包文件 -v 显示详细信息 -f 指定压缩后的文件名 -z 打包同时压缩 -x 解压tar包文件 需求1:将home目录下面的kobe目录压缩成myFile.tar.gz
[root@xq100 home]# tar -zcvf MyFile.tar.gz /kobe/ [root@xq100 home]# ll total 4 drwx------. 4 guojing taohuadao 158 Aug 28 15:26 guojing drwx------. 6 kobe kobe 194 Aug 28 16:36 kobe -rw-r--r--. 1 root root 1001 Aug 28 16:57 MyFile.tar.gz drwxr-xr-x. 3 root root 18 Aug 28 16:48 tmp drwx------. 5 xq xq 147 Aug 27 16:02 xq
需求2:将myFile.tar.gz文件解压到当前目录
[root@xq100 home]# tar -zxvf MyFile.tar.gz
需求3:将myFile.tar.gz文件解压到/home/tmp目录下面
[root@xq100 home]# tar -zxvf myFile.tar.gz -C /home/tmp [root@xq100 home]# cd tmp [root@xq100 tmp]# ll total 0 drwx------. 7 kobe kobe 194 Aug 28 16:36 kobe
如果我的内容对你有帮助,请 点赞 , 评论 , 收藏 。创作不易,大家的支持就是我坚持下去的动力!