我正在使用IBM Bluegene / Q系统,我想使用Fortran创建一个文件夹。由于Bluegene不允许通常的“呼叫系统”,我不得不求助于它们的内在功能:
CALL mkdir ("/home/luc/testfiles\0", %val(755))
如此处所示:https://wiki.scinet.utoronto.ca/wiki/images/2/23/Bgqfcompiler.pdf
这会创建文件夹,但权限都是错误的。如何在IBM Bluegene / Q系统上创建具有适当权限的文件夹?他们所有的文件都很可怕,我找不到一个有效的例子。
答案 0 :(得分:3)
mkdir是在C库中实现的POSIX函数。您可以在此处找到其文档:http://pubs.opengroup.org/onlinepubs/9699919799/functions/mkdir.html。您可以在此处找到mkdir的mode / permissions参数的值:http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_stat.h.html#tag_13_62。请注意,值是八进制的。
在这种情况下,相关的是你为第二个参数提供的值是错误的。你传递十进制755,即八进制1363.手册中的例子传递了十进制448,即八进制0700.如果你想要八进制0755,你应该传递十进制493.(或者你可以传递%val(o'0755') )