Есть ли способ переместить файл в новый каталог без явного создания каталога с помощью команды mkdir
, а затем переместить файл с помощью mv
Традиционный метод
mkdir -p
создает все элементы пути, которые не существуют.
Вы можете изменить его с помощью && mv
Пример:
mkdir -p /tmp/1/2/3/ && mv /tmp/file /tmp/1/2/3/
/ tmp / 1/2/3 / может быть переменной, которую вы можете использовать повторно.
Это также можно сделать с помощью tar
, но затем вам нужно сделать это с помощью каталога структура уже есть. Если его развязать в другом месте, будут созданы пути, которых не существует.
Вы также можете использовать rsync
. Если пункт назначения не существует, он создаст его для вас. Пример
rsync -a --relative /new/dir/1/2/3/ /old/dir/
Последний вариант кажется мне лучшим. rsync - отличный инструмент для передачи файлов. Местное и удаленное.