目录
功能描述
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 file3.假设您有一个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_