当前位置: 代码网 > 服务器>服务器>Linux > linux之truncate命令、split命令用法及说明

linux之truncate命令、split命令用法及说明

2026年05月11日 Linux 我要评论
功能描述truncate命令:linux truncate命令通常用于将每个文件的大小缩小或扩展到指定的大小。文件的最终大小取决于初始大小。如果文件(例如存档文件或日志文件)大于指定的大小,则会丢失额

功能描述

truncate命令:

  • linux truncate命令通常用于将每个文件的大小缩小或扩展到指定的大小。文件的最终大小取决于初始大小。
  • 如果文件(例如存档文件或日志文件)大于指定的大小,则会丢失额外的数据,但如果文件较短,则会对其进行扩展,扩展部分为零字节。

split命令:

  • split命令是linux系统中的一个用于拆分文件的命令。
  • 它可以将一个大文件拆分成多个小文件,以便于传输、存储或处理。

truncate命令

大多数linux发行版附带truncate命令。如果您的系统没有truncate命令,

对于centos 7:

# yum provides truncate
coreutils-8.22-18.el7.x86_64 : a set of basic gnu tools commonly used in shell scripts
repo : base
matched from:
filename : /usr/bin/truncate

如果未安装,请使用:

# yum-y install coreutils

truncate命令选项

用法:truncate 选项... 文件...

  -c, --no-create    不创建文件
  -o, --io-blocks    将size 视为io 块数而不使用字节数
  -r, --reference=rfile  base size on rfile
  -s, --size=size        set or adjust the file size by size bytes
      --help        显示此帮助信息并退出
      --version        显示版本信息并退出

使用truncate时,size参数必须是整数和可选单位(例如:10k是10*1024)。使用的单位是k、m、g、t、p、e、z、y(1024的幂)或kb、mb、…(1000的幂)。

size参数的前缀也可以是以下修改字符之一:“+”扩展“,-”减少“,”<”最多“,>”至少“/”向下舍入到“%”的倍数,“%”向上舍入到“%”的倍数。

truncate用法示例

1.这非常有用,例如用于清除日志文件。

这比手动删除文件并创建新文件要好。

截断过程基本上删除了文件的所有内容。它不会删除文件本身,但会将其作为零字节文件留在磁盘上。

# truncate -s 0 file

2.特定大小

# truncate -s 100k file

3.假设您有一个500k文件,并希望将其缩小到250k。您将使用-s选项并指定-in大小

truncate -s -250k file.txt

split命令

split命令选项

用法:split [选项]... [输入 [前缀]]

-a, --suffix-length=n : 指定输出文件名的后缀长度(默认为2个:aa,ab...)
-d, --numeric-suffixes[=from] : 指定输出文件名的后缀用数字代替
-l, --lines=number: 行数分割模式(指定每多少行切成一个小文件;默认行数是1000行)
-b,--bytes=size : 二进制分割模式(支持单位:k/m) 
-c, --line-bytes=size: 文件大小分割模式(切割时尽量维持每行的完整性)
  -e, --elide-empty-files:不产生空的输出文件  
      --filter=command:写入到shell命令行    
  -n, --number=chunks:产生chunks文件
  -u, --unbuffered    无需缓存
       --verbose        在每个输出文件打开前输出文件特征
       --help              显示此帮助信息并退出
       --version         显示版本信息并退出

chunks可能是:

  • 根据输入大小将n个文件拆分为n个文件
  • k/n输出第kth个n到stdout
  • l/n拆分为n个文件而不拆分行
  • l/k/n将n的kth输出到stdout而不拆分行
  • r/n类似于“l”,但使用循环分布
  • r/k/n类似,但仅将n的kth输出到stdout
  • split [-a] [-d] [-l <行数>] [-b <字节>] [-c <字节>] [要切割的文件] [输出文件名]

split用法示例

1.行切割文件

$ split -l 300000 users.sql  /data/users_

2.使用数字后缀

$ split -d -l 300000 users.sql  /data/users_

3.按字节大小分割

$ split -d -b 100m users.sql  /data/users_

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com