В этом уроке мы покажем вам, как переместить файл в Linux. Пошаговые инструкции для начинающих с терминалом Linux.
Если вы используете графический интерфейс, вам просто нужно перетащить файл с помощью мыши. Этот учебник будет для интерфейса командной строки (CLI) или терминала.
Эти инструкции также работают для других Unix-систем, таких как macOS и BSD.
Все эти примеры практичны и полезны для повседневных задач, с реальными примерами использования.
Какую команду вы используете для перемещения файла в Linux?
Мы собираемся использовать mv команду. Хотя вы можете использовать и другие команды, это одна из наиболее часто используемых и простых в использовании.
Синтаксис и параметры команды MV
Синтаксис команды mv таков:
Наиболее распространенными параметрами для команды mv являются:
- -f (–force) – принудительное перемещение/перезапись без проверки или запроса
- -i (–interactive) – проверяет и запрашивает перед перемещением или перезаписью
- -n (–no-clobber) – не перемещает файл, если файл уже существует в целевом каталоге.
- -b (–backup) – создает резервную копию перемещаемого файла.
- -u (–update) – перемещает файл только в том случае, если исходный файл новее целевого или если конечный файл отсутствует.
Есть еще много вариантов для команды mv, некоторые из которых будут объяснены ниже. Чтобы получить список всех параметров и дополнительную информацию для команды, запустите ее с помощью параметра справка:
Как переместить файл из одного каталога в другой в Linux?
Зная основной синтаксис команды, мы покажем вам самый простой пример и наиболее распространенное использование команды mv.
Чтобы переместить файл (song.mp3) из текущего каталога в домашний каталог, выполните:
Чтобы переместить файл из определенного каталога в другой каталог, вы должны выполнить:
Несмотря на то, что mv команда довольно полезна, вы используете её как самый простой пример, мы покажем вам больше вариантов использования ниже.
Как переместить файл в родительский каталог в Linux?
Если вы находитесь в каталоге и хотите переместить файл из текущего каталога в его родительский каталог, вы можете использовать следующий синтаксис:
Вам нужно использовать .. в качестве замены вместо того, чтобы вводить полный путь к родительскому каталогу.
Распространенным и полезным примером является то, что вам нужно переместить файл (в данном случае index.html) из вашего текущего каталога “/var/www/html/devwebsite” в его родительский каталог “/var/www/html”. Команда будет:
Предполагая, что вы уже находитесь в “/var/www/html/devwebsite” (вы можете запустить “pwd” для проверки), файл будет перемещен в родительский каталог. Вам не нужно находиться в каталоге, чтобы переместить файл в его родительский каталог. Если вы сейчас находитесь в /root/ (cd ~), вы все равно можете переместить любой файл из любого места в его родительский каталог.
Например, эта команда будет делать то же самое, что и команда выше, независимо от того, в каком каталоге вы сейчас находитесь:
Как переместить несколько файлов в Linux?
Существует больше способов перемещения нескольких файлов в Linux с помощью команды mv.
Наиболее распространенным примером является использование подстановочного знака*.
Так, например, если вы хотите переместить все файлы .mp3 из папки /home/username/Downloads в папку /home/username/Music, вы запустите:
В этом примере наше имя пользователя - “linuxns”.
Вы также можете объединить это с другим подстановочным знаком, ~ который будет указывать на каталог /home/username.
Обновленная команда будет:
Если вы сейчас находитесь в каталоге загрузок, вам просто нужно запустить
Подстановочный знак * также можно использовать по-разному, как и все файлы с именем “linuxns”, с любым расширением файла:
Это переместит все файлы с именем “linuxns” из текущего каталога, например linuxns.jpg, linuxns.mp3, linuxns.pdf и т. Д. в каталог /opt.
Чтобы переместить все файлы из текущего каталога в родительский каталог, выполните:
Чтобы переместить все файлы и все каталоги из текущего каталога в родительский каталог, выполните:
Вы можете объединить все эти подстановочные знаки и примеры в команду, которая будет наиболее полезна для вас.
Если вы хотите переместить определенные несколько файлов, вы можете просто перечислить их. Например, если вы хотите переместить index.html и contact.html из текущего каталога в /var/www/html вы запустите:
Как переместить файл без перезаписи уже существующего файла в другой каталог?
Если вы перемещаете файл в каталог, где уже существует файл с тем же именем, по умолчанию (в большинстве систем) конечный файл будет перезаписан исходным файлом.
Например, если есть файл с именем notes.txt в ~/Documents вы пытаетесь переместить файл с именем notes.txt из ~/Downloads в каталог ~/Documents файл в ~/Documents будет перезаписан файлом из ~/Downloads. Итак, эта команда:
Перезаписывает/заменяет /Documents/notes.txt с /Downloads/notes.txt без подсказки. Если вы хотите получить приглашение, просто используйте опцию “-i” :
В этом случае терминал предложит вам:
Для подтверждения просто введите “y”.
Если по умолчанию вы получаете приглашение при перемещении файла в вашей системе, вы можете использовать опцию-f для принудительного перемещения без запроса, что является противоположностью-i.
Как переместить файл и сделать резервную копию, если он уже существует?
Опция, которую я чаще всего использую с командой mv, –это флаг-backup (или-b). Если вы используете-b, команда mv создаст резервную копию перемещаемого файла и добавит “~” в его конец, если он уже существует. Итак, если мы используем наш предыдущий пример, то вместо перезаписи notes.txt файл, мы можем создать его резервную копию. Пример:
Эта команда переместит файл notes.txt из /home/linuxns/Downloads/ в /home/linuxns/Documents/notes.txt~
Как переместить несколько файлов и не перезаписывать файлы, если они уже существуют?
Чтобы снова объединить несколько параметров, используя наш предыдущий пример, вот пример использования опции-n.
Если файл ~/Documents/notes.txt уже существует, следующая команда ничего не сделает:
Полезным примером является перемещение нескольких файлов, в нашем примере песен. Если песня уже существует, команда пропустит эти файлы и переместит только те, которые не существуют в каталоге назначения.
Эта команда по существу переместит все файлы .mp3 из папки Downloads, которые еще не существуют в папке Music.
Как переместить и переименовать файл одновременно?
Команда mv также может использоваться для переименования файла. Чтобы использовать его, вам просто нужно ввести конкретное имя файла в качестве места назначения, а не просто каталог.
Например, если вы хотите переместить файл с именем todays-notes.txt из ~/Desktop в ~/Documents и переименуйте его в notes.txt, вы можете использовать следующую команду:
Более простым примером может быть, если вы просто переименовываете файл в каталоге, в котором находитесь в данный момент. Так что если бы у вас была опечатка в файле, например indez.html, вы можете просто использовать следующую команду, чтобы переименовать его:
Это переименует файл ‘indez.html’ чтобы он назывался ‘index.html’
Как переместить файл, только если он новее целевого файла?
Если есть файл с именем notes.txt в ~/Desktop, который был создан сегодня, и файл с именем notes.txt в ~/Documents, который был создан вчера, если вы запустите:
Команда переместит и заменит старый файл. Но если файл в ~/Documents был новее, чем файл в ~/Desktop, команда ничего не сделает.
Эта команда также переместит файл, если нет файла с именем notes.txt в ~/Documents.
Как вы перемещаете файлы в Linux?
Оставьте комментарий ниже и сообщите нам о любых полезных примерах для команды mv.