关于搜索查找有关的指令
find 指令
从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。
基本语法:
find [搜索范围] [选项]
选项说明:
选项 | 功能 |
-name | 按照指定的文件名查找模式查找文件 |
-user | 查找属于指定用户名所有文件 |
-size | 按照指定的文件大小查找文件 |
案例 1: 按文件名:根据名称查找 /home 目录下的 hello.txt 文件
find /home -name hello.txt
案例 2:按拥有者:查找 /opt 目录下,用户名称为 nobody 的文件
find /opt -user nobody
案例 3:查找整个 linux 系统下大于 200M 的文件
+n 大于 -n 小于 n 等于
单位有 k,M,G
find / -size +200M
locate 指令
可以快速定位文件路径。
利用事先建立的系统中所有文件名称及路径的 locate 数据库实现快速定位给定的文件。
Locate 指令无需遍历整个文件系统,查询速度较快。
为了保证查询结果的准确度,管理员必须定期更新 locate 时刻
基本语法:
locate 搜索文件
注意:
由于 locate 指令基于数据库进行查询,
所以第一次运行前,必须使用 updatedb 指令创建 locate 数据库。
案例 1: 请使用 locate 指令快速定位 hello.txt 文件所在目录
updatedb
locate hello.txt
which 指令
可以查看某个指令在哪个目录下
案例:ls 指令在哪个目录
which ls
grep 指令和 管道符号 |
grep指令往往和管道符号 | 结合使用
grep:过滤查找
管道符:“|”
表示将前一个命令的处理结果输出传递给后面的命令处理。
比如:先 cat a.txt,然后又想看a.txt文件中有没有hello这个词
那么就 cat a.txt | grep "hello" --->先找到a.txt,然后再在a.txt中找hello
基本语法:
grep [选项] 查找内容 源文件
常用选项:
-n 显示匹配行及行号
-i 忽略字母大小写
案例 1: 请在 hello.txt 文件中,查找"yes"所在行,并且显示行号
写法 1: cat /home/hello.txt | grep "yes" 引号写不写都行
cat /home/hello.txt | grep -n "yes" 显示行号
写法 2: grep -n "yes" /home/hello.txt
关于压缩和解压的指令
gzip/gunzip 指令
gzip 用于压缩文件
gunzip 用于解压的
基本语法:
gzip 文件 (功能描述:压缩文件,只能将文件压缩为*.gz 文件)
gunzip 文件.gz (功能描述:解压缩文件命令)
案例 1: gzip 压缩,将 /home 下的 hello.txt 文件进行压缩
gzip /home/hello.txt
案例 2: gunzip 解缩,将 /home 下的 hello.txt.gz 文件进行解压
gunzip /home/hello.txt.gz
zip/unzip 指令
zip 用于压缩文件
unzip 用于解压的
基本语法:
zip [选项] XXX.zip 将要压缩的内容 (功能描述:压缩文件和目录的命令)
unzip [选项] XXX.zip (功能描述:解压文件)
zip 常用选项
-r:递归压缩,即压缩目录
unzip 的常用选项
-d<目录> :指定解压后文件的存放目录
案例 1:将 /home 下的所有文件/文件夹压缩成 myhome.zip
zip -r myhome.zip /home/ [将 home 目录及其包含的文件和子文件夹都压缩]
案例 2:将 myhome.zip 解压到 /opt/tmp 目录下
mkdir /opt/tmp
unzip -d /opt/tmp /home/myhome.zip
tar 指令
tar 指令是打包指令,最后打包后的文件是 .tar.gz 的文件。
把一个或者多个文件(夹)用压缩软件进行压缩的过程,一般可称之为打包。
tar指令可以压缩也可以解压。
根据选项来 压缩还是解压。
基本语法:
tar [选项] XXX.tar.gz 打包的内容 (功能描述:打包目录,压缩后的文件格式.tar.gz)
选项说明:
选项 | 功能 |
-c | 产生.tar打包文件 |
-v | 显示详细信息 |
-f | 指定压缩后的文件名 |
-z | 打包同时压缩 |
-x | 解包.tar文件 |
案例 1:压缩多个文件,将 /home/pig.txt 和 /home/cat.txt 压缩成 pc.tar.gz
tar -zcvf pc.tar.gz /home/pig.txt /home/cat.txt
使用了选项:-z -c -v -f
多个文件就 空格直接写在后面就好了
案例 2:将 /home 的文件夹压缩成 myhome.tar.gz
tar -zcvf myhome.tar.gz /home/
案例 3:将 pc.tar.gz 解压到当前目录
tar -zxvf pc.tar.gz
案例 4:将 myhome.tar.gz 解压到 /opt/tmp2 目录下
(1) mkdir /opt/tmp2
(2) tar -zxvf /home/myhome.tar.gz -C /opt/tmp2