首页
学习
活动
专区
工具
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.7K30

linux 查找目录文件详解

查找目录:find /(查找范围) -name '查找关键字' -type d 查找文件:find /(查找范围) -name 查找关键字 -print 如果需要更进一步的了解,可以参看Linux的命令详解...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...======== 在/ l o g s目录中查找更改时间在5日以前的文件并删除它们: $ find logs -type f -mtime +5 -exec -ok rm {} /; ========

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

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.1K30

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 命令删除目录

84330

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.3K20

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 #压缩文件生成

99940

Ubuntu环境使用G++编译CPP文件

第一次用g++编译cpp文件的时候报了undefined reference的错误,自定义类中的函数全部都无法找到,查找资料后发现调用的类是需要链接的,本文以一个小例子描述编译的过程。....o格式的文件 g++ -c class1.cpp g++ -c class2.cpp g++ -c test.cpp 由于class1和class2是被依赖的,需要打包成静态库文件(.a格式)用于链接...g++同时编译多个文件的方法 对于这个例子,文件被放置在/CPPPFrtory目录中。使用CD命令进入包含源文件文件夹。...通过在命令行上列出文件编译程序,类型: 方法一:g++ Hello.cpp Welcome2.cpp -o Welcome2.out -ansi //两个cpp源文件编译后只生成一个 .out 文件...方法二:使用“通配符”编译程序,类型:g++ *.cpp -o Welcome2.out -ansi //用*号代替目录下所有要编译文件 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值

1.4K31

linux如何修改文件目录的权限(chmod)

chmod命令是linux上用于改变权限的命令,-R 是递归遍历子目录,因为你要操作的文件使用的*通配符。...777,第一个7代表文件所属者的权限,第二个7代表文件所属者所在组的权限,第三个7代表其它用户的权限,7=4+2+1,在linux中权限是可以通过数字来描述的。...具体表示如下: 4,执行时设置用户ID,用于授权给基于文件属主的进程,而不是给创建此进程的用户。 2,执行时设置用户组ID,用于授权给基于文件所在组的进程,而不是基于创建此进程的用户。...其次,chmod命令的详细使用如下,有不懂的可以慢慢查看一。...chmod----改变一个多个文件的存取模式(mode) chmod [options] mode files 只能文件属主特权用户才能使用该功能来改变文件存取模式。

7.4K100

改变Linux文件目录访问权限的命令

image.png Linux系统中的文件目录都有访问许可权限,它来确定谁可以通过何种方式对文件目录进行访问和操作。 权限分为只读,只写和可执行三种。...所有者可以允许同组用户有权访问文件,还可以将文件的访问权限赋予系统中的其他用户。在这种情况,系统中每一位用户都能访问该用户拥有的文件目录。...确定了一个文件的访问权限后,用户可以利用Linux系统提供的chmod命令来重新设定不同的访问权限。也可以利用chown命令来更改某个文件目录的所有者。...利用chgrp命令来更改某个文件目录的用户组。 下面分别对这些命令加以介绍。 chmod 命令 用于改变文件目录的访问权限。用户用它控制文件目录的访问权限。 该命令有两种用法。...例如:chmod g+r,o+r example 使同组和其他用户对文件example 有读权限。

5K00

Linux系统部分主要目录文件汇总

/ 系统根目录,存放系统相关的程序 /bin 命令二进制文件的存放目录binary /boot Linux的内核及系统引导程序所需的文件目录...库 库文件 /lib64 lib64系统是64位 库文件 lost+found 磁盘文件系统损坏 断电 临时文件位置(失物招领) /mnt...一般编译软件的时候默认路径,yumrpm包安装默认路径一般不是这里 /usr/src 源码 /usr/bin 可执行程序 /usr/share 数据文件和帮助.../etc/profile.d/ 加载系统登录程序一个目录目录文件独立执行 以文件的形式存在(*.sh为扩展名),但要可执行.../etc/shadow 密码信息文件 /etc/sysctl.conf 内核优化,内核配置 注:此博客仅供参考,读者可以根据自己的理解进行学习Linux

94330

Linux文件系统技巧 | 统计个数 | 只见文件目录

统计个数 查看某目录文件的个数 $ ls -l | grep "^-" | wc -l # example $ ls -l /etc | grep "^-" | wc -l 134 $ find.../company -type f | wc -l # Example $ sudo find /etc -type f | wc -l 3829 查看某目录文件的个数,包括子目录里的。...(注意这里的文件,不同于一般的文件,可能是目录、链接、设备文件等) grep "^-" 这里将长列表输出信息过滤一部分,只保留一般文件,如果只保留目录就是 ^d wc -l 统计输出信息的行数,因为已经过滤得只剩一般文件了...其他技巧 只显示目录名, grep 与 ^ 之间有空格 ls -l | grep ^ 只显示文件 ls -l | grep ^- 统计当能目录下的文件数 ls -l | grep ^- | wc -l...参考文献 转: Linux统计目录及子目录文件个数 --------------------- Author: Frytea Title: Linux文件系统技巧 | 统计个数 | 只见文件目录

1.4K21
领券