Linux中删除文件的下令方法大全

打印 上一主题 下一主题

主题 691|帖子 691|积分 2073

linux中快速删除的几种方法

一. rm -rf

对于这个下令相信很多很熟悉,乃至一度说rm -rf /*是跑路下令,然后及时否则,很多必要删除的文件都必要这个下令,当然使用得当看个人,对于文件量不大情况还是比较有用的,详细如下:
  1. rm -rf <目录或文件>
复制代码
此中,-r 参数表示递归删除目次及其内容,-f 参数表示欺凌删除,忽略不存在的文件或目次和删除简直认提示。请留意,该下令将永久删除文件或目次,无法规复。
以下是几个示例:
1,删除一个文件:

  1. rm -rf example.txt
复制代码
该下令将递归地删除 example.txt 文件。
2,删除一个目次及其内容:

  1. rm -rf myDirectory
复制代码
该下令将递归地删除 myDirectory 目次及其全部内容,包罗子目次和文件。
3,删除多个文件或目次:

  1. rm -rf file1 file2 dir1 dir2
复制代码
该下令将递归地删除多个文件和目次。
4,使用通配符删除一类文件:

  1. rm -rf *.txt
复制代码
该下令将递归地删除当前目次下全部以 .txt 结尾的文件。常用通配符如:
1,*:匹配零个或多个字符,用于匹配任意字符串。

例如:rm -rf prefix*,可以删除以 “prefix” 开头的全部文件。
2,?:匹配一个字符,用于匹配单个字符。

例如:rm -rf file?.txt,可以删除名为 “file1.txt”、“file2.txt” 等的文件。
3,[]:匹配括号内的任意一个字符。

例如:rm -rf [abc]*,可以删除以 “a”、“b” 或 “c” 开头的文件。
4,{}:用逗号分隔的一组项,匹配此中的任意一项。

例如:rm -rf {file1,file2}.txt,可以删除 “file1.txt” 和 “file2.txt”。
5,使用循环结构来批量删除多个目次:

  1. for dir in dir1 dir2 dir3; do rm -rf "$dir"; done
复制代码
该下令将递归地删除当前目次下的目次 dir1、dir2 和 dir3。
6,删除特定目次下的一类文件:

  1. rm -rf /path/to/directory/*.log
复制代码
该下令将递归地删除 /path/to/directory 目次下全部以 .log 结尾的文件。
二 . rm 或者 rmdir 删除文件夹及文件

1,删除空文件夹:

  1. rmdir foldername
复制代码
该下令删除空文件夹 foldername。假如文件夹中有内容或子文件夹,则会报错。
2,递归删除文件夹及其内容:

  1. rm -r foldername
复制代码
该下令会递归地删除文件夹 foldername 及其内容(包罗全部子文件夹和文件)。在执行此下令之前,请确保你要删除的文件夹和其内容都是你的意图。
三. 比rm -rf高效的删除方法

假如 rm -rf 下令删除垃圾文件的速度较慢,可以实验以下方法来提高删除速度:
1,使用 find 下令结合 -delete 参数:

  1. find /path/to/folder -type f -delete
复制代码
该下令将仅删除 /path/to/folder 文件夹中的文件,而不删除文件夹自己。这种方式比 rm -rf 下令更高效,由于它不必要递归遍历子文件夹。
2,使用 rsync 下令删除文件夹:

  1. rsync -a --delete empty_folder/ path/to/folder
复制代码
这个方法的思绪是将一个空文件夹 empty_folder 覆盖到要删除的文件夹 path/to/folder 上,实际上等同于删除了目标文件夹的内容
四. 查询现在存在的文件个数

假如删除了,你想看看现在还有多少个,要查询一个文件夹中的文件和文件夹的个数,可以使用 ls 下令结合一些选项和管道操纵符。以下是几种常用的方式:
1,查询文件夹中的文件和文件夹总数:

  1. ls -lA foldername | wc -l
复制代码
该下令会列出文件夹 foldername 中的全部文件和文件夹,包罗隐藏文件和文件夹,并使用 wc -l 下令盘算输出的行数,即文件和文件夹的总数。
2,查询文件夹中的文件个数:

  1. ls -lA foldername | grep -v '^d' | wc -l
复制代码
该下令列出文件夹 foldername 中的全部文件(不包罗文件夹),并使用 grep -v '^d' 过滤掉以 “d” 开头的行(即过滤掉文件夹的行),然后使用 wc -l 下令盘算输出的行数,即文件的个数。
3,查询文件夹中的文件夹个数:

  1. ls -lA foldername | grep '^d' | wc -l
复制代码
该下令列出文件夹 foldername 中的全部文件夹,并使用 grep '^d' 过滤掉非以 “d” 开头的行(即过滤掉文件的行),然后使用 wc -l 下令盘算输出的行数,即文件夹的个数。
**上诉是个人根据常用下令结合官网做的总结,欢迎指导,当删除还是要结合自己必要慎用

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

乌市泽哥

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表