Как переместить файлы с помощью команды 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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

admin

Делиться
Опубликовано
admin

Последние посты

6 причин, почему деловые пресс-релизы хороши для маркетинга

Итак, у вас есть новый продукт или услуга, которые вы хотите продвигать. Чем вы занимаетесь?…

44 минуты тому назад

PWA iOS- догоняя приложение с iOS 13

В бета-версии 1 iOS 13 исправлено множество досадных ошибок iOS 12 и более поздних версий.…

2 часа тому назад

Если компьютер не видит принтер, что делать?

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

4 часа тому назад

Как создать фитнес-сайт на WordPress (за 5 шагов)

Создание стильного и полнофункционального фитнес-сайта может помочь вывести ваш тренажерный зал, студию или персональный тренинг…

6 часов тому назад

Как собрать пакеты Debian из исходного кода

Debian и системы на основе Debian, такие как Ubuntu, используют Advanced Package Tool , сокращенно…

21 час тому назад

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

Прокси-серверы для нас не новость: мы используем их для личных и деловых нужд. Но термин «мобильный…

22 часа тому назад