千家信息网

怎么在Linux中使用Truncate命令

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,今天就跟大家聊聊有关怎么在Linux中使用Truncate命令,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Truncate命令通常用于将文件
千家信息网最后更新 2025年01月20日怎么在Linux中使用Truncate命令

今天就跟大家聊聊有关怎么在Linux中使用Truncate命令,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

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

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。

看完上述内容,你们对怎么在Linux中使用Truncate命令有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

文件 大小 命令 字节 内容 常用 数字 系统 操作系统 再次 单位 所有权 数据 数量 日志 更多 有用 状态 环境 知识 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 嵌入式软件开发技术资料归档 塔科夫怎么修改服务器 软件开发现场实施 服务器如何删除默认路由 什么公司用的是db2数据库 肥东网络安全考试价格 基于模型嵌入式软件开发 用友u8的数据库类型 布谷鸟服务器端管理工具 网络安全热点难点问题 怎么访问内部服务器文件 广州棋牌app软件开发 网络安全法 公民隐私 天津潮流软件开发品质保障 哪里能学通达信软件开发 数据库管理师报名 网络安全责任事故查处 网络安全十大问题及对策 天津哪里代理服务器云主机 数据库中的内容不见了 为什么会选择计算机网络技术 linux服务器怎么连接硬盘 石家庄德睿软件开发公司 幼儿园有关网络安全的教案 数据库中命令按钮控件 国易盛通北京国际互联网科技 闵行区智能化软件开发制品价格 龙岗网络安全服务公司 服务器远程控制设置 数据库中的内容不见了
0