set选项与shopt选项是两组不同的内容,用set -o和shopt -p可以分别查看两个组所有的打开和关闭的条目, 在默认状态下,有些是打开的,有些是关闭的,shopt各选项随着bash版本的更新会有增加,与shopt相关的基本操作如下:

# shopt -p 列出所有选项
# shopt -s 列出所有打开的选项
# shopt -s extglob 打开extglob选项
# shopt -u 列出所有关闭的选项
# shopt -u extglob 关闭extglob选项

举列说明:
cdspell 当cd进一个目录时,如果目录名被无意中打错,某个字母错了或者缺失,也一样可以进入这个目录。
dotglob 以点开头的隐藏文件可以不用前面加点而像其它文件一样正常地用通配符表示。
extglob 可以用rm !(*jpg)这样的方式来删除所有不以jpg结尾的文件名,也可以 rm *@(jpg|png) 这样地表示“或”,当然,还有其它.....
在bash的使用过程中需要熟悉这些选项,找到符合自己口味的设置。

一共9个文件,除了保留1,2,3的文件,其余删除.
 [report@localhost~/tmp]$ls
 1  2  3  4  5  6  7  8  9
 [report@localhost~/tmp]$shopt -s extglob
 [report@localhost~/tmp]$rm -rf !(1|2|3)
 [report@localhost~/tmp]$ls
 1  2  3
 [report@localhost~/tmp]$shopt -u extglob

linux 保留文件 其余删除的更多相关文章

  1. 深入理解linux关闭文件和删除文件

    背景介绍 最近看了linux系统编程(linux system programming)一书,结合深入理解linux内核(understanding the linux kernel)一书,深入理解了 ...

  2. Linux大文件已删除,但df查看已使用的空间并未减少解决

    在我的生活当中遇到磁盘快满了,这时候准备去删除一些大文件 于是我使用ncdu 查看了一下当前系统占用资源比较多的是那些文件,结果一看是elasticsearch的日志文件,好吧,竟然找到源头了,那就把 ...

  3. Linux大文件已删除,使用df查看已使用的空间并未减少

    今天在一台Linux系统里,使用df命令查看磁盘使用情况,发现/根分区使用了100% 然后删除一大文件/var/lib/pgsql/9.1/pgstartup.log,再使用df查看使用情况,显示内容 ...

  4. linux移动文件与删除文件

    目录 一:移动文件 二:删除文件 一:移动文件 移动文件相当于剪切. 格式: mv[移动文件的原路径][移动文件的新路径] 案例: 1.移动文件 案例1:将/root目录下的1.txt移动到/opt目 ...

  5. (转)linux特殊文件名字删除不了怎么办

    1. 文件名含有特殊字符,直接使用 rm 可能删除不了,可以使用如下方法: 1) 使用 ls -i 查处该文件的 inode 号,假设为654321 2) 使用find命令删除 find ./ -in ...

  6. Linux 查找文件并删除文件内容

    find * ./ |while read file; do echo ''>$file; done

  7. 学习笔记12—linux下文件的复制、移动与删除

    查看centOS 版本     cat /etc/redhat-release 1,复制粘贴文件 cp  [选项]  源文件或目录  目标文件或目录 2,剪切粘贴文件 mv [选项]  源文件或目录 ...

  8. linux shell下除了某个文件外的其他文件全部删除的命令

    Linux反选删除文件 最简单的方法是 # shopt -s extglob      (打开extglob模式) # rm -fr !(file1)  如果是多个要排除的,可以这样: # rm -r ...

  9. Linux服务器文件删除空间未释放的问题

    一.问题起源 在Linux系统中,通过rm删除文件将会从文件系统的目录结构上解除链接(unlink),如果文件是被打开的(有一个进程正在使用),那么进程将仍然可以读取该文件磁盘空间也一直被占用 这样就 ...

随机推荐

  1. Font Awesome字体图标的 用法, 很简单

    http://fontawesome.dashgame.com/ 上面是 官网,  可下载,也可以CDN. 1...  加载 2...  用法

  2. R多行交叉作图

    #中文 UTF-8编码   3.4.0library(Hmisc)mydata = read.table('clipboard',header = T)head(mydata)mycol=c(rgb( ...

  3. HRBUST 1186 青蛙过河 (思路错了)

    在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧.在桥上有一些石子,青蛙很讨厌踩在这些石子上.由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数轴上的一串 ...

  4. appDesign

    1原则 简约,实用,懒人模式 2模块划分 以实用目的,而非以工具

  5. Spring 中StopWatch用法

    背景 有时我们在做开发的时候需要记录每个任务执行时间,或者记录一段代码执行时间,最简单的方法就是打印当前时间与执行完时间的差值,然后这样如果执行大量测试的话就很麻烦,并且不直观,如果想对执行的时间做进 ...

  6. Confluence 6 示例 - https://confluence.atlassian.com/

    这里是有关存储空间和内存使用的情况,数据更新于 2013年04月: 数据库大小 2827 MB Home 目录占用空间大小 116 GB 平均内存消耗 1.9 GB 选择实例的数据库表格 数据(Dat ...

  7. C# 关键字base用法

    1.调用基类的方法 public class A { public virtual void Hello() { Console.WiriteLine("Hello"); } } ...

  8. spring整合junit报错

    1.Could not autowire field: private javax.servlet.http.HttpServletRequest 参考:https://www.cnblogs.com ...

  9. Session&Cookie(Introduction、Application)

    一Session 1概念: (1)session是会话,是同一连接者所有页面公有的内置对象   (2)session是一段时间,从session创建开始,到session销毁结束,默认时间为30分钟( ...

  10. Linux c读取系统内存使用信息

    系统的内存使用信息能够在虚拟文件系统/proc/meminfo中找到,如图 所以只要打开/proc/meminfo文件,然后从中读取信息就好了 #include <stdio.h>#inc ...