ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Понедельник, 31 марта, 2025
Сегодня у нас 1 праздник:
Международный День Резервного Копирования (World Backup Day). Пользователи сайта социальных новостей reddit предложили сделать дату 31.03 Международным днём резервного копирования, аргументируя это тем, что никогда заранее нельзя узнать, какие сюрпризы преподнесёт 1.04

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

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

Введение

В данном руководстве показано, как использовать команду mv в Linux, чтобы перемещать файлы в файловой системе. Команда mv используется не только для перемещения файлов, она также может быть использована для переименования файлов.

Команду mv не следует путать с командой cp которая копирует файл из одного места в другое. Команда mv физически изменяет местоположение файла или переименовывает его. Это не означает, что файл больше не существует в своем первоначальном месте.

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

Представьте, что вы скопировали большое количество фотографий с вашей цифровой камеры в папку Pictures в вашей домашней папке. (~ / Pictures).

Нажмите здесь для гида о тильде (~).

Имея много снимков в одной папке делает их трудно читаемыми. Было бы лучше, если бы классифицировать изображения в некотором роде.

Конечно, вы можете классифицировать изображения по годам и месяцам или вы могли бы классифицировать их по конкретному событию.

Для этого примера предположим, что в папке изображения, которые имеют следующие файлы:

img0001_01022315.jpg
img0002_02034515.jpg
img0003_05022315.jpg
img0004_13022015.jpg
img0005_14042116.jpg
img0006_17071216.jpg
img0007_19092316.jpg
img0008_01015616.jpg
img0009_02013216.jpg
img0010_03016716.jpg

 

Трудно сказать, по фотографиям, что они на самом деле представляют. Каждое имя файла имеет дату, связанную с ним, так что вы можете по крайней мере поместить их в папки, основанные по их датам.

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

Для создания папки используйте команду MKDIR следующим образом :

MkDir <имя_папки>

 

В примере, приведенном выше, было бы хорошей идеей, чтобы создать папку для каждого года и в каждой папке года должны быть папки для каждого месяца.

Например:

MkDir 2015

MkDir 2015 / 08_August

MkDir 2015 / 09_September

MkDir 2015 / 10_October

MkDir 2015 / 11_November

MkDir 2015 / 12_December

MkDir 2016

MkDir 2016 / 01_January

MkDir 2016 / 02_February

 

Теперь вы можете быть удивлены, почему я создал каждый месяц папку с номером и именем (т.е. 01_January).

При запуске листинга каталога с помощью в команду Ls папки возвращаются в алфавитном порядке. Без чисел апрель будет первым, а затем август и т.д. С помощью числа в имени папки, он гарантирует месяц возвращать в правильном порядке.

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

mv img0001_01012015.jpg 2015/01_January/.

mv img0002_02012015.jpg 2015/01_January/.

mv img0003_05022015.jpg 2015/02_February/.

mv img0004_13022015.jpg 2015/02_February/.

mv img0005_14042015.jpg 2015/04_April/.

mv img0006_17072015.jpg 2015/07_July/.

mv img0007_19092015.jpg 2015/09_September/.

mv img0008_01012016.jpg 2016/01_January/.

mv img0009_02012016.jpg 2016/01_January/.

mv img0010_03012016.jpg 2016/01_January/.

 

В каждой из строк кода выше изображения копируется в соответствующую папку: год и месяц на основе даты в имени файла.

Период (.) В конце строки означает то, что известно как метасимвол. Это в основном гарантирует , что файл сохраняет такое же имя.

В то время как файлы теперь красиво отсортированы по дате, было бы неплохо знать, что каждое изображение содержит. На самом деле единственный способ сделать это , чтобы открыть файл в программе просмотра изображений . После того, как вы узнаете о изображении, вы можете переименовать файл, используя команду mv следующим образом:

mv img0008_01015616.jpg oldyearfireworks.jpg

 

Что произойдет, если файл уже существует

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

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

mv -b test1.txt test2.txt

 

Это переименовывает test1.txt в test2.txt. Если есть уже test2.txt тогда станет test2.txt ~.

Другой способ, чтобы защитить себя, можно указать команде mv, сказать вам, если файл уже существует, а затем вы можете выбрать, следует ли переместить файл или нет.

mv -i test1.txt test2.txt

 

Если вы переносите сотни файлов, то вы, вероятно, напишите сценарий для выполнения перемещения. В этом случае вы не будете видеть сообщение с  вопросом, хотите ли вы переместить файл или нет.

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

mv -n test1.txt test2.txt

 

Наконец, есть еще один переключатель, который позволяет обновлять файл назначения, если исходный файл более новый.

mv -u test1.txt test2.txt

 

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

Exit mobile version