千家信息网

Linux中怎么用Truncate命令

发表于:2025-11-13 作者:千家信息网编辑
千家信息网最后更新 2025年11月13日,Linux中怎么用Truncate命令,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。runcate命令通常用于将文件缩小
千家信息网最后更新 2025年11月13日Linux中怎么用Truncate命令

Linux中怎么用Truncate命令,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

runcate命令通常用于将文件缩小或扩展到指定的大小。如果文件大于指定的大小,则会丢失额外的数据。如果文件较短,则会对其进行扩展,并且扩展部分的读数为零字节。

系统环境

Centos7

安装

通常操作系统会安装truncate命令,该命令在coreutils安装包里面,如果没有安装可以使用下面命令安装:

[root@localhost ~]# yum provides truncateLoaded plugins: fastestmirror, product-id, search-disabled-repos, subscription-managerThis system is not registered with an entitlement server. You can use subscription-manager to register.Loading mirror speeds from cached hostfile * base: mirrors.huaweicloud.com * extras: mirrors.aliyun.com * updates: mirrors.aliyun.comcoreutils-8.22-24.el7.x86_64 : A set of basic GNU tools commonly used in shell scriptsRepo        : baseMatched from:Filename    : /usr/bin/truncatecoreutils-8.22-24.el7.x86_64 : A set of basic GNU tools commonly used in shell scriptsRepo        : @anacondaMatched from:Filename    : /usr/bin/truncate


可以看到truncate由coreutils安装包提供,下面安装coreutils安装包:

[root@localhost ~]# yum -y install coreutils

truncate常用选项

下面是truncate的常用选项:

-c, --no-create --> 不创建任何文件-o, --io-blocks --> 将大小视为存储块的数量,而不是字节-r, --reference=RFILE --> 参考指定的文件大小-s, --size=SIZE --> 按照指定的字节设置文件大小

使用truncate清除文件内容

这对于清除日志文件很有用。truncate过程基本上删除了文件的所有内容。它不会删除文件本身,但会将它作为零字节文件保留在磁盘上。例如,让我们使用truncate将/var/log/yum.log清除为0个字节。

[root@localhost ~]# du -sh /var/log/yum.log 12K /var/log/yum.log[root@localhost ~]# truncate -s 0 /var/log/yum.log


再次查看这个文件,发现字节为0了。查看内容是空的了。

[root@localhost ~]# du -sh /var/log/yum.log 0 /var/log/yum.log[root@localhost ~]# cat /var/log/yum.log


truncate命令将保留文件所有权。可以使用ll -h命令进行确认:

[root@localhost ~]# ll -h /var/log/yum.log -rw-------. 1 root root 0 Nov  4 18:39 /var/log/yum.log

使用truncate将文件设置为指定大小

下面的示例将文件填充为10K个字节。

[root@localhost ~]# touch file.txt[root@localhost ~]# ll -h file.txt -rw-r--r--. 1 root root 0 Nov  4 18:43 file.txt[root@localhost ~]# truncate -s 10k file.txt [root@localhost ~]# ll -h file.txt -rw-r--r--. 1 root root 10K Nov  4 18:43 file.txt

单位有 K, M, G, T, P, E, Z, Y。

使用truncate扩展文件大小

也可以将文件的大小从当前扩展到所需状态。使用-s选项,在数字前面加上+

[root@localhost ~]# cat /etc/passwd > file.txt[root@localhost ~]# ll -h file.txt -rw-r--r--. 1 root root 1009 Nov  4 18:47 file.txt[root@localhost ~]# truncate -s +200k file.txt [root@localhost ~]# ll -h file.txt -rw-r--r--. 1 root root 201K Nov  4 18:47 file.txt


通过添加额外的200K,这会将文件大小从1K扩展到201K。

使用truncate减小文件大小

假设有一个500K的文件,并且希望将其缩小到250K。将使用-s选项,在数字前面加上-

[root@localhost ~]# touch file.txt[root@localhost ~]# truncate -s 500k file.txt [root@localhost ~]# ll -htotal 4.0K-rw-------. 1 root root 1.3K Dec 29  2019 anaconda-ks.cfg-rw-r--r--. 1 root root 500K Nov  5 08:36 file.txtdrwxr-xr-x. 5 root root  107 Nov  4 18:22 test[root@localhost ~]# truncate -s -250k file.txt [root@localhost ~]# ll -htotal 4.0K-rw-------. 1 root root 1.3K Dec 29  2019 anaconda-ks.cfg-rw-r--r--. 1 root root 250K Nov  5 08:36 file.txtdrwxr-xr-x. 5 root root  107 Nov  4 18:22 test


可以看到当前大小更改为250K。

Truncate命令通常用于将文件缩小或扩展到指定的大小。如果文件大于指定的大小,则会丢失额外的数据。如果文件较短,则会对其进行扩展,并且扩展部分的读数为零字节。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

文件 大小 命令 字节 内容 常用 数字 数据 系统 读数 部分 帮助 清楚 操作系统 再次 单位 对此 所有权 数量 文章 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 福建系统软件开发服务商 常州在线报修管理软件开发 数据库的日期类型 数据库中学生选课表 数据库中更新表中某个值 天津市新云网络技术有限公司 怎么创建mydb1数据库 怎么更改服务器里面的文件夹名称 网络安全密钥怎样设置 access数据库视图理解 上海网络技术咨询代理价格 怎么一个服务器多人使用 阜阳网络安全师 云南管理系统软件开发平台 表单提交数据无法到数据库 军区网络安全领导 演绎数据库系统 埃及的dns网速快的服务器 数据库安全的第一道屏障是 数据库添加修改数据表 isc大会网络安全防护 哪些行为危害了我们的网络安全 广州乐玩软件开发公司 长宁区网络技术服务咨询什么价格 常州电子网络技术费用 网络安全教育竞赛奖项 全速网络技术 猎魂觉醒服务器繁忙怎么办 方舟手游服务器管理怎么改白天 二手服务器买什么样的好
0