linux下清空大文件的5种方法

来源:互联网 发布:java开发合同管理系统 编辑:程序博客网 时间:2024/05/16 10:43
**在linux使用当中,我经常需要对某个文件进行清空操作,你当然可以先删除这个文件,然后再touch创建一个同名文件,这样未尝不可。但在linux下清空文件(无论文件的大小)内容是有更便捷的方法的,其本质主要是使用了两种原理:1)使用重定向来清空文件,2)直接清空文件内容。下面本文用5种方法来对清空文件进行具体阐述。**

1.通过重定向到null来清空文件内容

假设在主目录里有一文件,名为a.txt,此方法代码为:
    > a.txt
查看文件大小用以下代码来查询。
    du -sh a.txt
测试结果如下图所示

这里写图片描述

2.使用冒号(:)或true,他们的用法一样

代码如下
    : > a.txt    true > a.txt

这里写图片描述

3.使用cat和cp搭配/dev/null来实现

在linux中,null设备被用于丢弃某个进程不再需要的输出流,或者用作为某个输入流的空白文件,这些通常可以利用重定向机制来达到。示例代码及操作截图如下。
    cat /dev/null > a.txt    cp /dev/null a.txt

这里写图片描述

4.使用echo命令

此命令大家应该比较熟悉,其操作也比较简单,具体代码及图片如下。
    echo -n "" > a.txt    echo -n > a.txt

这里写图片描述

5.使用truncate命令

此命令可用来将一个文件缩小或者扩展到某个给定的大小,可以用-s参数来制定文件大小。因此,将文件大小指定为0即可清空文件内容。代码及图片如下。
     truncate -s 0 a.txt

这里写图片描述

0 0