Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建设置大小的文件的Bash脚本_Bash - Fatal编程技术网

创建设置大小的文件的Bash脚本

创建设置大小的文件的Bash脚本,bash,Bash,我正在尝试设置一个脚本,该脚本将在/tmp/目录中创建大小为24MB的空.txt文件。这个脚本背后的想法是,监控服务Zabbix将注意到目录已满,并使用恢复表达式将其完全擦除 然而,我是Linux新手,似乎对生成文件的脚本一窍不通。这是我目前写的 today="$( date +¨%Y%m%d" )" number=0 while test -e ¨$today$suffix.txt¨; do (( ++number )) suffix=¨$( printf -- %02d ¨

我正在尝试设置一个脚本,该脚本将在/tmp/目录中创建大小为24MB的空.txt文件。这个脚本背后的想法是,监控服务Zabbix将注意到目录已满,并使用恢复表达式将其完全擦除

然而,我是Linux新手,似乎对生成文件的脚本一窍不通。这是我目前写的

today="$( date +¨%Y%m%d" )"
number=0

while test -e ¨$today$suffix.txt¨; do
    (( ++number ))
    suffix=¨$( printf -- %02d ¨$number¨ )
done

fname=¨$today$suffix.txt¨

printf ´Will use ¨%s¨ as filename\n´ ¨$fname¨
printf -c  24m /tmp/testf > ¨$fname¨
我在想我做错了什么与printf命令有关。但是脚本编写指南中的一些输入、建议和/或指导是非常受欢迎的

非常感谢,,
Melanchole

我想,文件中实际包含哪些字节并不重要,只要它填充temp dir即可。因此,创建文件的正确工具是
dd
,它在每个Linux发行版中都可用,通常默认安装

检查手册页中的不同选项,但最重要的是

  • if
    :输入文件,
    /dev/zero
    可能只是一个值为零的无限字节流
  • of
    :在输出文件中,您可以保留生成该文件所需的代码
  • count
    :要复制的块数,只需在此处使用
    24
  • bs
    :每个块的大小,使用
    1MB

我想,文件中实际包含哪些字节并不重要,只要它填充temp dir即可。因此,创建文件的正确工具是
dd
,它在每个Linux发行版中都可用,通常默认安装

检查手册页中的不同选项,但最重要的是

  • if
    :输入文件,
    /dev/zero
    可能只是一个值为零的无限字节流
  • of
    :在输出文件中,您可以保留生成该文件所需的代码
  • count
    :要复制的块数,只需在此处使用
    24
  • bs
    :每个块的大小,使用
    1MB

日期格式中的
¨
有什么作用?这肯定是错的。那似乎是个打字错误!感谢您指出这一点,直到您声明后才注意到。日期格式中的
有什么作用?这肯定是错的。那似乎是个打字错误!谢谢你指出这一点,直到你这么说才注意到。