My FAQ,最新最全的IT技术FAQ
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 未整理篇 | 技术讨论
  当前位置: > 操作系统 > SCO_Unix
请问如何在sco unix下创建固定大小的文件?
作者:未知 时间:2005-09-13 15:21 出处:ChinaUnix.net 责编:My FAQ
              摘要:请问如何在sco unix下创建固定大小的文件?

用什么命令? 格式是什么
  比如建立1个大小为1G的文件

 CNL 回复于:2004-11-04 11:09:19
想了半天,没想起来SCO有类似的直接命令,
如果你不想写程序参考一下这个shell
[quote:595985a0ce]
#!/bin/sh
size=1024 # 你创建文件的字节大小
fchar=32   # 你文件填充的ascii码(32是空格)
export size fchar
echo "ok" | awk -v fs=$size -v fc=$fchar '{printf("%*d",fs,fc)}' > filename_by_you
[/quote:595985a0ce]

 xzh2002 回复于:2004-11-04 11:34:50
有什么意义?

 sunlan 回复于:2004-11-05 16:45:53
最简单的办法:

FILE *fp;

fp=fopen( "aaa.txt", "w" );

fseek( fp, 1073741824, SEEK_SET );

fwrite( "1", 1, 1, fp );

fclose( fp );

 simonzhan 回复于:2004-11-05 17:57:19
我也说一个土办法,随便找一个大文件

dd if=bigfile of=yourfile bs=file_size(单位为字节) count=1

如果连文件都懒得找,用下面这个:
dd if=/dev/hd0a of=yourfile bs=file_size count=1

不过这个命令可是有杀伤力的,如果你把if和of后面的文件名搞反的话,嘿嘿,你就哭去吧 :mrgreen:

 namtso 回复于:2004-11-06 12:51:59
[quote:1c4b25f374="simonzhan"]我也说一个土办法,随便找一个大文件

dd if=bigfile of=yourfile bs=file_size(单位为字节) count=1

如果连文件都懒得找,用下面这个:
dd if=/dev/hd0a of=yourfile bs=file_size count=1

不过这个命令?.........[/quote:1c4b25f374]
按照系统的man手册页里的说法,应该是这样
dd if=/dev/null  of=youfile bs=file_size count=1

 simonzhan 回复于:2004-11-06 19:38:10
[quote:21795ddc48="namtso"]
按照系统的man手册页里的说法,应该是这样
dd if=/dev/null  of=youfile bs=file_size count=1[/quote:21795ddc48]
呵呵,说实话我原来也是觉得应该是你所说的,但我在sco5.06的系统上查过man,没有提到这个,而且我实际试过也确实不行,文件大小始终为0。所以才不得已出此下策了,也许你可能是在其他版本上看到的,如果是这样的话,请注明版本号,最好能亲自试试看。再回来回复一下,让大家多一点东西参考,谢谢!

 lw371 回复于:2004-11-07 09:50:15
哈哈,终于发现一个显手的帖子,你们的都不完美,看我的:
dd if=/dev/zero of=youfile bs=file_size count=1
呵呵,是/dev/zero啊,这个拷贝出来的文件的内容都自动初始化成'\0'啦
都来赞美我吧 :em02:

 simonzhan 回复于:2004-11-08 01:50:08
嗯,可以设为精彩帖子了

 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 myfaq.com.cn All rights reserved. www.myfaq.com.cn 版权所有