在UNIX/Linux中截断大文本文件
时间:2020-01-09 10:43:53 来源:igfitidea点击:
如何在UNIX/Linux操作系统下截断或者缩小大文本文件?
有多种工具和方法可以截断UNIX/Linux操作系统下的大文本文件,如下所示。
选项#1:Shell输出重定向
您可以截断文本文件,并使用重定向将大小设置为零:
> {filename} ls -l largefile.txt > largefile.txt ls -l largefile.txt
请注意,如果不存在largefile.txt文件,则会创建该文件。
并且largefile.txt文件将被覆盖(如果存在)。
选项#2:截断命令truncate
使用truncate命令将每个FILE的大小缩小或者扩展到指定的大小:
truncate -s 0 {filename.txt} ls -lh filename.txt truncate -s 0 filename.txt ls -lh filename.txt
-s选项用于将SIZE设置为零。
有关更多详细信息,请参见truncate命令手册页:
man truncate
选项#3:logrotate实用程序
logrotate命令旨在简化对生成大量日志文件的系统的管理。
它允许自动旋转,压缩,删除和邮寄日志文件。
每个日志文件都可以每天,每周,每月或者当它变得太大时进行处理。
了解如何使用logrotate命令旋转,压缩和邮寄存储在/var/log和UNIX/Linux oses下其他位置的系统日志。
选项4:/dev/null
空设备/dev/null充当了一个黑洞,它丢弃了像Unix这样的在Unix操作系统下写入其中的所有数据。
您可以按以下方式使用它(Philippe Petrinko的技巧提示):
cp /dev/null largefile.txt
或者
cat /dev/null > largefile.txt