神刀安全网

rm命令删除特定文件或目录或不删除特定文件或目录

rm -rf `ls -aR| egrep -v ‘(.svn|*.svn*)’`

ls -al

 

删除文件排除指定文件或者目录方法(linux)
以下命令以网站目录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文件在执行命令后还是存在的

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » rm命令删除特定文件或目录或不删除特定文件或目录

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址