Під час створення каталогів mkdir -m <mode> <dir>
передбачено створення одного або декількох каталогів із заданим режимом / дозволами (атомно).
Чи є еквівалент для створення файлів у командному рядку?
Щось схоже на:
open("file", O_WRONLY | O_APPEND | O_CREAT, 0777);
Користуємося touch
слід chmod
моєму єдиним варіантом тут?
Редагувати: Після того, як спробував запропонувати теппік використовувати 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
...
Все-таки це одна команда оболонки і одна, про яку я раніше не знав.
install