当前位置: 首页 > 科技观察

干货:在Linux中使用Truncate命令

时间:2023-03-15 00:35:23 科技观察

Truncate命令通常用于将文件缩小或扩展到指定大小。如果文件大于指定的大小,额外的数据将丢失。如果文件较短,则对其进行扩展,并且扩展读取零字节。系统环境Linux版:Centos7安装通常会安装操作系统中的truncate命令。该命令在coreutils安装包中。如果没有安装,可以使用以下命令安装:[root@localhost~]#yumprovidestruncateLoadedplugins:fastestmirror,product-id,search-disabled-repos,subscription-managerThissystemisnotregisteredwithanentitlementserver.Youcanusesubscription-managertoregister.Loadingmirrorspeedsfromcachedhostfile*base:mirrors.huaweicloud.com*extras:mirrors.aliyun.com*updates:mirrors.aliyun.comcoreutils-8.22-24.el7.x86_64:AsetofbasicGNUtoolscommonlyusedinshellscriptsRepo:baseMatchedfrom:Filename:/usr/bin/truncatecoreutils-8.22-24.el7.x86_64:AsetofbasicGNUtoolscommonlyusedinshellscriptsRepo:@anacondaMatchedfrom:Filename:/usr/bin/truncate可以看到coreutils安装包提供了truncate。下面安装coreutils安装包:[root@localhost~]#yum-yinstallcoreutils<以上代码可复制粘贴,可向左滑动>truncate常用选项下面是truncate常用选项:-c,--no-create-->不创建任何文件-o,--io-blocks-->将大小视为存储块的数量,而不是字节-r,--reference=RFILE-->参考指定的文件大小-s,--size=SIZE-->设置文件指定字节大小<以上代码可复制粘贴,向左滑动即可>使用truncate清空文件内容,对清空很有用用于删除日志文件截断过程基本上删除文件的全部内容。它不会删除文件本身,而是将其作为零字节文件保留在磁盘上。例如,让我们使用truncate将/var/log/yum.log清除为0字节。[root@localhost~]#du-sh/var/log/yum.log12K/var/log/yum.log[root@localhost~]#truncate-s0/var/log/yum.log<以上代码即可copiedandpasted,可以向左滑动>再次查看文件,发现字节为0,现在查看内容为空。[root@localhost~]#du-sh/var/log/yum.log0/var/log/yum.log[root@localhost~]#cat/var/log/yum.log<以上代码可以复制和粘贴,然后向左滑动>截断命令将保留文件所有权。可以使用ll-h命令确认:[root@localhost~]#ll-h/var/log/yum.log-rw--------.1rootroot0Nov418:39/var/log/yum.log<上面的代码可以复制粘贴,也可以向左滑动>使用truncate设置文件为指定大小下面的例子将文件填充到10K字节。[root@localhost~]#touchfile.txt[root@localhost~]#ll-hfile.txt-rw-r--r--.1rootroot0Nov418:43file.txt[root@localhost~]#truncate-s10kfile.txt[root@localhost~]#ll-hfile.txt-rw-r--r--.1rootroot10KNov418:43file.txt<以上代码可复制粘贴,可向左滑动>单位为K,M,G、T、P、E、Z、Y。使用truncate扩展文件大小也可以将文件大小从其当前状态扩展到所需状态。使用-s选项,在前面加上+[root@localhost~]#cat/etc/passwd>file.txt[root@localhost~]#ll-hfile.txt-rw-r--r--.1rootroot1009Nov418编号:47file.txt[root@localhost~]#truncate-s+200kfile.txt[root@localhost~]#ll-hfile.txt-rw-r--r--.1rootroot201KNov418:47file.txt<以上可以复制代码粘贴,向左滑动>这会将文件大小从1K扩展到201K,再增加200K。使用truncate减小文件大小假设您有一个500K的文件并希望将其减小到250K。将使用-s选项,在数字前加上-[root@localhost~]#touchfile.txt[root@localhost~]#truncate-s500kfile.txt[root@localhost~]#ll-htotal4.0K-rw-------.1rootroot1.3KDec292019anaconda-ks.cfg-rw-r--r--.1rootroot500KNov508:36file.txtdrwxr-xr-x.5rootroot107Nov418:22test[root@localhost~]#truncate-s-250kfile.txt[root@localhost~]#ll-htotal4.0K-rw------.1rootroot1.3KDec292019anaconda-ks.cfg-rw-r--r--.1rootroot250KNov508:36file.txtdrwxr-xr-x.5rootroot107Nov418:22test<以上代码可以复制粘贴,可以向左滑动>可以看到当前大小变成了250K。Linux中Truncate命令的使用到此结束。希望对你有所帮助~本文转载自微信公众号《Linux就该这么学》,可以通过以下二维码关注。转载本文,请联系Linux像这样学习公众号。