以下命令以网站目录www为例做介绍,有时候更新网站的时候需要保留比如图片目录,或者其他目录就需要这样的操作

实例一:
删除文件夹内所有文件只保留一个文件命令

[root@linuxzgf www]# cd html
[root@linuxzgf html]# ls
a dede include install plus special templets
data images index.php member robots.txt tags.php uploads
[root@linuxzgf html]# rm -rf `ls -I index.php`
[root@linuxzgf html]# ls
index.php
[root@linuxzgf html]#

注释:
``是TAB上面那个,不是引号 2010-1-14
index.php是要保留的文件名字,此名字可以是文件夹也可以是文件名都可以

实例二:
删除文件夹内所有文件保留部分文件
[root@linuxzgf www]# cd html
[root@linuxzgf html]# ls
a dede include install plus special templets
data images index.php member robots.txt tags.php uploads
[root@linuxzgf html]# rm -rf ls|egrep -v '(index.php|data)'
[root@linuxzgf html]# ls
data index.php
[root@linuxzgf html]#

ls前的` 符号是tab上面的符号
()紧跟的是单引号
index.php|data 是要保留的文件,此处可以保留多个文件

实例三:

删除指定扩展名的某类文件但是要保留部分文件

环境如下:具体环境具体解释和文件名即可
[root@linuxzgf member]# ls
ajax_feedback.php article_edit.php edit_face.php js resetpassword.php uploads_add.php
ajax_loginsta.php buy_action.php edit_fullinfo.php login.php search.php uploads_edit.php
album_add.php buy.php edit_space_info.php mtypes.php shops_orders.php uploads.php
album_edit.php caicai.php feedback.php myfriend.php shops_point.php uploads_select.php
archives_add.php check_card.php flink_main.php mypay.php shops_products.php visit-history.php
archives_do.php config.php guestbook_admin.php mystow.php soft_add.php
archives_edit.php content_list.php images operation.php soft_edit.php
archives_sg_add.php content_sg_list.php inc paycenter space
archives_sg_edit.php control.php index_do.php pm.php spaceskin.php
article_add.php edit_baseinfo.php index.php reg_new.php templets
[root@linuxzgf member]#

实例四:
删除当前目录下所有 *.php文件,除了buy.php

方法一:
[root@linuxzgf member]# rm -rf `ls *.php |egrep -v buy.php`
[root@linuxzgf member]# ls
buy.php images inc js paycenter space templets
[root@linuxzgf member]#

方法二:

[root@linuxzgf member]# rm -rf `ls *.php |awk '{if($0!="buy.php")print $0}'`
[root@linuxzgf member]# ls
buy.php images inc js paycenter space templets
[root@linuxzgf member]#

实例五:
排除多个文件 buy.php caicai.php login.php
方法一:

[root@linuxzgf member]# rm -rf `ls *.php |egrep -v '(buy.php|caicai.php|login.php)'`
[root@linuxzgf member]# ls
buy.php images js paycenter templets
caicai.php inc login.php space
[root@linuxzgf member]#

方法二:

这里是用ls得到原始数据,也可以用find命令
[root@linuxzgf member]# rm -rf find *.php |egrep -v \'(buy.php|caicai.php|login.php)'\
[root@linuxzgf member]# ls
buy.php images js paycenter templets
caicai.php inc login.php space
[root@linuxzgf member]#

此命令只删除了当前目录下的所有php结尾的文件,子目录中的php文件是不会被删除的如inc目录中的php文件在执行命令后还是存在的
本文作者:宗国锋 宗国锋官方网站 转载请注明原文链接http://www.zongguofeng.cn/2010/0115/237.html

Linux 中排除掉筛选的文件的更多相关文章

  1. linux常用命令之查阅文件

    CAT cat – concatenate print files 连续的输出文件内容 用法 cat [-nbA] file 选项 -n line number 输出行号 -b line number ...

  2. Linux中删除特殊名称文件的多种方式

    今日分享:我们在肉体的疾病方面花了不少钱,精神的病害方面却没有花什么,现在已经到了时候,我们应该有不平凡的学校.--<瓦尔登湖> 前言 我们都知道,在linux删除一个文件可以使用rm命令 ...

  3. 向linux服务器上传下载文件方式收集

    向linux服务器上传下载文件方式收集 1. scp [优点]简单方便,安全可靠:支持限速参数[缺点]不支持排除目录[用法] scp就是secure copy,是用来进行远程文件拷贝的.数据传输使用 ...

  4. Linux查找并删除重复文件的命令行fdupes工具,dupeGuru图形工具

    查了几十个网页,找到这个接近满意的解决方案http://unix.stackexchange.com/questions/146197/fdupes-delete-files-aft... 不过正则里 ...

  5. linux几种快速清空文件内容的方法

    linux几种快速清空文件内容的方法 几种快速清空文件内容的方法: $ : > filename #其中的 : 是一个占位符, 不产生任何输出. $ > filename $ echo & ...

  6. linux系统中批量查找文件与文件内容的方法

    在linux中查看与修改文件权限我们都必须使用命令来操作,不能像windows一样点几下就好了,下面我们简单的介绍一下linux中的相关命令 比如查找当前目录下面所有的php文件里面某个关键字 fin ...

  7. Linux 利用进程打开的文件描述符(/proc)恢复被误删文件

    Linux 利用进程打开的文件描述符(/proc)恢复被误删文件 在 windows 上删除文件时,如果文件还在使用中,会提示一个错误:但是在 linux 上删除文件时,无论文件是否在使用中,甚至是还 ...

  8. Windows Linux 之间rsync同步CODE文件

    Windows Linux 之间rsync同步CODE文件 一.环境Windows:OS:Microsoft Windows Web Server 2008 SP1IP:192.168.88.197 ...

  9. Linux磁盘管理之设备文件详解04

    Linux一切接文件,除了普通文件和目录文件,还包括一些其它的特殊文件:块设备文件.字符设备文件.套接字文件.链接文件等.今天这里主要说一下常见的块设备文件和字符设备文件,这2类是最常见的设备文件类. ...

随机推荐

  1. Unity5 Shader Stripping 导致 LightMap 全部丢失的解决方法

    当使用 SceneManager.LoadScene 的时候,会自动载入LightMap 和 NavMesh的数据.然后再对MeshRender 进行指定 LightMapIndex 以及 Light ...

  2. 286 walls and gate最近的出口

    [抄题]: 您将获得一个使用这三个可能值初始化的 m×n 2D 网格.-1 - 墙壁或障碍物. 0 - 门. INF - Infinity是一个空房间.我们使用值 2 ^ 31 - 1 = 21474 ...

  3. java高级工程师(一)

    一.无笔试题   不知道是不是职位原因还是没遇到,面试时,都不需要做笔试题,而是填张个人信息表格,或者直接面试     二.三大框架方面问题   1.Spring 事务的隔离性,并说说每个隔离性的区别 ...

  4. springMVC框架的作用

    springMVC:是一个表现层框架 作用:就是从请求中接收传入的参数 将处理后的结果数据返回给页面展示

  5. [C++] Test question(1-16)

    code: C++ don't have static class

  6. 界面编程与视图(View)组件

    1.视图组件与容器组件 Android应用绝大部分UI组件都放在Android.widget包及其子包.android.view包及其子包中,其所有UI组件都继承了view类,view组件代表一个空白 ...

  7. W-D-S-链接地址

    1.程序一开始是烧写到nandflash上,设置为nandflash启动,6410片内有8K的内存,设为nandflash启动时,是从片内内存0地址开始,一上电,nandflash前面8K的内容会原原 ...

  8. BI失败的原因

    最最重要的, 要有个清晰的目标和范围. 有些客户, 完全脑袋一热开始上BI, 连根本上要BI来解决什么问题都不知道.作为企业的CIO, 首先要知道上BI项目是不是符合企业的战略目标, 是不是能给企业带 ...

  9. Linux服务器上日志报com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1783 > 1024). You can change this value on the server by setting the max_allowed_packet' variable.

    在做查询数据库操作时,报了以上错误,还有out of memery heap hacp ,原因是MySQL的max_allowed_packet设置过小引起的,我一开始设置的是1M,后来改为了20M ...

  10. CocoaPods安装和使用教程[转]

    目录 CocoaPods是什么? 如何下载和安装CocoaPods? 如何使用CocoaPods? 场景1:利用CocoaPods,在项目中导入AFNetworking类库 场景2:如何正确编译运行一 ...