如何在 Linux 上截断文件如何在 Linux 上截断文件如何在 Linux 上截断文件如何在 Linux 上截断文件
  • 业务
  • 产品
  • 技术
  • 行业
  • 目标
  • 支持
  • 关于
  • 联系我们
  • 登录
✕

如何在 Linux 上截断文件

发表 admin at 2025年2月28日
类别
  • Linux
标签

对于用户和管理员来说,在 Linux 系统上截断文件是一项相当基本且常见的任务。也许截断(或清空)文件的最常见用途是日志文件。从日志文件中清除大量旧数据,为更新的信息让路,可以使故障排除变得更加容易。

在本教程中,我们将展示在 Linux 命令行上截断文件的几种方法,包括一次截断多个文件。在您自己的系统上使用以下方法,应用您认为最适合您的场景的示例。

注意
只有拥有适当的 Linux 文件权限,您才能截断文件。具体来说,您必须对要截断的文件拥有写入权限。

在本教程中您将学习:

  • 如何使用截断命令

  • 如何使用 Bash shell 运算符清空文件 >

在 Linux 上截断文件的各种示例

如何使用截断命令

truncate 命令可用于通过缩小或放大文件来强制文件达到一定大小。让我们看几个例子来了解如何使用它。我们将从一个包含 11 字节数据的非常基本的文本文件开始。


$ cat file.txt 
linuxconfig
  1. 要将文件大小减少到 5 字节,我们将使用以下 truncate 命令来指定我们希望文件大小恰好为 5 字节。

    
    $ truncate -s 5 file.txt
    $ cat file.txt 
    linux
    

    正如您所看到的,我们的文件已减少为只显示“linux”,占用 5 个字节的数据。多余的信息已被 truncate 命令删除。

  2. 您还可以使用其他单位,例如 K 表示千字节、M 表示兆字节、G 表示千兆字节等。

    
    $ truncate -s 5M file.txt
    $ ls -lh file.txt
    -rw-rw-r-- 1 linuxconfig linuxconfig 5.0M Apr 12 22:15 file.txt
    
  3. 要完全清空文件,请在命令中使用 -s 0。

    
    $ truncate -s 0 file.txt
    
  4. 在数字前面添加加号或减号可将文件增加或减少给定的数量。

    
    $ truncate -s +5M file.txt
    
  5. 如果您对尝试截断的文件没有适当的权限,通常只需在命令前面加上 sudo 即可。请小心不要对任何重要的系统文件执行此操作。

    
    $ sudo truncate -s 0 file.txt
    
  6. 如果您有多个要截断的文件,您可以在命令中指定每个文件名。

    
    $ truncate -s 1M file1.txt file2.txt
    
  7. 您还可以在命令中使用通配符一次截断多个文件。

    
    $ truncate -s 1M *.txt
    

如何使用 Bash shell 运算符清空文件 >

使用以下示例通过使用 > Bash shell 运算符在 Linux 上截断/清空文件。

  1. > 运算符是清空文件的最简单且最常见的方法。通过使用此运算符,我们可以简单地将空输出重定向到文件,从而有效地清除整个文件并将其留空。这是如何使用它的示例。

    
    $ > data.log
    
  2. 尽管示例 1 可能是最简单的,但还有其他方法可以将空输出重定向到文件。这是您可能经常看到的另一种情况。

    
    $ echo "" > data.log
    
  3. 另一个可能的例子是重定向 /dev/null,它只是空数据。

    
    $ cat /dev/null > data.log
    
  4. 您还可以在命令中使用通配符一次截断多个文件。

    
    $ > *.log
    

结束语

在本指南中,我们看到了在 Linux 上截断文件的各种示例。这包括为文件指定特定大小,以及按一定量缩小和放大文件。我们还了解了如何使用 truncate 命令或 Bash shell 运算符完全清空文件。

©2015-2025 Norria Group support@norria.com