rm排除某个文件进行删除

前言

extglob模式开启之后Shell可以另外识别出5个模式匹配操作符,能使文件匹配更加方便. 不然不识别!

正文

开启命令:
shopt -s extglob

关闭命令:
shopt -u extglob

5个模式匹配操作符
1. ?(pattern-list) - 所给模式匹配0次或1次;
2.*(pattern-list) - 所给模式匹配0次以上包括0次;
3.+(pattern-list) - 所给模式匹配1次以上包括1次;
[email protected](pattern-list) - 所给模式仅仅匹配1次;
5.!(pattern-list) - 不匹配括号内的所给模式。

案例

反选删除文件:
(打开extglob模式)
shopt -s extglob
rm -fr !(file1)

多个要排除的:
rm -rf !(file1|file2)

  

原文地址:https://blog.51cto.com/14055961/2386129

时间: 2024-10-29 18:21:41

rm排除某个文件进行删除的相关文章

rm排除指定文件或指定文件夹下文件

3.方法3,当前文件夹中结合使用grep和xargs来处理文件名: ls | grep -v keep | xargs rm #删除keep文件之外的所有文件 说明: ls先得到当前的所有文件和文件夹的名字, grep -v keep,进行grep正则匹配查找keep,-v参数决定了结果为匹配之外的结果,也就是的到了keep之外的所有文件名,然后 xargs用于从 标准输入获得参数 并且传递给后面的命令,这里使用的命令是 rm,然后由rm删除前面选择的文件. 好处:使用了grep来正则表达式来匹

linux系统下文件夹以及文件的权限查看及修改;以及文件和文件夹删除 rm -rf 命令的使用

1.直接查看文件或者文件夹的权限命令: >>ll 或者 >>ls -l r代表读取权限,w写权限,x代表执行权限 第一个代表文件类型,-代表是普通文件,d代表是文件夹 权限一共分成3组,3个一组,分别是所有者,所属组,其他人 2.修改文件权限: 权限管理命令chmod,全拼:chang permissions mode of a file 语法:chmod [{ugoa}{+-=}{rwx}][文件或目录] [mode=421][文件或目录] -R 递归修改 u:所有者,g:所属组

运维实战案例之文件已删除但空间不释放问题解析

1.错误现象 运维的监控系统发来通知,报告一台服务器空间满了,登陆服务器查看,根分区确实没有空间了,如下图所示: 这里首先说明一下服务器的一些删除策略,由于Linux没有回收站功能,我们的线上服务器所有要删除的文件都会首先移动到系统/tmp目录下,然后定期清除/tmp目录下的数据.这个策略本身没有问题,但是通过检查发现这台服务器的系统分区中并没有单独划分/tmp分区,这样/tmp下的数据其实是占用了根分区的空间.既然找到了问题,那么删除/tmp目录下一些大数据即可,执行如下命令,检查/tmp下最

Mac下关于——你不能拷贝项目“”,因为它的名称太长或包括的字符在目的宗卷上无效。文件的删除

内容是google的,测试有效,因为用revel打包的东西删除以后有这个循环bug Mac下关于——你不能拷贝项目“”,因为它的名称太长或包括的字符在目的宗卷上无效.文件的删除 关于这个问题我找到的一些资料, 可以通过如下方法删除 1.打开 终端 应用程序. 2.键入: sudo rm -rf 注意:在“-rf”后键入一个空格.没有空格该命令将不能执行.在步骤 6 之前请都不要按下 Return 键. 3.打开您的“废纸篓”. 4.从“编辑”菜单中选择“全选”. 5.将“废纸篓”中的所有内容都拖

zip & tar 压缩文件时排除某个文件夹

确实是用参数 -x aaa bbb 两个文件夹要写全路径. 如 zip -r test.zip test -x /test/aaa/* -x /test/bbb/* 既包含了文件夹,也可以 zip -r test.zip test -x /test/*.mp4(还未尝试, 不知道可否删除递归文件夹中.mp4文件),压缩时排除指定文件. tar -zcvf test.tar.gz --exclude=aaa --exclude==bbb test 其他参考:http://www.cnblogs.c

linux中使用rm命令将文件移到回收站的方法

今天在终端下,看到我的用户目录下有个-的文件夹(maven生成),相要删除收回点空间,习惯性的用命令 rm -rf ~ ,一回车,猛然想起的时候已经来不及了,世界一下子清静了,想死的心都有了! 没错,-指定的是当前用户的目录,我的用户名是liyd,相当于是执行了rm -rf /home/liyd,所有的文件都删除了.试了linux下的各种文件恢复方法,都不理想,ext4格式,找回来的比率太小了,还要在一大堆乱文件中查找需要的,唉!所幸没什么特别重要的文件,代码都git和svn提交了,损失还能接受

8. 文件系统——文件的删除、移动、复制过程以及链接文件

一.删除.移动.复制和文件系统的关联关系 1.删除文件的过程 以/var/log/messages这个文件为例,删除messages这个文件的过程大致如下: ①找到/var/log/messages所在的inode(查找文件的过程见前一章节): ②删除/var/log目录上有关messages的条目: ③清空索引中/var/log/messages对应的inode数据(注意,不是删除inode,而是清空这个inode的数据),将此inode对应的位图改为空闲(如从1改为0).事实上可以不清除数据

苹果电脑出现 .DS_Store文件,删除不掉怎么处理?

今天早上打开电脑,发现桌面上出现一个.DS_Store文件.可是出现的莫名其妙,也就没在意,可是重复删除之后还是出现.后来查了一下网上的资料,才知道,昨天我加入git的时候,为了看见 .git这个隐藏的系统文件在终端输入了一些命令. 依据网上一些问答或者资料的介绍,才知道这个文件属于系统有关系的文件,删除之后,一些信息会丢失. 只是损害有限(由于我写的是一个demo.没了再写一个就是了哈) 删除非常easy,打开终端直接复制线面一行代码------- sudo find / -name ".DS

Git学习笔记(3)——撤销修改和文件的删除

本文主要记录了git中,错误的撤销和文件的删除. 撤销修改 这里有3中情况 改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file. 不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了1,第二步,按照1操作. 已经提交了不合适的修改到版本库时,想要撤销本次提交,可以版本回退,不过前提是没有推送到远程库. //第一种撤销:工作区撤销 [email protected]:~