Linux 命令(147) —— truncate 命令
文章目录
- 1.命令简介
- 2.命令格式
- 3.选项说明
- 4.常用示例
- 参考文献
1.命令简介
truncate 将文件的大小缩小或扩展到指定的大小。
如果指定的文件不存在将被创建。
如果文件大于指定的大小,则会丢失额外的数据。如果较短,它将被扩展,扩展的稀疏部分(空洞)读取时为零字节。
注意,文件空洞部分不占用磁盘空间,文件所占用的磁盘空间仍然是连续的。
2.命令格式
truncate <OPTION>... <FILE>...
3.选项说明
-c, --no-create不创建任何文件。
-o, --io-blocks将 SIZE 视为 IO 块数而不是字节数。Linux 文件系统的 IO 块大小通过为 4096 字节。
-r, --reference=<RFILE>以 RFILE 为基础尺寸。
-s, --size=<SIZE>设置或调整文件大小为指定字节。
--help显示帮助信息并退出。
--version显示版本信息并退出。
其中 SIZE 参数是一个整数和可选单位,如 10K(10*1024)。单位 K、M、G、T、P、E、Z、Y 都是 1024 的幂。KB,MB,… 为 1000 的幂。 也可以使用二进制前缀:KiB=K,MiB=M,以此类推。
SIZE 也可以添加前缀字符:‘+’ 扩展,‘-’ 减少,‘<’ 最多,‘>’ 至少,‘/’ 向下舍入为 SIZE 的倍数,‘%’ 向上舍入为 SIZE 的倍数。
4.常用示例
我们先创建一个内容为 “Hello World!” 的文件 foo.txt。
# echo 'Hello World!' > foo.txt && ls -l foo.txt
-rw-r--r-- 1 root root 13 Oct 22 21:43 foo.txt
(1)截断文件到指定字节。
比如将上面的 foo.txt 截断到 11 字节,即删除最后一个换行符和感叹符。
# truncate -s 11 foo.txt# cat foo.txt
Hello World
(2)填充文件到指定字节。
比如将上面的 foo.txt 填充到 4097 字节,然后再使用 du 查看磁盘占用空间大小。
# truncate -s 4097 foo.txt# du -h foo.txt
4.0K foo.txt
可见,文件被填上空洞,实际上是不占用磁盘空间的。
至于为什么显示 4K,因为 Linux 文件系统存储最小单位为 block,不足 1 个 block 大小的文件也要占用 1 个 block 大小。这里的一个 block 一般等于 4096 字节。
我们可以通过 ls -l
来显示文件包含空洞的逻辑大小。
# ls -l foo.txt
-rw-r--r-- 1 root root 4097 Oct 22 21:59 foo.txt
参考文献
strace(1) - Linux manual page - man7.org
Linux 命令(147) —— truncate 命令相关推荐
- truncate命令简介
一.truncate命令简介 truncate命令通常用于将文件缩小或扩展到指定的大小.如果文件大于指定的大小,则会丢失额外的数据.如果文件较短,则会对其进行扩展,并且扩展部分的读数为零字节. 二.t ...
- linux truncate 命令,如何在Linux中截断truncate文件
在某些情况下,您可能希望将现有文件截断(空)为零长度.简单来说,截断文件意味着删除文件内容而不删除文件. 截断文件比删除文件,重新创建并设置正确的权限和所有权更快,更容易.另外,如果文件是由进程打开的 ...
- 【Linux】一步一步学Linux——systemctl命令(147)
00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. 参考示例 05. 附录 01. 命令概述 systemctl命令是系统服务管理器指令,它实际上将 s ...
- linux truncate 命令,truncate 命令使用
今天使用truncate清空表时报错了: SQL> truncate table ref_set; truncate table ref_set ORA-02266: 表中的唯一/主键被启用的外 ...
- Linux操作系统基础知识命令参数详解
Linux操作系统 RAID分组 RAID JBOD RAID JBOD的意思是Just a Bunch Of Disks,是将多块硬盘串联起来组成一个大的存储设备,从某种意义上说这种类型不被算作RA ...
- Linux系统使用ss命令查看端口状态
Linux系统使用ss命令查看端口状态 Linux系统使用ss命令查看端口状态 目录 1.可用工具 2.ss帮助 2.1 选项分类说明 2.2 过滤选项family 2.3 过滤选项state 2.4 ...
- Linux小技巧scp命令
Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/cou ...
- linux关闭后台运行命令,linux后台运行、关闭、查看后台任务常用命令
一.& 加在一个命令的最后,可以把这个命令放到后台执行,如: [root@bqh-01 ~]# watch -n 3 "sh 1.sh" #每3s在后台执行一次1.sh脚 ...
- truncate命令的使用
概述 truncate命令常用语将文件缩小或扩展到指定的大小,如果制定大小小于文件原来的大小,则会丢失额外的数据.如果制定大小大于源文件大小则会扩展此文件 安装 系统一般会安装trun ...
最新文章
- 用基本控件简单地仿QQ登录界面
- Dialog的使用(三):progressDialog
- NYOJ 108 士兵杀敌(一)
- mongoose 笔记
- C++之STL之priority_queue
- 李宁是怎么输给安踏的?
- python爬取网页文字和图片_简单的爬虫:爬取网站内容正文与图片
- Docker 学习4 Docker容器虚拟化网络概述
- Effectively bypassing kptr_restrict on Android
- APP设计~切图那些事儿
- 惠普HP CM1312nfi彩色激光打印机硒鼓替代方案
- 使用腾讯云服务器搭建自己网站应该怎么做
- php网站后台密码忘记,phpweb忘记后台密码
- 【Alpha版本】冲刺阶段——Day 1
- Stimulsoft.Report的代码实现功能自学整理(二)
- iOS 图片涂鸦功能
- Halo 开源项目学习(一):项目启动
- IPMDA:week 1
- 估值“洼地” 煤炭板块再度崛起(附股)
- java作用域外调用对象,Java Web应用中往往通过设置不同作用域的属性来达到通讯的目的。 如果某个对象只在同一请求中共享,通过调用哪个类 的setAttribute方法设置属性。( )...
热门文章
- 计算机的分区原理,详解磁盘分区的基本原理
- 极客日报:小鹏汽车回应非法收集人脸数据被罚10万;OPPO发布首颗自研芯片马里亚纳X;AMD 3DNow指令集被Linux淘汰
- 如何选择真空机械制造 真空电极 真空穿通件 真空穿通密封件 真空腔 真空腔室 真空腔新材料 真空腔组件 超高压 超高真空材料 铝制CF组件
- 怎么使用树莓派总要了解一点它的软硬件吧。什么模块有什么用,需要什么准备才能安全的看到树莓派的开机界面
- 开关电源SW节点振荡,你真的了解吗?
- java 取名字_Java入门小知识
- 计算机运存多少ps,美工电脑一运行PS就卡,那到底该升级固态盘还是内存呢?...
- Android兼容之libc++_shared.so库冲突方案
- 网站SEO优化,网站外链建设需要注意的七大原则总结
- 装上KODI,再也不用买netflix会员了。而且,自由、自由、自由,什么都看得到。