70人参与 • 2026-05-11 • Linux
truncate命令:
split命令:
大多数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 选项... 文件...
-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参数的前缀也可以是以下修改字符之一:“+”扩展“,-”减少“,”<”最多“,>”至少“/”向下舍入到“%”的倍数,“%”向上舍入到“%”的倍数。
1.这非常有用,例如用于清除日志文件。
这比手动删除文件并创建新文件要好。
截断过程基本上删除了文件的所有内容。它不会删除文件本身,但会将其作为零字节文件留在磁盘上。
# truncate -s 0 file
2.特定大小
# truncate -s 100k file
3.假设您有一个500k文件,并希望将其缩小到250k。您将使用-s选项并指定-in大小
truncate -s -250k file.txt
用法: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可能是:
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_
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论