Linux中查找文件、命令(find、 which、whereis )以及文件打包

2024-08-24 14:52

本文主要是介绍Linux中查找文件、命令(find、 which、whereis )以及文件打包,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、按名字、文件大小、修改时间 find 查找

find /tmp/  -name "1.txt" 按照文件名字
find /tmp/  -iname "FILE" 忽略大小写
find /tmp/ -name "*.txt"
find /etc -size +5M  按照文件大小查找
查找在/etc/大于5M的文件
find /etc -size 5M
查找正好是5M的文件
find /etc -size -5M
find /etc -mtime +5	按照修改时间查找#了解
find /opt -mtime +5         #修改时间5天之前
find /opt -atime +1         #访问时间1天之前

2、按文件类型、权限进行查找

按文件类型:
find /dev -type f						   //f普通
find /dev -type d						   //d目录
find /tmp -type f | wc -l
find /dev/ -type b       //查看当前系统下有多少块磁盘按照文件权限
find . -perm 644  .叫做当前目录
查找当前目录下 权限为644find /tmp ! -name "1.txt"
! 取反find /tmp/ -name "1.txt" -o -name "2.txt" 使用 -a这个参数可以链接2个不同的条件且这2个条件必须要满足!-o 在这个参数可以链接2个条件,只要满足1个就会被找出来find /tmp -empty 查找空文件或者目录查找出来/tmp下权限是644且名字是.txt结尾的文件
find  /tmp/ -perm 644 -a -name "*.txt" -a -type f

3、查找后做出指令

tar czf tmp.tar.gz   /tmp/    压缩命令
find /etc -name "ifcfg-*" | wc -l  统计名字包含ifcfg的个数
find /etc -name "ifcfg*" -exec cp -rvf {} /tmp \;  找到名字包含ifcfg的并且拷贝到tmp目录下查找  路径  按名   以ifcfg开头
固定参数传递
复制   强制并且显示过程    {}固定占位  路径  \;固定结束 结束符find / -name "*.txt" -exec rm -rf {} \;
参数传递  删除  占位  \;结尾find . -name "*.txt" |xargs rm -rf 
find . -name "*.txt" |xargs rm -rvf
find /tmp/\*.txt | xargs rm -rf
exec 每处理一个文件或者目录,它都需要启动一次命令,效率不高find /tmp/ -name "test*" | xargs -i cp {} /
find /etc/passwd -maxdepth 1 -type f -a -name "passwd" | xargs -i cp {} /tmp
#-i标识允许{}进行占位符占位
find /etc/passwd -maxdepth 1 -type f -a -name "passwd" | xargs cp -rvf -t /tmp
#-maxdepth 1表示只递归当前一层目录
#-t表示调试并且修正命令
find /tmp/ -name "*.txt" -exec tar czf  `date +%F`.tar.gz {}  \;
#错误的只能压出来一个
#压缩尤其是带有重命名的,请使用xargs去压缩操作
find /tmp/ -name "*.txt" | xargs tar czf `date +%F`.tar.gz

4、which/whereis方式查找

which
which命令用于在用户的PATH环境变量指定的目录中查找并显示某个命令的完整路径。它只会在PATH环境变量列出的目录中查找可执行文件。如果找到了指定的命令,which会打印出该命令的完整路径;如果没有找到,则不会显示任何输出(或者可能显示一个错误信息,这取决于具体的shell和which命令的实现)。用法示例:
bash
which python
这个命令会查找并显示python命令的完整路径,如果python在PATH环境变量指定的目录中。whereis
whereis命令用于查找二进制程序、源代码和手册页的位置。它会搜索标准目录(如/bin、/usr/bin、/sbin、/usr/sbin等)来查找指定的命令的二进制文件,并可能查找源代码(在/usr/src中)和手册页(在/usr/share/man、/usr/local/man或/usr/share/doc中)。whereis提供的信息比which更广泛,因为它不仅限于可执行文件,还包括了相关的文档和源代码位置(如果可用的话)

5、打包

tar tf 不解压直接查看内容
tar czf  压缩包名字    要压缩的文件或者目录
tar  czf  `date +%F`.mysql.tar.gz /tmp

6、解压缩

tar xf  包名  解压当前路径下
tar xf x.tar.gz   -C  /
.zip结尾的包 必须安装  yum -y install unzip
unzip  xx 解压

这篇关于Linux中查找文件、命令(find、 which、whereis )以及文件打包的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1102794

相关文章

linux-基础知识3

打包和压缩 zip 安装zip软件包 yum -y install zip unzip 压缩打包命令: zip -q -r -d -u 压缩包文件名 目录和文件名列表 -q:不显示命令执行过程-r:递归处理,打包各级子目录和文件-u:把文件增加/替换到压缩包中-d:从压缩包中删除指定的文件 解压:unzip 压缩包名 打包文件 把压缩包从服务器下载到本地 把压缩包上传到服务器(zip

springboot3打包成war包,用tomcat8启动

1、在pom中,将打包类型改为war <packaging>war</packaging> 2、pom中排除SpringBoot内置的Tomcat容器并添加Tomcat依赖,用于编译和测试,         *依赖时一定设置 scope 为 provided (相当于 tomcat 依赖只在本地运行和测试的时候有效,         打包的时候会排除这个依赖)<scope>provided

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

30常用 Maven 命令

Maven 是一个强大的项目管理和构建工具,它广泛用于 Java 项目的依赖管理、构建流程和插件集成。Maven 的命令行工具提供了大量的命令来帮助开发人员管理项目的生命周期、依赖和插件。以下是 常用 Maven 命令的使用场景及其详细解释。 1. mvn clean 使用场景:清理项目的生成目录,通常用于删除项目中自动生成的文件(如 target/ 目录)。共性规律:清理操作

Linux_kernel驱动开发11

一、改回nfs方式挂载根文件系统         在产品将要上线之前,需要制作不同类型格式的根文件系统         在产品研发阶段,我们还是需要使用nfs的方式挂载根文件系统         优点:可以直接在上位机中修改文件系统内容,延长EMMC的寿命         【1】重启上位机nfs服务         sudo service nfs-kernel-server resta

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念

Linux服务器Java启动脚本

Linux服务器Java启动脚本 1、初版2、优化版本3、常用脚本仓库 本文章介绍了如何在Linux服务器上执行Java并启动jar包, 通常我们会使用nohup直接启动,但是还是需要手动停止然后再次启动, 那如何更优雅的在服务器上启动jar包呢,让我们一起探讨一下吧。 1、初版 第一个版本是常用的做法,直接使用nohup后台启动jar包, 并将日志输出到当前文件夹n