5 种Linux下清空大文件的方法(删除大文件内容)

本文将会讲述如何在linux系统下清空大文件或者说删除大文件内容的5种不同的方法。 当我们想要清空一个大文件里的内容的时候,我们通常会通过vi编辑器打开这个文件,然后将其内容删除,但是如果文件内容太多,或者文件太大的话,打开文件有可能会很慢或者清空文件的内容会很费时间。 下面我们将会介绍5种简单易用的清空文件的内容的方法呢?

通过重定向来清空文件内容

在linux清空普通文件内容尤其是大文件内容,最简单的方法是通过重定向来实现, 比如要清空当前目录下的大文件fio.txt 内容,执行下面的命令:

# > fio.txt

命令输出如下:

root@devops:~/osetc# ls -alh fio.txt
-rw-r--r-- 1 root root 1.0G 3月  24 23:35 fio.txt
root@devops:~/osetc# >fio.txt
root@devops:~/osetc# ls -alh fio.txt
-rw-r--r-- 1 root root 0 3月  24 23:36 fio.txt

 通过true命令重定向清空文件

通过true命令的输出结果重定向到指定要清空的大文件里,执行命令如下:

#true > fio.txt

命令输出如下:

root@devops:~/osetc# ls -alh fio.txt
-rw-r--r-- 1 root root 1.0G 3月  24 23:42 fio.txt
root@devops:~/osetc# true > fio.txt
root@devops:~/osetc# ls -alh fio.txt
-rw-r--r-- 1 root root 0 3月  24 23:42 fio.txt

通过cat /dev/null 设备重定向来清空文件内容

Linux 下的/dev/null 文件是一种特设的设备文件,该命令可以将任何写入其中的数据丢弃掉。 我们可以将该空设备的输出重定向到要清空的大文件里,就可。 执行下面的命令:

#cat /dev/null > fio.txt

命令输出如下:

root@devops:~/osetc# ls -alh fio.txt
-rw-r--r-- 1 root root 1.0G 3月  24 23:42 fio.txt
root@devops:~/osetc# true > fio.txt
root@devops:~/osetc# ls -alh fio.txt
-rw-r--r-- 1 root root 0 3月  24 23:42 fio.txt

通过echo命令清空文件内容

使用echo命令将一个空字符串重定向到指定的文件,也可以将该文件清空。
执行命令:

#echo “ “ > fio.txt

命令输出如下:

root@devops:~/osetc# ls -alh fio.txt
-rw-r--r-- 1 root root 1.0G 3月  24 23:50 fio.txt
root@devops:~/osetc# echo "" >fio.txt
root@devops:~/osetc# ls -alh fio.txt
-rw-r--r-- 1 root root 1 3月  24 23:51 fio.txt

通过truncate 命令清空内容

通过linux下truncate命令将指定的文件大小缩小到给定的大小,比如大小为0,这样就达到清空文件的内容的目的。
执行下面的命令:

#truncate –s 0 fio.txt

命令输出如下:

root@devops:~/osetc# ls -alh fio.txt
-rw-r--r-- 1 root root 1.0G 3月  24 23:53 fio.txt
root@devops:~/osetc# truncate -s 0 fio.txt
root@devops:~/osetc# ls -alh fio.txt
-rw-r--r-- 1 root root 0 3月  24 23:53 fio.txt
root@devops:~/osetc#

99%的人还阅读了:

Leave a Reply