Linux操作系统中的文件查找(which/whereis/find/locate/grep)及解压缩

发布时间:2026/5/28 11:06:09

Linux操作系统中的文件查找(which/whereis/find/locate/grep)及解压缩 目录一、Linux中的文件查找方式1.1.查找“命令”which1.2.任意文件的查找locate、find1.2.1.文件查找locate1.2.2.文件查找find1.2.2.1.find的完整书写格式1.2.2.2.find常用参数详解1.2.2.3.find使用案例1.3.根据文件内容去找grep1.3.1.grep介绍1.3.2.grep使用案例二、文件打包及压缩2.1.打包压缩2.2.不解压查看压缩包里边的内容2.3.解压/解包一、Linux中的文件查找方式1.1.查找“命令”whichwhich/whereis 命令查找是专门用于查询命令文件所在位置的专用命令。它是通过从path环境变量中进行查询的。使用man查看官方说明该函数接受一个或多个参数。对于每个参数它会将原本会执行的可执行文件的完整路径打印到标准输出stdout。当这个参数在shell提示符下输入时它会通过在列出的目录中搜索可执行文件或脚本来实现这一功能。1.2.任意文件的查找locate、findlocate和find都用于任意文件的查找那他们有什么区别其实他俩的区别更趋向于一个是已经将本地文件系统计算并优化存储在数据库中locate查找时从数据库中进行查找更偏向于离线的意思如果修改的结果未及时更新可能导致查询结果不准确而find查询的时候是基于当前的文件系统所以更加实时准确但大多数情况下相对较慢。1.2.1.文件查找locate注意在centos7中locate命令默认未安装因为它属于 mlocate 软件包的一部分而该包未包含在最小化安装或部分基础系统配置中。使用man命令查看官方文档退出使用快捷键 qlocate 读取由 updatedb(8) 准备的一个或多个数据库并将至少与其中一个 PATTERN 匹配的文件名写入标准输出一个就是每行。如果未指定--regex则模式PATTERNS可以包含通配符。如果任何模式都不包含通配符则locate的行为就像没有指定通配符一样模式为*模式*。默认情况下locate命令不会检查数据库中找到的文件是否仍然存在。locate命令永远不会报告在最近一次更新后创建的文件。但是可以执行updatedb来更新相关数据库。1.2.2.文件查找find使用man命令查看官方文档退出使用快捷键 q本手册页记录了GNU版本的find。GNU find通过评估给定的条件在以每个给定文件名为根的目录树中进行搜索根据优先级规则见“运算符”一节从左到右进行表达式计算直至得出结果左侧为对于与and操作结果为假false对于或or操作结果为真true。此时find函数将移动到下一个文件名。1.2.2.1.find的完整书写格式语法find [path] [-option] [expression] [action];命令 路径 选项 表达式 动作1.2.2.2.find常用参数详解-name filename #查找名为filename的文件-size n[c] #查长度为n块[或n字节]的文件-ctime -n n #按文件创建时间来查找文件-n指n天以内n指n天以前-type b/d/c/p/l/f #查是块设备、目录、字符设备、管道、符号链接、普通文件-perm #按执行权限来查找-user username #按文件属主来查找-group groupname #按组来查找-mtime -n n #按文件更改时间来查找文件-n指n天以内n指n天以前1.2.2.3.find使用案例实 际 使 用find -name april* 在当前目录下查找以april开始的文件find -name april* fprint file 在当前目录下查找以april开始的文件并把结果输出到file中find -name ap* -o -name may* 查找以ap或may开头的文件find /mnt -name tom.txt -ftype vfat 在/mnt下查找名称为tom.txt且文件系统类型为vfat的文件find /mnt -name t.txt ! -ftype vfat 在/mnt下查找名称为tom.txt且文件系统类型不为vfat的文件find /tmp -name wa* -type l 在/tmp下查找名为wa开头且类型为符号链接的文件find /home/hadoop/software -mtime -2 在/home/hadoop/software下查最近两天内改动过的文件find /home/hadoop/software -atime -1 查1天之内被存取过的文件find /home/hadoop/software -mmin 60 在/home/hadoop/software下查60分钟前改动过的文件find /home/hadoop/software -amin 30 查最近30分钟前被存取过的文件find /home/hadoop/software -newer tmp.txt 在/home/hadoop/software下查更新时间比tmp.txt近的文件或目录find /home/hadoop/software -anewer tmp.txt 在/home/hadoop/software下查存取时间比tmp.txt近的文件或目录find /home/hadoop/software -used -2 列出文件或目录被改动过之后在2日内被存取过的文件或目录find /home/hadoop/software -user cnscn 列出/home/hadoop/software目录内属于用户cnscn的文件或目录find /home/hadoop/software -uid 501 列出/home/hadoop/software目录内用户的识别码大于501的文件或目录find /home/hadoop/software -group cnscn 列出/home/hadoop/software内组为cnscn的文件或目录find /home/hadoop/software -gid 501 列出/home/hadoop/software内组id为501的文件或目录find /home/hadoop/software -nouser 列出/home/hadoop/software内不属于本地用户的文件或目录find /home/hadoop/software -nogroup 列出/home/hadoop/software内不属于本地组的文件或目录find /home/hadoop/software -name tmp.txt -maxdepth 4 列出/home/hadoop/software内的tmp.txt 查时深度最多为3层find /home/hadoop/software -name tmp.txt -mindepth 3 从第2层开始查find /home/hadoop/software -empty 查找大小为0的文件或空目录find /home/hadoop/software -size 512k 查大于512k的文件find /home/hadoop/software -size -512k 查小于512k的文件find /home/hadoop/software -links 2 查硬连接数大于2的文件或目录find /home/hadoop/software -perm 0700 查权限为700的文件或目录find / -amin -10 查找在系统中最后10分钟访问的文件find / -atime -2 查找在系统中最后48小时访问的文件find / -empty 查找在系统中为空的文件或者文件夹find / -group cat 查找在系统中属于 groupcat的文件find / -mmin -5 查找在系统中最后5分钟里修改过的文件find / -mtime -1 查找在系统中最后24小时里修改过的文件find / -nouser 查找在系统中属于作废用户的文件find / -user fred 查找在系统中属于FRED这个用户的文件1.3.根据文件内容去找grep1.3.1.grep介绍前面提到的文件查找方式which用于命令文件的查找locate、find用于对任意文件的查找这种方式查找的方式和结果都只针对于文件名称来进行。而grep的方式是根据文件里的内容来进行查找和匹配。使用方式grep [option(s)] pattern [filename]grep命令中的文件名是可选的。如果没有文件名grep等待标准输入。输入一行后grep在行中搜索正则表达式如果包含该特定表达式就显示此行。用户指示输入结束时Ctrl d执行才结束。1.3.2.grep使用案例在/etc 目录下查找文件内容中有127.0.0.1 的内容在当前文件夹下查找我们的含有jdk的文件有哪些二、文件打包及压缩tar命令是Unix/linux系统中备份文件的可靠方法几乎可以工作于任何环境中它的使用权限是所有用户建议针对目录。语法tar 选项 压缩包名称 源文件GNU的“tar”工具可以将多个文件一起保存到单个磁带或磁盘存档中并且可以从存档中恢复单个文件。功能仅打包文件/目录不压缩需配合gzip/bzip2/xz其实也就是关注一下三种不同的方式该如何使用实现压缩。常用选项命令解释-c压缩-x解压-t不解压查看-v显示过程-f指定包文件名必须放在选项最后如-zxvf-zcvf-z用gzip压缩/解压.tar.gz 或 .tgz-j用bzip2压缩/解压.tar.bz2 或 .tbz2-J用xz压缩/解压.tar.xz注意只需要关注文件类型c用来打包x用来解包t用来查看2.1.打包压缩# 打包并压缩为 .tar.gz最常用例如tar -zcvf study.tar.gz ./study/2.2.不解压查看压缩包里边的内容# 不解压查看内容tar -tvf study.tar.gz2.3.解压/解包# 解压 .tar.gztar -jxvf study.tar.gztar -xvf study.tar.gz -C ./tar_test//-C重定向到//tmp目录

相关新闻