系统之家Linux下怎么删除某文件外的所有文件怎么办

系统之家Linux下怎么删除某文件外的所有文件怎么办,第1张

删除制定文件(夹)之外的所有文件呢?

1、方法1,比较麻烦的做法是:

复制需要保留的文件到其他文件夹,然后将该目录删除, 然后将需要保留的移动 回来。

mv keep 。。/ #保留文件(夹) keep

rm -rf * #删除当前文件夹里的所有文件

mv 。。/keep 。/ #将原来的东西移动回来

2、方法2,需要在当前文件夹中进行:

rm -rf !(keep) #删除keep文件之外的所有文件

rm -rf !(keep1 | keep2) #删除keep1和keep2文件之外的所有文件

3、方法3,当前文件夹中结合使用grep和xargs来处理文件名:

ls | grep -v keep | xargs rm #删除keep文件之外的所有文件

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

好处:使用了grep来正则表达式来匹配文件名字,可以一次保留多个文件,从而进行更加准确的处理。

4、方法4,使用find命令代替ls,改进方法3从而能够处理制定文件夹的文件:

find 。/test/ | grep -v keep | xargs rm #删除当前test文件夹中keep文件之外的所有文件

说明,用grep而不用find -name选取名字,因为find选取名字时比较麻烦,对正则表达式支持不够,无法排除指定文件名。

5、方法5,直接使用find命令删除其他文件:

find 。/ -name ‘[^k][^e][^e][^p]*’ -exec rm -rf {} \#删除keep以外的其他文件。

find 。/ -name ‘[^k][^e][^e][^p]*’ | xargs rm -rf #删除keep以外的其他文件。推荐!

说明:上面第二行的代码效率高些,原因在于删除多个文件时 -exec会启动多个进程来处理,而xargs会启动一个rm进程来处理。

1、首先连接 *** 作系统,切换到root用户。

如果是使用yum安装的mysql,使用如下命令进行卸载(不能确定使用何种方式安装的mysql情况下,按后续步骤一一进行处理即可):

# yum remove mysql mysql-server mysql-libs compat-mysql51

# rm -rf /var/lib/mysql

# rm /etc/my.cnf

使用rpm -qa|grep mysql命令来查看rpm方式安装的mysql,如果查询结果不为空,需要将这些rpm卸载掉。

2、如果是使用rpm方式安装的mysql,按如下步骤进行处理:

查看系统中是否以rpm包安装的mysql:

# rpm -qa | grep -i mysql

使用rpm -e 命令将上个命令中包列表一一进行卸载。

然后删除mysql相关的服务。

# chkconfig --list | grep -i mysql

# chkconfig --del mysql

3、然后找出OS中分散的mysql文件夹,并删除。

# find / -name mysql

Linux中find命令查找到文件后通过-exec参数执行shell命令,案例如下:

#-exec command {} \ 将查到的文件执行command *** 作,{} 和 \之间有空格

find / -name filename -exec rm -rf {} \

#查找名字为filename的文件,然后执行rm删除命令Linux中grep命令查找到文件后通过|(管道符)传递给后面命令执行,案例如下:

ls -l|grep filename|rm -rf

#查找名字为filename的文件,然后执行rm删除命令


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/6252324.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-19
下一篇 2023-03-19

发表评论

登录后才能评论

评论列表(0条)

保存