首页 > 系统相关 >linux环境中,一个目录下,除了特定的目录和这个目录里面的内容,删除所有其他的目录和文件的方法

linux环境中,一个目录下,除了特定的目录和这个目录里面的内容,删除所有其他的目录和文件的方法

时间:2023-07-20 14:56:39浏览次数:33  
标签:21 04 May ----- linux 删除 root 目录

有个tomcat目录,如下:

 

[root@nccztsjb-node-27 apache-tomcat-9.0.75]# ls -l
total 148
drwxr-x--- 2 root root  4096 Jul 20 14:37 bin
-rw-r----- 1 root root 19992 May  4 21:04 BUILDING.txt
drwx------ 2 root root  4096 May  4 21:04 conf
-rw-r----- 1 root root  6210 May  4 21:04 CONTRIBUTING.md
drwxr-x--- 2 root root  4096 Jul 20 14:37 lib
-rw-r----- 1 root root 57092 May  4 21:04 LICENSE
drwxr-x--- 2 root root  4096 May  4 21:04 logs
-rw-r----- 1 root root  2333 May  4 21:04 NOTICE
-rw-r----- 1 root root  3398 May  4 21:04 README.md
-rw-r----- 1 root root  6901 May  4 21:04 RELEASE-NOTES
-rw-r----- 1 root root 16505 May  4 21:04 RUNNING.txt
drwxr-x--- 2 root root  4096 Jul 20 14:37 temp
drwxr-x--- 7 root root  4096 May  4 21:04 webapps
drwxr-x--- 2 root root  4096 May  4 21:04 work
[root@nccztsjb-node-27 apache-tomcat-9.0.75]# 

 

除了webapps和这个目录下的内容,其他的文件都进行删除

 

方法如下,使用find命令

 

cd /root/apache-tomcat-9.0.75
find . -mindepth 1 ! -path "./webapps/*" ! -path "./webapps" -exec rm -rf {} +

 

 

结果,webapps目录,目录下面的东西,都有,其他的东西,都被删除掉了。

 

 

命令解释:

  • find: 查找命令。
  • .: 表示当前目录,你可以将其替换为目标目录的绝对路径。
  • -mindepth 1: 确保find不会匹配到当前目录本身,只匹配子目录和文件。
  • ! -path "./特定目录/*": 表示不匹配名为"特定目录"的目录以及其内容。!表示否定。
  • -exec: 在找到的文件/目录上执行后面的命令。
  • rm -rf {} +: 删除找到的文件/目录。{}会被find命令替换为实际的文件名/目录名。
  • +: 一次性执行尽可能多的删除操作,而不是每找到一个文件/目录就执行一次。

标签:21,04,May,-----,linux,删除,root,目录
From: https://www.cnblogs.com/chuanzhang053/p/17568409.html

相关文章

  • Linux服务器上设置或修改ip
    临时修改永久修改1、超级用户修改配置文件:/etc/sysconfig/network-scripts/ifcfg-${网卡名},模板可以参考下边的···TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=staticDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=y......
  • linux7-信号
    1.信号的概念信号->电话铃声是一种抽象的概念接电话->动作信号是软件中断,它是在软件层次上对中断机制的一种模拟,是一种异步通信的方式。信号可以导致一个正在运行的进程被另一个正在运行的异步进程中断,转而处理某一个突发事件。![信号实现](I:\7day\信号实现.png)一个完......
  • Linux 下运行.NET 6 7 8 程序遇到的两个问题
    一、/lib64/libstdc++.so.6:version`GLIBCXX_3.4.21‘notfound的解决办法1.下载libstdc++.so.6.0.21文件注意区分x84_64和aarch64架构,下载对应的版本2.把libstdc++.so.6.0.21复制到/lib64/libstdc++.so.6.0.213.运行命令exportLD_PRELOAD="/lib64/libstdc++.s......
  • linux怎么让程序开机自动启动
    https://zhidao.baidu.com/question/1609108067350090187.html目录下的脚本文件,可以使init自动启动其它程序。例如:编辑/etc/rc.d/rc.local文件(该文件通常是系统最后启动的脚本),在文件最末加上一行“xinit”或“startx”,可以在开机启动后直接进入X-Window。......
  • SQL 更新某一个字段的某些内容(删除)
    --需求:想将MPicture表里的FNO的地址统一修改下,去掉【图片地址】四个字--拓展:也可以将【图片地址】四个字替换成新的字replace(FNO,substring(FNO,8,4),'新地址啊')--说明:MPicture【表名】FNO【字段名】substring(FNO,8,4)【FNO,要替换的字段,8开始的位置,4截取的长度】update......
  • 1-23 编写一个删除 C 语言程序中所有的注释语句
    ArchlinuxGCC13.1.1 202304292023-07-2013:34:31星期四 点击查看代码#include<stdio.h>#defineTRUE1#defineFALSE0intmain(){inti,j,sign;chartmp[100]="";FILE*fp;FILE*fp_store;//另创建文件,保存修改i=j=0......
  • k8s挂在docker目录
    在Docker中挂载Kubernetes目录的步骤介绍在Kubernetes(简称K8s)中,我们可以使用Volume挂载来实现在Pod中访问宿主机上的目录。本文将指导你如何在Docker中挂载Kubernetes目录。步骤概述下表展示了完成此任务的步骤概述:步骤描述步骤1创建一个KubernetesPod步骤2......
  • mysql撤销上一步删除
    MySQL撤销上一步删除操作的方法1.撤销删除的流程在MySQL中,我们可以通过使用事务来实现撤销上一步的删除操作。事务是一系列SQL操作的集合,它们要么全部成功执行,要么全部回滚。在执行删除操作前,我们可以开启一个事务,并在删除之前将要删除的数据备份到另一个表中。如果在删除后发现......
  • linux 中 awk命令中 getline的用法
     001、[root@PC1test02]#ls[root@PC1test02]#seq1012345678910[root@PC1test02]#seq10|awk'{getline;print$0}'##getline把两行当作一行处理,而且跳过了第一行246810 002、[root@PC1test02]#ls[root@PC1test02]#seq1012345......
  • linux 中awk命令getline函数实现从内部读取文件内容
     001、[root@PC1test02]#lsa.txtb.txt[root@PC1test02]#cata.txt##测试数据123456[root@PC1test02]#catb.txt##测试数据111213141516[root@PC1test02]#awk'{printf"%s",$0;getline<"b.txt";p......