推荐文章

Linux 最常用命令整理,建议收藏!

linux ss 命令用法说明

如何配置Linux系统的IP地址?

Linux TCP状态TIME_WAIT 过多的处理

rm是我们在Linux下删除文件经常用到的命令,但是有时候我们目录下有很多个文件想要删除,偏偏却要保留其中1个或几个文件,那怎么办呢?很多新手朋友可能会采取一个一个文件删除的方法来操作,但是如果文件很多呢?删到啥时候啊~~

今天我们就来教大家使用rm命令删除文件的时候如何排除指定的文件(不删除指定文件)。首先我们来看一下平时我们是怎么使用rm命令的。

1、删除单个文件

rm 1.txt
2、强制删除文件,无需确认
rm -rf 1.txt
3、删除文件夹
rm -rf mydir
4、删除目录下全部文件,包括文件夹
rm -rf *
5、删除全部文件,但保留1.txt
rm -rf !(1.txt)

正常情况下是全部文件被删除了,只留下了1.txt,但是有时候我们的系统没配置好,可能会报错,例如下面这种:

root@abc:/home/# rm -rf !(1.txt)-bash: !: event not found

上面这种情况是因为我们的系统没有开启通配符功能,我们执行下面的命令开启通配符功能先:

shopt -s  extglob
查看通配符功能是否开启,on表示已经开启
shopt -s

然后我们再次执行前面的命令就可以看到文件已经全部删除了,只保留了1.txt

rm -rf !(1.txt)

6、删除全部文件,保留1.txt和2.txt

rm -rf !(1.txt|2.txt)

上面我们说的都是直接用rm + !(叹号)来排除文件的,下面我们搞个高深一点的,用find + grep + xargs三个命令一起用

7、删除全部文件,保留1.txt

find * | grep -v 1.txt | xargs rm

这里我们要特别注意grep的-v参数,-v参数表示反选,比如我们上面指定了-v 1.txt,即排除掉1.txt,选中其他全部文件。所以这样执行之后1.txt就被排除了

8、删除全部文件,保留1.txt和2.txt

find * | grep -v '\(1.txt\|2.txt\)' | xargs rm

这里要特别留意,括号()跟括号内的竖线|需要添加\进行转义,否则会报错

今天讲的就这些,都是非常实用的技巧,大家赶紧动手试试吧

dll可以在linux下使用吗_Linux下使用rm删除文件,并排除指定文件相关推荐

  1. linux scp 排除文件夹,scp复制文件时排除指定文件

    1. 前言 本文主要讲解如何在scp复制文件时排除指定文件. 举例: 我需要将所有*.c文件从名为hostA的电脑复制到hostB,包括所有目录.我使用以下scp命令,但不知道如何排除特定的文件(如* ...

  2. linux rm 某个时间以前,(转)linux的一个find命令配合rm删除某天前的文件

    转自:http://www.cnblogs.com/mingforyou/p/3930624.html 语句写法:find 对应目录 -mtime +天数 -name "文件名"  ...

  3. 怎样把服务器的文件改名字,linux服务器如何修改文件名称rm命令删除文件时排除特定文件...

    grep -i richard telnos 在文件telnos中检索字符串richard,不顾字母的大小写. grep '[0-9]*' chapter1 由于[0-9]*与空字符串匹配,上述命令打 ...

  4. linux 切换python版本_Linux下python默认版本切换成替代版本(示例代码)

    当你安装 Debian Linux 时,安装过程有可能同时为你提供多个可用的 Python 版本,因此系统中会存在多个 Python 的可执行二进制文件.你可以按照以下方法使用 ls 命令来查看你的系 ...

  5. linux mysql 日志乱码_Linux下MySQL保存进去数据为乱码的解决办法

    mysql默认的字符编码是latin1,而我用的是utf-8,存入数据库就变成了?????这样的乱码,解决方法: 1.windows下:修改my.ini文件,有 mysql默认的字符编码是latin1 ...

  6. linux 查看磁盘空间_Linux下删点日志也能搞死人

    想了十天十夜不知道写些什么,那就写写面试题吧. == 1 == 在面试应聘者的时候,我常常会问: 在 Linux 下,如何删除一个目录下的所有 log 文件? 不知道是不是我人畜无害的围笑给了应聘者我 ...

  7. linux恢复mysql配置文件_linux下mysql配置文件my.cnf详解【转】

    basedir = path 使用给定目录作为根目录(安装目录). character-sets-dir = path 给出存放着字符集的目录. datadir = path 从给定目录读取数据库文件 ...

  8. linux tomcat 进程杀掉_Linux下tomcat的配置踩坑

    前言 在配置微信公众号开发的过程,可以参照我的上一篇文章(后来使用Java开发的我表示很鸡肋,虽然配置好了,但是不知道接下来该怎么继续).然后就想起了Windows下Java学习过程中使用过的tomc ...

  9. linux下mysql用户_linux下mysql用户管理方法

    一.root用户密码的维护: 由于安装mysql完后,mysql会自动提供一个不带密码的root用户,为了安全起见给root设置密码: 复制代码 代码示例: #mysqladmin -u root p ...

最新文章

  1. python开发需要掌握哪些知识-Python基础学习需要掌握哪些知识
  2. 在WAS中得到OracleConnection
  3. 5-global_data介绍
  4. python——正则表达式
  5. mysql平台workb_MySQL分布式事务
  6. python学习笔记系列-方便自我学习
  7. leetcode 142. 环形链表 II(set/快慢指针)
  8. 推荐系统--矩阵分解(1)
  9. 数据数据库学通MongoDB——第一天 基础入门
  10. android app启动过程
  11. win7开机动画_WIN7开机动画神盾局欢迎界面壁纸
  12. python实现WGS84平面大地坐标(X,Y)转换经纬度BL类
  13. 转义字符 \r \v \f
  14. WordPress缩略图出现A TimThumb error has occured解决办法
  15. 2019年清华计算机系本校保研推免机考题目
  16. mysql server has fone away
  17. android 处理home键,android处理home键的方法
  18. Python 和matlab 关于DMD(动态模态分解)的实现和对比 21/06/08
  19. 共享单车蓝牙锁方案phy6222系列蓝牙芯片
  20. VMware ESXi 8.0集成网卡驱动

热门文章

  1. C++----练习--string输入输出
  2. Java迭代器的一般用法
  3. xcode4.5 iOS6 cocos2d-x 横屏解决方案
  4. 用Javascript实现面向对象编程(封装,抽象,继承,多态)
  5. (ZZ)A*算法入门
  6. 栈2——局部变量要初始化的原因
  7. 基础知识—表达式与语句-语句
  8. 集结号!四大国产开源数据库共聚申城,共话未来技术演进
  9. 两千字揭密 MySQL 8.0.19 三大索引新功能:隐藏索引,降序索引,函数索引
  10. AWR 报告深度解读:Redo Nowait指标的算法和诊断泄露二十多万名用户数据