首页 > 系统相关 >Linux下删除当前目录下的所有文件夹及文件保留最新的几个文件夹及文件

Linux下删除当前目录下的所有文件夹及文件保留最新的几个文件夹及文件

时间:2023-12-11 11:32:45浏览次数:30  
标签:文件 xargs name 文件夹 Linux test rm

一、查找目录或文件

1.1、查找指定文件夹和文件

具体的示例:查找当前目录下指定文件夹和文件

find ./ -maxdepth 1 -name "jobs" -o -name "config.xml"

命令

说明

-maxdepth


目录深度,1 表示只搜索一级目录

-name

后面跟文件夹或文件,多个文件夹或文件,用 -o 组合连接

jobs、config.xml

指定的文件夹和文件

1.2 直接文件和文件夹打包压缩

find ./ -name "jobs" -o -name "test.txt" |xargs tar -czf mytest.tar.gz

命令

说明

xargs

对筛选出来的结果进行处理,现在是打包

tar czf

打包命令


二、删除指定文件或文件夹

2.1 删除日志文件保留最近7天的文件

log_path=/data/tomcat8/logs
find $log_path/ -mtime +7  -name "*.log*" -exec rm -f {} \;

命令

说明

find

筛选日志目录下文件

-mtime +7

根据当前时间筛选出往前 7 天的文件

-name

查找的文件,可以模糊匹配

-exec

对上一步结果进行处理,这里是删除

2.2 删除备份的文件夹保留最近7天的文件夹

find /data/tomcat8/logs/ -mtime +4 -type d -name "*_*"|xargs rm -rf;
# 跟上述 shell 类似,只是多了文件类型 -type d ,-name "*_*",表示 文件夹包含 _ 这个符号的。

2.3 删除文件或文件夹,保留最新的几个文件或文件夹

ls -t | sed -n '6,$p' | xargs -I {} rm -rf {}
#这里数据字6表示保留最新的5个文件夹

命令

说明

ls -t

列出文件,并按最后更新时间倒序

sed -n ‘6,$p’

对上一步的结果进行过滤,保留第6行到最后一行,即除最新5个文件之外的文件或目录

xargs -I {} rm -rf {}

对上一步筛选出的文件或目录,进行删除处理

具体的示例1:此示例是删除文件夹目录,指定绝对路径的是无法删除目录的,必须执行切换目录在做删除目录

ls -t /opt/test-server/tomcat-healthNotePlat-8188/bak/ | sed -n '6,$p' | xargs -I {} rm -rf {}

语句变为如下:
cd /opt/test-server/tomcat-healthNotePlat-8188/bak/
ls -t | sed -n '6,$p' | xargs -I {} rm -rf {}

具体的示例2:按如上条件筛选出当前目录下包含 "test-admin" 的文件夹或文件

ls -t |grep 'test-admin' | sed -n '3,$p' | xargs -I {} rm -rf {}

命令

说明

ls -t

列出文件,并按最后更新时间倒序

grep 'test-admin'

过滤出包含grep 'test-admin' 的文件或文件夹

sed -n ‘3,$p’

对上一步的结果再次进行过滤,保留第3行到最后一行,即除最新5个文件之外的文件或目录

xargs -I {} rm -rf {}

对上一步筛选出的文件或目录,进行删除处理

具体示例3:

ls -t |grep -E 'test-admin|test-all|oss-tt' | sed -n '3,$p' | xargs -I {} rm -rf {}

命令

说明

grep -E

过滤出任意一个关键词对应文件夹或文件


标签:文件,xargs,name,文件夹,Linux,test,rm
From: https://blog.51cto.com/meiling/8769422

相关文章

  • Linux学习35- python3.9出现ModuleNotFoundError: No module named '_ctypes'的解决
    遇到问题pip安装第三方库的时候报错ModuleNotFoundError:Nomodulenamed'_ctypes'File"/usr/local/python3/lib/python3.9/ctypes/__init__.py",line7,in<module>from_ctypesimportUnion,Structure,ArrayModuleNotFoundError:Nomodulen......
  • 文件分片和断点虚传
    前端代码要优化前端的文件分片上传代码,我们可以考虑以下几点:异步上传与并发控制:上传分片时使用异步请求,并控制同时上传的分片数量,避免同时发送过多请求导致浏览器或服务器压力过大。上传进度显示:向用户显示每个分片的上传进度和总体进度。断点续传:在上传之前检查哪些分片已经上传过......
  • [linux] [Centos8] 一台虚拟机的安装配置全过程
    今年7月的时候刚学linux,写过几篇配置,结果学得越多才发现已经过时了,这两天重装的时候被自己的文章搞晕了......
  • 内外网文件传输中面临的4大风险,你都知道吗?
    一般来说,企业实施内外网隔离的原因主要就是两个:外因和内因。外因就是因为政策法规要求,这个主要是面向一些特定行业的,比如党政机关、金融、医疗、能源等行业,受这方面监管和要求的会比较多。内因就是为了自身的数据安全考虑,尤其是有敏感核心数据的企业,大部分都会做隔离。内外网隔......
  • 各个数据库存二进制大文件的性能测试
    1前言​有个项目软件前端将二进制大文件存在了indexDB,每次给后端传文件(需要传到底层C++进行调用)都会导致内存占用飙升,想着使用前后端都能共同操作的数据库来解决这个内存占用的问题,并且希望这个更具尽可能的轻量,可以嵌入到程序中是最好的,通过一个安装包进行安装。2各个数据......
  • vue如何实现文件上传及预览
    vue文件上传及预览<template><divid="file"><inputname="files" id="uploaderInput" type="file" accept="images/*" multiple@change="change"/><divclass="file_upload">......
  • C++基础 -3- 匿名空间,命名空间跨文件使用
    ———————匿名空间,命名空间跨文件———————匿名空间仅限本文件使用 ......
  • Kylin Linux Advanced Server V10 上安装 Nacos详细步骤
    要在KylinLinuxAdvancedServerV10上安装Nacos,可以按照以下进行操作:1.安装JavaJDK:首先确保已在KylinLinuxAdvancedServerV10上安装了JavaJDK。你可以按照前面提到的步骤进行JDK的安装和配置。2.下载Nacos:前往Nacos的官方GitHub仓库(https://github.com/ali......
  • Linux操作系统 文件查找、打包压缩及解压读书笔记
    当涉及Linux文件查找、打包压缩和解压时,确实有很多详细的内容。以下是更详细的解释和示例:1.文件查找在Linux中,find命令用于在文件系统中搜索文件和目录。下面是一些常见用法:基本用法:在整个文件系统中查找文件或目录:bashCopycodefind/-namefilename在当前目录及......
  • Linux课程随堂博文三
    一、基本权限UGO1、r、w、x对文件的影响要在file01.txt文件写入“date”,查看文件权限为644,普通用户alice只有读取权限。在root用户下,使用chmod命令给other身份增加执行权限“x”与写入权限“w”。2、r、w、x对目录的影响创建dir10目录,在该目录下创建file01文件,使用chmod命令......