truncate命令的使用
概述
truncate命令常用语将文件缩小或扩展到指定的大小,如果制定大小小于文件原来的大小,则会丢失额外的数据。如果制定大小大于源文件大小则会扩展此文件
安装
系统一般会安装truncate命令,这个命令在coreutils安装包里,如果没有可以用下面命令安装
[root@localhost test]# yum install coreutils
truncate的常用选项
-c, --no-create do not create any files 不创建任何文件-o, --io-blocks treat SIZE as number of IO blocks instead of bytes 将大小认为是储存块的数量而不是字节-r, --reference=RFILE base size on RFILE 参考指定文件的大小-s, --size=SIZE set or adjust the file size by SIZE bytes 按照字节大小设置文件大小--help display this help and exit--version output version information and exitSIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units
are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of 1000).
大小位数字,可以用的单位有K, M, G, T, P, E, Z, Y
用法
1.清除文件内容
[root@localhost test]# echo /var/log/messages > important.log
[root@localhost test]# ls
important.log test.img
[root@localhost test]# du -sh important.log
4.0K important.log
[root@localhost test]# truncate -s 0 important.log
[root@localhost test]# du -sh important.log
0 important.log
truncate命令保留文件原来所有权
[root@localhost test]# ll -h important.log
-rw-r--r--. 1 root root 0 Oct 16 16:11 important.log
2.扩展或者缩小文件
可以使用+,-字符来在原来的基础上扩展或缩小文件大小
[root@localhost test]# ll -h
total 200M
-rw-r--r--. 1 root root 0 Oct 16 16:11 important.log
-rw-r--r--. 1 root root 200M Oct 16 15:45 test.img
[root@localhost test]# truncate -s +100M test.img
[root@localhost test]# ll -h
total 200M
-rw-r--r--. 1 root root 0 Oct 16 16:11 important.log
-rw-r--r--. 1 root root 300M Oct 16 16:18 test.img
[root@localhost test]#
亦可以直接制定大小
[root@localhost test]# ll -h
total 96M
-rw-r--r--. 1 root root 50M Oct 16 16:34 important.log
-rw-r--r--. 1 root root 600M Oct 16 16:31 test.img
[root@localhost test]# truncate -s 300M test.img
[root@localhost test]# ll -h
total 96M
-rw-r--r--. 1 root root 50M Oct 16 16:34 important.log
-rw-r--r--. 1 root root 300M Oct 16 16:35 test.img
[root@localhost test]#
3.这个命令可以裁剪做好的系统镜像img文件
可以通过fdisk -l test.img 查看镜像分区
再用truncate命令进行镜像裁剪
fdisk -l test.img
Disk test.img: 29.8 GiB, 31937527808 bytes, 62377984 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x000d89e6Device Boot Start End Sectors Size Id Type
OMP120.img1 * 2048 1026047 1024000 500M 83 Linux
OMP120.img2 1026048 59691007 58664960 28G 8e Linux LVM
一个sectors是512k,分区表尾部规划的空间结尾是59691007,那么切除偏移是
truncate --size=$[(59691007+1)*512] test.img
综述
Truncate命令通常用于将文件缩小或扩展到指定的大小。如果文件大于指定的大小,则会丢失额外的数据。如果文件较短,则会对其进行扩展,并且扩展部分的读数为零字节。
truncate命令的使用相关推荐
- MySQL 用 truncate 命令快速清空一个数据库中的所有表
MySQL 用 truncate 命令快速清空一个数据库中的所有表. 1. 先执行select语句生成所有truncate语句 语句格式: select CONCAT('truncate TABLE ...
- truncate命令简介
一.truncate命令简介 truncate命令通常用于将文件缩小或扩展到指定的大小.如果文件大于指定的大小,则会丢失额外的数据.如果文件较短,则会对其进行扩展,并且扩展部分的读数为零字节. 二.t ...
- mysql truncate命令
truncate命令结果跟delete很像,但是他们的执行原理完全不一样.truncate本质还是ddl语句 1.truncate先使用create命令创建表,然后drop源表,最后rename新表. ...
- linux truncate 命令,truncate 命令使用
今天使用truncate清空表时报错了: SQL> truncate table ref_set; truncate table ref_set ORA-02266: 表中的唯一/主键被启用的外 ...
- linux truncate 命令,如何在Linux中截断truncate文件
在某些情况下,您可能希望将现有文件截断(空)为零长度.简单来说,截断文件意味着删除文件内容而不删除文件. 截断文件比删除文件,重新创建并设置正确的权限和所有权更快,更容易.另外,如果文件是由进程打开的 ...
- Linux 命令(147) —— truncate 命令
文章目录 1.命令简介 2.命令格式 3.选项说明 4.常用示例 参考文献 1.命令简介 truncate 将文件的大小缩小或扩展到指定的大小. 如果指定的文件不存在将被创建. 如果文件大于指定的大小 ...
- TRUNCATE 命令用法
删除一表结构,报错,可能是锁表原因.用TRUNCATE指令后Done! 删除表中的所有行,而不记录单个行删除操作. 语法 TRUNCATE TABLE name 参数 name 是要截断的表的名称或要 ...
- SQL进阶知识(八)——TRUNCATE TABLE 命令
点击上面蓝色字SQL学习之路,关注我们哦~ TRUNCATE TABLE的作用 TRUNCATE TABLE 命令用于删除现有数据表中的所有数据. 你也可以使用 DROP TABLE 命令来删除整个数 ...
- Truncate 删除数据
引用:http://baike.baidu.com/view/1230585.htm Truncate是SQL中的一个删除数据表内容的语句,用法是: 语法 TRUNCATE TABLE name 参数 ...
最新文章
- python脚本设置linux环境变量_Linux环境变量export方法与修改文件方法的区别
- C#.Net 如何动态加载与卸载程序集(.dll或者.exe)6-----在不卸载程序域的前提下替换程序集文件。...
- lunix下的redis数据库操作——hash(哈希)
- oppo 手机侧滑快捷菜单_OPPO刚秀出卷轴屏手机,就被打了一记响亮的“耳光”
- 逻辑运算 或,与,非
- Vue导航点击路由跳转后样式不变
- ds18b20温度传感器驱动编写
- 图解从上电到执行main函数的处理
- 如何通过图片识别用的什么字体?
- 漫步数学分析番外五(上)
- ajax请求去获取base64_前端将图片转换为base64位,使用ajax传递到后台,但是图片经过base64转换成字符串后非常长,无法使用ajax...
- 获取指定进程所对应的可执行(EXE)文件全路径(代码)
- NAT技术与代理服务器的区别
- 安卓改机技术揭秘(一) 工具篇
- 服务器网卡驱动装好后本地连接显示,系统装好后网卡驱动也装好了,可是没有本地连接,怎么弄...
- 吹气球--记忆化搜索
- html制作雪花飘落海报,HTML5 canvas实现雪花飘落特效
- 1359: 最大公约数
- 远程办公何时了,网络打洞帮你搞
- JavaScript【判断一个数是否是素数】函数实现