Я знаю, вы можете сделать mkdir
, чтобы создать каталог и touch
, чтобы создать файл, но нет ли способа обойти обе операции за один раз?Unix - создать путь к папкам и файлу
т.е., если я хочу сделать ниже, если папка other
не существует:
cp /my/long/path/here/thing.txt /my/other/path/here/cpedthing.txt
Ошибка:
cp: cannot create regular file `/my/other/path/here/cpedthing.txt': No such file or directory
Кто-нибудь придумать функцию, как обходной путь для этого?
Нашел: http://stackoverflow.com/questions/1529946/linux-copy-and-create-destination-dir-if-it-does-not -exist –
Если необходимо, чтобы создание файла и его каталога было атомарным, вам нужно написать файловую систему, которая предлагает эту операцию. Это невозможно в стандартных файловых системах Linux. –
@toop Я понимаю, что этот вопрос сейчас полтора года, но недавно были объединены несколько ответов. Если вам нужно очень часто, вы можете найти [мой ответ] (http://stackoverflow.com/a/19288855/119527) полезным. (Я бы стал более полезным, чем принятый ответ, но я не прошу представить здесь :-)) –