首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

linux超百万文件目录的遍历删除

今天在群里有个群友问了个问题,生产环境有目录包含数量较多的文件,删除会被卡住,自己想了下发现自己这点没遇到过但是确实存在这个情况就去了解学习了,这里做一小结 生成测试文件 初始测试文件这里生成300w...输出的是经过排序过的,为了排序自然要开辟内存进行运算,那么需要消耗很大的空间和计算 那么ls -f 命令能够不执行排序操作,读取了就立即输出, linux具体文件目录组织方式还有ls排序的原理可以回头单开一篇这里就不多深入了...经过测试(肉眼+秒表) 在100w的文件数量的目录里面 ls 遍历需要4秒 ls -f 不用排序 do not sort, enable -aU, disable -ls --color ls -1...输出长格式列表(这个在help里面没有) 删除文件 一般我们直接用 rm -rf ./* 就可以但是 当目录文件过多的时候会报错这是因为 linux下面的命令长度和参数数量都是有限制的 操作系统受参数...就可以看到这个进程到底在干嘛了 其实首先  卡住这个如果目录过多 肯定会消耗比一般情况更多的时间的,删除的操作时间是固定的,那么能解决的就是查找文件的操作, 减少不必要的操作,不用一次性全部获取 可以找到一个删除一个

4.8K30

linux 查找目录文件详解

查找目录:find /(查找范围) -name '查找关键字' -type d 查找文件:find /(查找范围) -name 查找关键字 -print 如果需要更进一步的了解,可以参看Linux的命令详解...may* 查找以apmay开头的文件 find /mnt -name tom.txt -ftype vfat 在/mnt查找名称为tom.txt且文件系统类型为vfat的文件 find /mnt...30分钟前被存取过的文件 find /home -newer tmp.txt             在/home查更新时间比tmp.txt近的文件目录 find /home -anewer tmp.txt...            在/home查存取时间比tmp.txt近的文件目录 find /home -used -2                  列出文件目录被改动过之后,在2日内被存取过的文件目录...列出/home目录内用户的识别码大于501的文件目录 find /home -group cnscn              列出/home内组为cnscn的文件目录 find /home -gid

5.7K31
您找到你想要的搜索结果了吗?
是的
没有找到

Linux .sh文件

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。...Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。linux中.sh文件是什么?linux中.sh文件是脚本文件,一般都是bash脚本。...想运行的话就用sh命令运行sh xxx.sh。注:sh或是执行脚本,或是切换到sh这个bash里,默认的shell是bash。...当然,linuxsh是链接到bash上的,所以sh与bash在功能上是没有区别的。...还有就是在执行脚本的时候是用sh + 脚本名的方式来执行,其实,大部分的时候,简单脚本只要权限设置正确,可以直接执行,不需要sh命令的。

9.3K20

Linux cp 复制文件目录命令

Linux cp(英文全拼:copy file)命令主要用于复制文件目录。...语法 cp [options] source dest cp [options] source... directory 参数说明: -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容...-f:覆盖已经存在的目标文件而不给出提示。 -i:与 -f 选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答 y 时目标文件将被覆盖。...-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。 -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录文件。 -l:不复制文件,只是生成链接文件。...实例 使用指令 cp 将当前目录 test/ 的所有文件复制到新目录 newtest ,输入如下命令: $ cp –r test/ newtest 注意:用户使用该指令复制目录

10.3K30

Linux cp 复制文件目录命令

语法 cp [options] source dest cp [options] source... directory 参数说明: -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容...-f:覆盖已经存在的目标文件而不给出提示。 -i:与 -f 选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答 y 时目标文件将被覆盖。...-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。 -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录文件。 -l:不复制文件,只是生成链接文件。...实例 使用指令 cp 将当前目录 test/ 的所有文件复制到新目录 newtest ,输入如下命令: $ cp –r test/ newtest 注意:用户使用该指令复制目录

11.6K60

linux移除文件目录rm命令

rm是常用的命令,该命令的功能为删除一个目录中的一个多个文件目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。...rm也是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比如在/(根目录执行rm * -rf)。...所以,我们在执行rm之前最好先确认一在哪个目录,到底要删除什么东西,操作时保持高度清醒的头脑。...直接删除,不会有任何提示: [root@linuxcool ~]# rm -f test.txt.bz2 递归删除目录目录下所有文件: [root@linuxcool ~]# mkdir /data.../log [root@linuxcool ~]# rm -rf /data/log 删除当前目录下所有文件: [root@linuxcool ~]# rm -rf * 清空系统中所有的文件(谨慎): [

2.4K00

Linux rm命令:删除文件目录

Linux 系统使用很长时间之后,可能会有一些已经没用的文件(即垃圾),这些文件不但会消耗宝贵的硬盘资源,还是降低系统的运行效率,因此需要及时地清理。...rm 是强大的删除命令,它可以永久性地删除文件系统中指定的文件目录。在使用 rm 命令删除文件目录时,系统不会产生任何提示信息。...此命令的基本格式为: [root@localhost ~]# rm[选项] 文件目录 -f:强制删除(force),和 -i 选项相反,使用 -f,系统将不再询问,而是直接删除目标文件目录。...-i:和 -f 正好相反,在删除文件目录之前,系统会给出提示信息,使用 -i 可以有效防止不小心删除有用的文件目录。...注意,rm 命令是一个具有破坏性的命令,因为 rm 命令会永久性地删除文件目录,这就意味着,如果没有对文件目录进行备份,一旦使用 rm 命令将其删除,将无法恢复,因此,尤其在使用 rm 命令删除目录

1.6K30

Linux zip命令:压缩文件目录

zip 格式是开放且免费的,所以广泛使用在 Windows、Linux、MacOS 平台。...目录 zip命令压缩文件语法: zip命令解压文件语法: ---- zip命令压缩文件语法: zip -选项 压缩文件名.zip 压缩文件夹名 一般示例: zip -r dir.zip dir 选项...含义 -r 递归压缩目录,及将制定目录下的所有文件以及子目录全部压缩。...zip命令解压文件语法: unzip [选项] 压缩包名 一般使用:unzip -d dir.zip 选项 含义 -d 目录名 将压缩文件解压到指定目录下。...这是Linux的常用命令之一,很多的时候不可能给别人发tar的压缩包,因为大多数非技术人员使用的都是windows系统,所以这个命令是非常有必要需要学习的。

7.5K20

Linux zip命令:压缩文件目录

我们经常会在 Windows 系统上使用 “.zip”格式压缩文件,其实“.zip”格式文件是 Windows 和 Linux 系统都通用的压缩文件类型,属于几种主流的压缩格式(zip、rar等)之一,...压缩包名 源文件目录列表 注意,zip 压缩命令需要手工指定压缩之后的压缩包名,注意写清楚扩展名,以便解压缩时使用。...~]#ll test.zip -rw-r--r-- 1 root root 8368 6月 1716:03 test.zip #压缩文件生成 【例 2】使用 zip 命令压缩目录,需要使用“-r”选项...,例如: [root@localhost ~]# mkdir dir1 #建立测试目录 [root@localhost ~]# zip -r dir1.zip dir1 adding: dir1/(stored...0%) #压缩目录 [root@localhost ~]# ls -dl dir1.zip -rw-r--r-- 1 root root 160 6月 1716:22 dir1.zip #压缩文件生成

1.3K40

linux使用mkdir命令创建目录

mkdir命令是“make directories”的缩写,用来创建目录。 注意:默认状态,如果要创建目录已经存在,则提示已存在,而不会继续创建目录。...所以在创建目录时,应保证新建的目录与它所在目录下的文件没有重名。 mkdir命令还可以同时创建多个目录,是不是很强大呢?...语法格式 : mkdir [参数] [目录] 常用参数: -p 递归创建多级目录 -m 建立目录的同时设置目录的权限 -z 设置安全上下文 -v 显示目录创建过程 参考实例 在工作目录下,建立一个名为...dir 的子目录: [root@linux~]# mkdir dir 在目录/usr/linuxcool建立子目录dir,并且设置文件属主有读、写和执行权限,其他人无权访问 [root@linux~...]# mkdir -m 700 /usr/linux/dir 同时创建目录dir1,dir2,dir3: [root@linux~]# mkdir dir1 dir2 dir3 递归创建目录: [root

5.7K20
领券