Shell 批量生成空白文件,脚本在应用于实际系统之前必须经过测试。我们可能需要生成大量文件来验证是否存在内存泄漏或是进程挂起等问题。本章为你展示了如何生成空白文件。
预备知识
touch
命令可以用来生成空白文件或是修改已有文件的时间戳。
实战演练
通过下列步骤批量生成空白文件。
(1) 调用touch
命令并使用一个不存在的文件名作为参数,创建空白文件:
$ touch filename
(2) 批量生成不同名字的空白文件:
for name in {1..100}.txt
do
touch $name
done
在上面的代码中,{1..100}
会扩展成一个字符串1, 2, 3, 4, 5, 6, 7...100
。除了{1..100}.txt
,我们还可以使用其他简写样式,比如 test{1..200}.c
、test{a..z}.txt
等。
如果文件已经存在,那么touch
命令会将与该文件相关的所有时间戳都更改为当前时间。如果我们只想更改某些时间戳,则可以使用下面的选项。
touch -a
只更改文件访问时间。-
touch -m
只更改文件修改时间。
除了将时间戳更改为当前时间,我们还能够指定特定的时间和日期:
$ touch -d "Fri Jun 25 20:50:14 IST 1999" filename
-d
使用的日期串不需要是严格的格式。它可以接受多种短格式日期。我们可以忽略具体时间,使用Jan 20, 2010这种格式。