Переместить все файлы папки linux

How to move all files and folders via mv command [duplicate]

Good point. If you are using bash, then you can run shopt -s dotglob and then «*» will match hidden files, too.

What happens if there are folders and files with the same name in the destination folder? Are they overwritten?

. it seems folders with the same name are not overwritten. mv: cannot move ‘/a/js’ to ‘/b/js’: Directory not empty

I know I accepted the first answer many years ago, and it’s stupid for me now to change it. But actually, I’ve been always using this method.

This works for me in Bash (I think this depends on your shell quite a bit. )

$ mv source/* /destination/folder/here 

When I try I get mv: overwrite ‘destination/.’? mv: overwrite ‘destination/..’? , but adding -n to mv stops it from trying to overwrite

@Putnik — that’s a good gotcha! what os/distro ? ( I was working on OSX when I was messing around with this. )

This works for me in Bash 4.2.46, it moves all files and folders including hidden files and folders to another directory

Notice that .[^.]* means all hidden files except . and ..

I’d say it’s a bit boring, but really bullet-proof (GNU) way is:

cd /SourceDir && find ./ -maxdepth 1 -mindepth 1 -exec mv -t /Target/Dir <> +

P. S. Now you can possibly see why lots of people do prefer Midnight Commander, though.

If you only want to do a cut and paste-like action there is a simple way that worked for me:

$mv /media/dir_source $HOME/Documents/ 

It will move the folder named dir_source located in /media to the directory $HOME/Documents/

yet another way just for the heck of it (because I love convoluted ways to do things I guess)

cd /source for f in $(\ls -QA); do eval mv $f /destination/$f; done 

the -Q and the -A are not POSIX, however the -A is fairly prevalent, and to not use the -Q you need to change the IFS (which then means you don’t need the eval but need to quote the variable)

IFS=" " && for f in $(ls -A); do mv "$f" /destination/"$f"; done 

Источник

Читайте также:  Crossover linux установить через терминал

Команда mv: Перемещаем папки и файлы в терминале Linux

И снова продолжаем осваивать терминал в Linux, на сей раз мы будем перемещать папки и файлы. Данные навыки вам могут пригодиться например при установке программного обеспечения, взять хотя бы установку плагина v2ray для прокси Shadowsocks. Ну и конечно в тех случаях, когда у вас нет окружения рабочего стола. Не важно при каких условиях, я уже не однократно говорил что знание терминала это основа Linux. Для перемещения используется команда “mv”, в различных ситуациях вам так же может понадобиться и root права, все зависит в какой каталог вы перемещаете файл или папку. И так, от слов к делу, в данной статье я буду показывать пример перемещения файла “test-mv”, но все те же действия можно применять и к папкам.

Перемещение командой mv

Для того что бы переместить файл или папку, необходимо ввести команду “mv”, затем указать путь до нужного файла или папки, а далее указываем куда хотим переместить. Например, мне необходимо переместить файл “test-mv” из директории “/tmp” в директорию “Документы”. Для этого так же необходимы права root. И так, давайте переместим данный файл, вводим команду “mv”, после чего указываем путь до директории “/tmp” и название файла “test-mv”, а затем указываем куда хотим переместить:

sudo mv /tmp/test-mv /Документы

папки и файлы в терминале Linux 1

Команда mv с опцией -i

Как в случае с копированием, если у вас уже имеются файлы с таким же именем в директории куда вы перемещаете файлы, то они попросту перезапишутся. Для того что бы этого избежать, можно использовать опцию “-i”. В этом случае у вас будет выбор, перезаписать или нет. Вы можете указать букву “y” для того что бы перезаписать файл, или букву “n”, что бы отменить перемещения:

sudo mv -i /tmp/test-mv /Документы

папки и файлы в терминале Linux 2

Заключение

Имеется небольшая хитрость при копировании и перемещении файлов и папок, если вы введете команду “ls -al”, то увидите точку и двоеточие в начале списка. Одна точка означает текущую директорию, а двоеточие означает переход на одну директорию вверх:

Читайте также:  Built in linux browser

папки и файлы в терминале Linux 3

Исходя из этих данных, можно копировать файлы используя эти точки. То есть, если я нахожусь в домашней директории пользователя и мне необходимо скопировать или переместить файл “test-mv” из директории “/tmp” в текущую директорию, можно ввести точку. На примере это будет выглядеть следующим образом:

папки и файлы в терминале Linux 4

Зная эти небольшие хитрости, можно значительно упростить ввод команд. А так же для получения справки, можно ввести команду:

папки и файлы в терминале Linux 5

А на этом сегодня все. Надеюсь данная статья будет вам полезна.
Журнал Cyber-X

Источник

Команда mv

Команда mv Linux

Команда mv используется для перемещения одного или нескольких файлов (или директорий) в другую директорию, а также для переименования файлов и директорий.

Синтаксис

исходные_файлы — это то, что мы будем перемещать или переименовывать. То есть это либо один файл, либо несколько файлов, либо директория, либо несколько директорий.

куда — это название директории, в которую мы перемещаем исходные файлы или директории. Или же это новое название файла или директории, если выполняется переименование. То есть это либо директория, либо новое название файла или директории.

  • Переместить один или несколько файлов в другую директорию.
  • Переместить одну или несколько директорий в другую директорию.
  • Переименовать файл.
  • Переименовать директорию.

Опции

Создать резервную копию существующих файлов, которые будут перезаписаны или удалены.
Имя для резервной копии может создаваться по определенным правилам. Для этого используется опция —backup=МЕТОД В качестве значения МЕТОД можно указать:

  • none или off — не делать резервных копий, даже если включена опция —backup
  • numbered или t — имя резервной копии получит числовой индекс (пример: myfile.txt~2~ ).
  • existing или nil — если в директории уже есть резервные копии с числовыми индексами, то использовать числовые индексы для новых резервных копий, во всех остальных случаях использовать метод simple .
  • simple или never — делать обычные резервные копии (пример: myfile.txt~ ).

Изменить символ суффикса, который добавляется к именам резервных копий (при использовании опции —backup ). По умолчанию СУФФИКС равен значку тильды ~

Перемещать только если исходный файл новее, чем файл назначения или если файл-назначения отсутствует.

Примеры использования команды mv

Рассмотрим несколько примеров использования команды mv в Linux.

Рекомендуется всегда использовать опцию -v , чтобы получать информацию о том, что именно команда mv делает с файлами.

Читайте также:  Yggdrasil linux gnu x

Также крайне рекомендуется использовать опцию -i , чтобы выдавался запрос на перезапись существующих файлов. В примерах ниже мы эти опции опускаем.

Переместить файл

Переместим файл myfile1.txt в директорию mydir/ (директория должна существовать). Для этого выполняем команду без каких-либо аргументов:

Переименовать файл

Переименуем файл myfile1.txt в myfile2.txt :

Переименовать директорию

Переименуем директорию mydir1 в mydir2 . Выполняется точно также, как и переименование файлов.

Создавать резервные копии существующих файлов

Предположим, что нам нужно переименовать файл myfile1.txt в myfile2.txt , но файл myfile2.txt уже существует. Можно воспользоваться опцией -b , чтобы создать резервную копию существующего файла:

mv -b myfile1.txt myfile2.txt

В результате сначала существующий файл myfile2.txt будет переименован в myfile2.txt~ , то есть будет создана его резервная копия, и только потом файл myfile1.txt будет переименован в myfile2.txt .

Вместо значка тильда ~ можно добавлять к именам резервных копий произвольный суффикс. Например, добавим суффикс .bak . Для этого воспользуемся опцией -S

mv -b -S ".bak" myfile1.txt myfile2.txt

Переместить несколько файлов

Рассмотрим примеры использования команды mv для перемещения нескольких файлов в другую директорию.

Переместим сразу три файла в директорию mydir/

mv myfile1 myfile2 myfile3 mydir/

Переместим все файлы из текущей директории в директорию mydir/

Переместим все файлы с расширением .jpg в директорию mydir/

Переместить только те файлы, которых нет в директории назначения

Предположим, что нам нужно переместить все файлы из одной директории в другую, но если в директории назначения уже есть файлы с такими же именами, то их не перемещать. Для этого используем опцию -n

Переместить только те файлы, которые новее

Предположим, что нам нужно переместить все файлы из одной директории в другую, но если в другой директории уже есть файлы с такими же именами, то заменять существующие файлы только если исходный файл новее (по дате). Для этого используем опцию -u

Если в имени файла есть пробелы

Если в имени файла есть пробелы, то имя файла нужно заключить в кавычки или перед каждым пробелом добавлять символ \

Предположим, что нам нужно переименовать файл в имени которого содержится пробел — My file1.txt . Для этого можно заключить имя файла в кавычки (для файла назначения аналогично).

mv "My file1.txt" "My file2.txt"

Или использовать символ косой черты перед пробелом.

mv My\ file1.txt My\ file2.txt

Источник

Оцените статью
Adblock
detector