ディレクトリを作成するときは、mkdir -m <mode> <dir>
指定されたモード/権限セットを使用して1つ以上のディレクトリを(原子的に)作成することをお勧めします。
コマンドラインからファイルを生成するのと同等の方法はありますか?
似ている:
open("file", O_WRONLY | O_APPEND | O_CREAT, 0777);
touch
ここでヒールを使用することはchmod
唯一のオプションですか?
編集する:teppicの提案を試した後、それを実行install
してstrace
原子にどれだけ近いかを確認しました。答えは実際にはそうではありません。
$ strace install -m 777 /dev/null newfile
...
open("newfile", O_WRONLY|O_CREAT|O_EXCL, 0666) = 4
fstat(4, {st_mode=S_IFREG|0666, st_size=0, ...}) = 0
...
fchmod(4, 0600) = 0
close(4) = 0
...
chmod("newfile", 0777) = 0
...
しかし、これは単にシェルコマンドであり、以前は知らなかったコマンドです。