Я хотел бы знать, как я могу переместить все файлы из папки в другую папку с помощью командной строки.
Допустим, я нахожусь в папке «Загрузки», и я хочу переместить 100 файлов в папку «Видео» без необходимости записывать все имена файлов.
Я хотел бы знать, как я могу переместить все файлы из папки в другую папку с помощью командной строки.
Допустим, я нахожусь в папке «Загрузки», и я хочу переместить 100 файлов в папку «Видео» без необходимости записывать все имена файлов.
Ответы:
Откройте терминал и выполните эту команду:
mv -v ~/Downloads/* ~/Videos/
Все файлы и папки будут перемещены из папки «Загрузки» в папку «Видео».
Чтобы переместить все файлы, но не папки:
Если вы хотите переместить все файлы (но не папки) из папки «Загрузки» в папку «Видео», используйте эту команду
find ~/Downloads/ -type f -print0 | xargs -0 mv -t ~/Videos
Чтобы переместить только файлы из папок загрузки, но не из подпапок:
Если вы хотите переместить все файлы из папки «Загрузки», но не файлы внутри папок в папке «Загрузка», используйте эту команду:
find ~/Downloads/ -maxdepth 1 -type f -print0 | xargs -0 mv -t ~/Videos
здесь -maxdepthопция указывает, насколько глубоко должен пытаться найти, что 1означает только каталог, указанный в команде поиска. Вы можете попробовать использовать 2, 3также для тестирования.
См. Справочную страницу поиска Ubuntu для подробного объяснения.
-print0 | xargs -0 mv -t ~/Videosможет быть более эффективно сделан с -exec mv -t ~/Videos \{\} \+:-)
mv -v ~/Downloads/* ~/Videos/не работает для скрытых файлов
mv ~/Downloads/* ~/Videos
Он переместит все файлы, включая подпапки, в каталог, который вы хотите mv. Если вы хотите cp(скопировать) или rm(удалить) вам понадобится -r(рекурсивная) опция для включения подпапок.
mvне требуется рекурсивная опция для включения подпапок. Можно использовать это также для переименования.
Для простого случая:
mv ~/Downloads/* ~/Videos
Если вы также хотите переместить точечные (скрытые) файлы, установите параметр оболочки dotglob .
shopt -s dotglob
mv ~/Downloads/* ~/Videos
Это оставляет опцию оболочки установленной.
Для однократного использования dotglob выполните команды в подоболочке:
(shopt -s dotglob; mv ~/Downloads/* ~/Videos)
(shopt -s dotglob; mv ~/Downloads/* ~/Videos) только перемещает (режет) содержимое (включая скрытые файлы). В этом случае папка отправления и назначения должны уже существовать. В конце каталог источника становится пустым.
Это возможно с помощью rsync, например:
rsync -vau --remove-source-files src/ dst/
где:
-v,--verbose: Увеличить многословие.
-a,--archive: Режим архива; равна-rlptgoD(нет-H,-A,-X).
-u,--update: Пропустить файлы, которые новее на приемнике.
--remove-source-filesЭто говоритrsyncоб удалении со стороны отправки файлов (то есть не-каталогов), которые являются частью передачи и были успешно продублированы на принимающей стороне.
Если у вас есть привилегии суперпользователя, используйте префикс, sudoчтобы отменить возможные проблемы с разрешениями
Чтобы переместить каталог с содержимым или без него на новое имя, как если бы вы использовали mvкоманду для переименования файла:
mv -T dir1 dir2
где:
-T обрабатывает место назначения как обычный файлdir1 оригинальное имя каталогаdir2 это новое имя каталогаNB: dir2не должно существовать
Я надеюсь, что это сэкономит кому-то много времени, как нуб, перед этим я бы создал каталог с новым именем, а затем переместил бы содержимое каталога в каталог, созданный ранее.
Использовать для подкаталогов
Эта команда полезна , когда многие файлы были сохранены в папке целевого каталога , т.е. Downloads/mp4. В этом примере выполнение mv -T Downloads/mp4 Videosприведет mp4к удалению подпапки, а все содержащиеся в ней файлы будут перемещены в папку «Видео».
dir1к удалению. Помимо этой меры предосторожности, в этом ответе отмечено что-то хорошее для ежедневного использования.
mv fileA fileBно -Tфлаг в этом случае рассматривает папку назначения / как файл и переименовывает его.
cd folderNameherepwd. Это напечатает каталог, который вы хотите переместить тоже.cd folderNameheremv *.* typeAnswerFromStep2hereЭто переместит все файлы из этого каталога в другой.
foo.txt, bar.а barтак bar.и barне будет перемещена. Использование *вместо того, чтобы *.*позаботиться об этом. Но в обоих случаях скрытые файлы, такие как: .foobarне будут перемещены.
mv source_path/* destination_path/
здесь вы должны поставить косую черту и *после пути к исходному тексту, чтобы он брал файлы внутри source_path вместо полного исходного каталога.
Пример: mv /home/username/test/* /home/username/test2/
Приведенная выше команда перемещает все файлы (если они не скрыты) из исходного каталога в целевой каталог.
попробуй
find ~/Desktop -type f -iname "*.mp4" -exec mv {} ~/Videos \;
-type с аргументом -type вы можете указать тип file.on в этом операторе, который является средним значением file.if, используя -d, который означает каталог.
-iname: наиболее распространенный и очевидный способ поиска файла - использовать аргумент -name. Если вы не уверены в его чувствительности к регистру, вы можете использовать аргумент -iname
mv {} и, наконец, указать целевой каталог, а затем переместить туда файлы, используя аргумент mv {}
filesно люди показывают вам, как двигаться не только,filesноfoldersи хорошо. Это нормально?