概述

        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命令的使用相关推荐

  1. MySQL 用 truncate 命令快速清空一个数据库中的所有表

    MySQL 用 truncate 命令快速清空一个数据库中的所有表. 1. 先执行select语句生成所有truncate语句 语句格式: select CONCAT('truncate TABLE ...

  2. truncate命令简介

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

  3. mysql truncate命令

    truncate命令结果跟delete很像,但是他们的执行原理完全不一样.truncate本质还是ddl语句 1.truncate先使用create命令创建表,然后drop源表,最后rename新表. ...

  4. linux truncate 命令,truncate 命令使用

    今天使用truncate清空表时报错了: SQL> truncate table ref_set; truncate table ref_set ORA-02266: 表中的唯一/主键被启用的外 ...

  5. linux truncate 命令,如何在Linux中截断truncate文件

    在某些情况下,您可能希望将现有文件截断(空)为零长度.简单来说,截断文件意味着删除文件内容而不删除文件. 截断文件比删除文件,重新创建并设置正确的权限和所有权更快,更容易.另外,如果文件是由进程打开的 ...

  6. Linux 命令(147) —— truncate 命令

    文章目录 1.命令简介 2.命令格式 3.选项说明 4.常用示例 参考文献 1.命令简介 truncate 将文件的大小缩小或扩展到指定的大小. 如果指定的文件不存在将被创建. 如果文件大于指定的大小 ...

  7. TRUNCATE 命令用法

    删除一表结构,报错,可能是锁表原因.用TRUNCATE指令后Done! 删除表中的所有行,而不记录单个行删除操作. 语法 TRUNCATE TABLE name 参数 name 是要截断的表的名称或要 ...

  8. SQL进阶知识(八)——TRUNCATE TABLE 命令

    点击上面蓝色字SQL学习之路,关注我们哦~ TRUNCATE TABLE的作用 TRUNCATE TABLE 命令用于删除现有数据表中的所有数据. 你也可以使用 DROP TABLE 命令来删除整个数 ...

  9. Truncate 删除数据

    引用:http://baike.baidu.com/view/1230585.htm Truncate是SQL中的一个删除数据表内容的语句,用法是: 语法 TRUNCATE TABLE name 参数 ...

最新文章

  1. python脚本设置linux环境变量_Linux环境变量export方法与修改文件方法的区别
  2. C#.Net 如何动态加载与卸载程序集(.dll或者.exe)6-----在不卸载程序域的前提下替换程序集文件。...
  3. lunix下的redis数据库操作——hash(哈希)
  4. oppo 手机侧滑快捷菜单_OPPO刚秀出卷轴屏手机,就被打了一记响亮的“耳光”
  5. 逻辑运算 或,与,非
  6. Vue导航点击路由跳转后样式不变
  7. ds18b20温度传感器驱动编写
  8. 图解从上电到执行main函数的处理
  9. 如何通过图片识别用的什么字体?
  10. 漫步数学分析番外五(上)
  11. ajax请求去获取base64_前端将图片转换为base64位,使用ajax传递到后台,但是图片经过base64转换成字符串后非常长,无法使用ajax...
  12. 获取指定进程所对应的可执行(EXE)文件全路径(代码)
  13. NAT技术与代理服务器的区别
  14. 安卓改机技术揭秘(一) 工具篇
  15. 服务器网卡驱动装好后本地连接显示,系统装好后网卡驱动也装好了,可是没有本地连接,怎么弄...
  16. 吹气球--记忆化搜索
  17. html制作雪花飘落海报,HTML5 canvas实现雪花飘落特效
  18. 1359: 最大公约数
  19. 远程办公何时了,网络打洞帮你搞
  20. JavaScript【判断一个数是否是素数】函数实现

热门文章

  1. NOIP2017的流水账
  2. 十分钟教你部署一个属于自己的chatgpt网站
  3. 微信小程序canvas画价格走势图(一)
  4. 屏幕截图软件ScrToPic (强烈推荐)
  5. AutoEventWireup属性的确切含义
  6. 微信小程序点击跳转动态改变跳转页面标题
  7. 人应不应该按部就班的活着?
  8. htaccess 禁止执行php,htaccess如何禁止目录执行php方法
  9. it专员职责_IT运营专员岗位职责
  10. QQ宣布即将关停这功能,网友炸了 !!!