- Перемещаем папки и файлы в терминале Linux
- Перемещение командой mv
- Команда mv с опцией -i
- Заключение
- Как переместить (переименовать) файл или папку в терминале Linux
- Команда mv
- Как переместить файл в терминале Linux
- Как переименовать файл в терминале Linux
- Как перемещать файлы и каталоги в Linux (команда mv)
- Как использовать команду mv
- Перемещение нескольких файлов и каталогов
- Параметры команды mv
- Запрашивать перед перезаписью
- Принудительная перезапись
- Не перезаписывать существующие файлы
- Резервное копирование файлов
- Подробный вывод
- Выводы
- Копирование файлов в Linux
- Утилита копирования файлов cp
- Синтаксис и опции
- Примеры копирования файлов в linux
- Копирование файлов по регулярным выражениям в Linux
- Копирование содержимого файлов в Linux
- Специальное копирование файлов в Linux с помощью tar
- Выводы
Перемещаем папки и файлы в терминале Linux
И снова продолжаем осваивать терминал в Linux, на сей раз мы будем перемещать папки и файлы. Данные навыки вам могут пригодится например при установке программного обеспечения, взять хотя бы установку плагина v2ray для прокси Shadowsocks. Ну и конечно в тех случаях, когда у вас нет окружения рабочего стола. Не важно при каких условиях, я уже не однократно говорил что знание терминала это основа Linux. Для перемещения используется команда “mv”, в различных ситуациях вам так же может понадобится и root права, все зависит в какой каталог вы перемещаете файл или папку. И так, от слов к делу, в данной статье я буду показывать пример перемещения файла “test-mv”, но все те же действия можно применять и к папкам.
Перемещение командой mv
Для того что бы переместить файл или папку, необходимо ввести команду “mv”, затем указать путь до нужного файла или папки, а далее указываем куда хотим переместить. Например, мне необходимо переместить файл “test-mv” из директории “/tmp” в директорию “Документы”. Для этого так же необходимы права root. И так, давайте переместим данный файл, вводим команду “mv”, после чего указываем путь до директории “/tmp” и название файла “test-mv”, а затем указываем куда хотим переместить:
Команда mv с опцией -i
Как в случае с копированием, если у вас уже имеются файлы с таким же именем в директории куда вы перемещаете файлы, то они попросту перезапишутся. Для того что бы этого избежать, можно использовать опцию “-i”. В этом случае у вас будет выбор, перезаписать или нет. Вы можете указать букву “y” для того что бы перезаписать файл, или букву “n”, что бы отменить перемещения:
Заключение
Имеется небольшая хитрость при копировании и перемещении файлов и папок, если вы введете команду “ls -al”, то увидите точку и двоеточие в начале списка. Одна точка означает текущую директорию, а двоеточие означает переход на одну директорию вверх:
Исходя из этих данных, можно копировать файлы используя эти точки. То есть, если я нахожусь в домашней директории пользователя и мне необходимо скопировать или переместить файл “test-mv” из директории “/tmp” в текущую директорию, можно ввести точку. На примере это будет выглядеть следующим образом:
Зная эти небольшие хитрости, можно значительно упростить ввод команд. А так же для получения справки, можно ввести команду:
А на этом сегодня все. Надеюсь данная статья будет вам полезна.
Журнал Cyber-X
Источник
Как переместить (переименовать) файл или папку в терминале Linux
При работе с Linux через терминал часто приходится выполнять различные операции с файлами. Например, редактировать конфигурационные файлы, скачивать архивы, делать резервные копии и т. д.
В данной статье мы рассмотрим операции перемещения и переименования файлов. Здесь вы узнаете, как перемещать и переименовывать файлы через терминал Linux. Материал будет актуален для любого дистрибутива Linux, например, Ubuntu, Debian или CentOS.
Команда mv
Для перемещения и переименования файлов в Linux используется команда mv . Это служебная программа для командной строки, которая позволяет перемещать или переименовывать файлы и папки.
Синтаксис команды mv выглядит следующим образом:
Основные опции для данной команды:
-f | Перезапись без подтверждения пользователя. Данная опция отменяет действие опций -i или -n. |
-i | Интерактивный режим работы. При перезаписи программа будет выдавать запрос на подтверждения пользователя. |
-n | Запрет перезаписи. Данная опция отменяет действие опций -f или -i. |
-v | Вывод подробной информации. |
Обратите внимание, по умолчанию команда mv перезаписывает существующие файлы новыми. Чтобы этого избежать используйте опцию -i или -n .
Как переместить файл в терминале Linux
Для того чтобы переместить файл в другой каталог при помощи команды mv достаточно ввести данную команду, указать файл и его новое место расположения. Например, для того чтобы переместить файл « file.txt » во вложенную папку « temp » нужно выполнить:
При необходимости можно переместить сразу несколько файлов. Для этого нужно перечислить файлы и в конце указать новое место назначение. Например, для того чтобы переместить « file.csv » и « file.txt » в папку « temp » нужно выполнить:
Также для перемещения нескольких файлов можно использовать маску. Например, для того чтобы переместить все файлы с расширением txt нужно выполнить следующее:
Аналогичным способом можно перемещать и папки, как пустые, так и с файлами и вложенными папками. Например, для того чтобы переместить папку « test » в папку « temp » нужно выполнить:
При перемещении файлов или папок можно сразу указать для них и новое имя. Например, для того чтобы переместить « file.txt » в папку « temp » и переименовать его в « old_file.txt » нужно выполнить:
Как переименовать файл в терминале Linux
Также команду mv можно использовать для переименования файлов или папок без изменения места их расположения. Для этого достаточно ввести команду mv , указать файл или папку, а также новое название. Например, для того чтобы переименовать папку « temp » в « trash » нужно выполнить:
Обратите внимание, если бы папка « trash » существовала, то данная команда выполнила бы перемещение папки « temp » внутрь папки « trash ».
Источник
Как перемещать файлы и каталоги в Linux (команда mv)
Перемещение файлов и каталогов — одна из самых основных задач, которые вам часто приходится выполнять в системе Linux.
В этом руководстве мы объясним, как использовать команду mv для перемещения файлов и каталогов.
Как использовать команду mv
Команда mv (сокращение от move) используется для переименования и перемещения файлов и каталогов из одного места в другое. Синтаксис команды mv следующий:
SOURCE может быть одним или несколькими файлами или каталогами, а DESTINATION может быть одним файлом или каталогом.
- Когда в качестве SOURCE задано несколько файлов или каталогов, DESTINATION должен быть каталогом. В этом случае файлы SOURCE перемещаются в целевой каталог.
- Если вы укажете один файл как SOURCE , а целью DESTINATION является существующий каталог, то файл будет перемещен в указанный каталог.
- Если вы укажете один файл в качестве SOURCE и один файл в качестве цели DESTINATION вы переименуете файл .
- Если SOURCE является каталогом, а DESTINATION не существует, SOURCE будет переименован в DESTINATION . В противном случае, если DESTINATION существует, он будет перемещен в каталог DESTINATION .
Чтобы переместить файл или каталог, вам необходимо иметь права на запись как в SOURCE и в DESTINATION . В противном случае вы получите сообщение об ошибке в разрешении отказано.
Например, чтобы переместить файл file1 из текущего рабочего каталога в каталог /tmp вы должны запустить:
Чтобы переименовать файл, вам необходимо указать имя файла назначения:
Синтаксис перемещения каталогов такой же, как и при перемещении файлов. В следующем примере, если каталог dir2 существует, команда переместит dir1 внутрь dir2 . Если dir2 не существует, dir1 будет переименован в dir2 :
Перемещение нескольких файлов и каталогов
Чтобы переместить несколько файлов и каталогов, укажите файлы, которые вы хотите переместить, в качестве источника. Например, чтобы переместить файлы file1 и file2 в каталог dir1 , введите:
Команда mv также позволяет использовать сопоставление с образцом. Например, чтобы переместить все файлы pdf из текущего каталога в каталог
/Documents , вы должны использовать:
Параметры команды mv
Команда mv принимает несколько параметров, которые влияют на поведение команды по умолчанию.
В некоторых дистрибутивах Linux mv может быть псевдонимом команды mv с настраиваемым набором параметров. Например, в CentOS mv — это псевдоним mv -i . Вы можете узнать, является ли mv псевдонимом, используя команду type :
Если mv является псевдонимом, вывод будет выглядеть примерно так:
Если указаны конфликтующие варианты, последний имеет приоритет.
Запрашивать перед перезаписью
По умолчанию, если целевой файл существует, он будет перезаписан. Чтобы запросить подтверждение, используйте параметр -i :
Чтобы перезаписать файл типа y или Y
Принудительная перезапись
Если вы попытаетесь перезаписать файл, доступный только для чтения, команда mv спросит вас, хотите ли вы перезаписать файл:
Чтобы не получать подсказки, используйте параметры -f :
Эта опция особенно полезна, когда вам нужно перезаписать несколько файлов, доступных только для чтения.
Не перезаписывать существующие файлы
Параметр -n указывает mv никогда не перезаписывать существующие файлы:
Если существует file1 приведенная выше команда ничего не сделает. В противном случае он переместит файл в каталог /tmp .
Резервное копирование файлов
Если целевой файл существует, вы можете создать его резервную копию, используя параметр -b :
Файл резервной копии будет иметь то же имя, что и исходный файл, с добавленной к нему тильдой (
Используйте команду ls, чтобы убедиться, что резервная копия была создана:
Подробный вывод
Другой вариант, который может быть полезен, — это -v . Когда используется эта опция, команда печатает имя каждого перемещенного файла:
Выводы
Команда mv используется для перемещения и переименования файлов и каталогов.
Для получения дополнительных сведений о команде mv страницу руководства или введите в терминале man mv .
Новые пользователи Linux, которых пугает командная строка, могут использовать файловый менеджер с графическим интерфейсом для перемещения своих файлов.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Источник
Копирование файлов в Linux
Копирование файлов — одна из задач, наиболее часто возникающих перед пользователями персонального компьютера. Конечно, можно открыть файловый менеджер, войти в нужную папку и скопировать файл с помощью контекстного меню — тут не о чем говорить. Но в этой статье я хотел бы рассмотреть копирование файлов в Linux с помощью терминала.
Не всегда есть доступ к файловому менеджеру: из-за различных поломок графическая оболочка на домашнем компьютере может быть недоступна, а на серверах используется только консольный интерфейс. К тому же копирование файлов Ubuntu через терминал намного эффективнее, и вы сами в этом убедитесь. Сегодня мы рассмотрим не только обычное копирование командой cp Linux, но и не совсем обычное: с помощью tar и find.
Утилита копирования файлов cp
Название утилиты cp — это сокращение от Copy, что означает копировать. Утилита позволяет полностью копировать файлы и директории.
Синтаксис и опции
Общий синтаксис cp выглядит вот так:
$ cp опции файл-источник файл-приемник
$ cp опции файл-источник директория-приемник/
После выполнения команды файл-источник будет полностью перенесен в файл-приемник. Если в конце указан слэш, файл будет записан в заданную директорию с оригинальным именем.
Утилита имеет несколько интересных опций, которые могут сильно помочь при нестандартных задачах копирования, поэтому давайте их рассмотрим:
- —attributes-only — не копировать содержимое файла, а только флаги доступа и владельца;
- -f, —force — перезаписывать существующие файлы;
- -i, —interactive — спрашивать, нужно ли перезаписывать существующие файлы;
- -L — копировать не символические ссылки, а то, на что они указывают;
- -n — не перезаписывать существующие файлы;
- -P — не следовать символическим ссылкам;
- -r — копировать папку Linux рекурсивно;
- -s — не выполнять копирование файлов в Linux, а создавать символические ссылки;
- -u — скопировать файл, только если он был изменён;
- -x — не выходить за пределы этой файловой системы;
- -p — сохранять владельца, временные метки и флаги доступа при копировании;
- -t — считать файл-приемник директорией и копировать файл-источник в эту директорию.
Примеры копирования файлов в linux
Теперь, когда вы знаете основные опции, можно перейти к практике. Например, мы хотим скопировать некую картинку из домашней папки в подкаталог pictures:
Или можем явно указать имя новой картинки:
Копирование папок осуществляется с помощью ключа -r:
После выполнения этой команды копирования
/папка будет скопирована в папку
/Документы. Главное, не забывайте поставить слэш в конце выражения или использовать опцию -t. Иначе папка
/документы будет перезаписана.
По умолчанию команда cp Linux перезаписывает существующие файлы или папки, но можно заставить утилиту спрашивать, нужно ли перезаписывать каждый файл, если вы не уверены в правильности составления команды:
Есть и противоположная опция -n, означающая «никогда не перезаписывать существующие файлы».
Опция -u полезна в следующем случае: вы знаете или предполагаете, что в директории, куда копируется файл, есть старая его версия, тогда оператор -u выполнит замену на новую версию:
Сp также поддерживает специальные символы замены * и ?. Например, следующая команда скопирует все файлы, начинающиеся на test:
Если нужно применить более сложные регулярные выражения, придётся комбинировать утилиту cp с find или egrep.
В случае, если важно сохранить права доступа к файлу и его владельца, нужно использовать опцию -p:
Для упрощения использования команды можно применять синтаксис фигурных скобок. Например, чтобы создать резервную копию файла, выполните:
Будет создан файл с таким же именем и расширением .bak
По умолчанию в cp не отображается прогресс копирования файла, что очень неудобно при работе с большими файлами, но его можно легко посмотреть с помощью утилиты cv.
Копирование файлов по регулярным выражениям в Linux
В утилите find можно применять различные условия и регулярные выражения для поиска файлов. Я уже немного писал о ней в статье как найти новые файлы в Linux. Мы можем скопировать все найденные с помощью find файлы, вызвав для каждого из них команду cp. Например, копируем все файлы в текущей директории, содержащие в имени только цифры:
find . -name 5 -exec cp <>
Здесь точка указывает на текущую директорию, а параметр name задает регулярное выражение. Параметром exec мы задаем, какую команду нужно выполнить для обнаруженных файлов. Символ <> — подставляет имя каждого файла.
Но не find‘ом единым такое делается. То же самое можно получить, запросив список файлов директории в ls, отфильтровав его по регулярному выражению egrep и передав имена файлов по очереди в cp с помощью xargs:
/ | egrep ‘[a-zA-Z]’ | xargs cp -t
Это не совсем удобный способ копировать файлы Linux, но всё же он возможен. Будут скопированы все файлы из домашней директории, содержащие в имени только английские буквы.
Копирование содержимого файлов в Linux
Вы можете не только копировать сами файлы, но и управлять их содержимым. Например, склеить несколько файлов в один или разрезать файл на несколько частей. Утилита cat используется для вывода содержимого файла, в комбинации с операторами перенаправления вывода Bash вы можете выполнять копирование содержимого файла Linux в другой файл. Например:
cat файл1 > файл2
Если файл был не пустым, он будет перезаписан. Или мы можем склеить два отдельных файла в один:
cat файл1 файл2 > файл3
Специальное копирование файлов в Linux с помощью tar
Linux интересен тем, что позволяет выполнять одно и то же действие различными путями. Копирование в Linux тоже может быть выполнено не только с помощью cp. При переносе системных файлов в другой каталог, резервном копировании системных файлов и т.д. важно чтобы сохранились атрибуты, значения владельцев файлов и символические ссылки как они есть без какой-либо модификации.
Утилита cp тоже может справиться с такой задачей? если указать опцию -p, но можно использовать утилиту архивации tar. Мы не будем создавать никаких файлов архивов, а построим туннель. Первая часть команды пакует файл и отправляет на стандартный вывод, а другая сразу же распаковывает в нужную папку:
tar cf — /var | ( cd /mnt/var && tar xvf — )
Здесь мы полностью копируем содержимое папки /var в папку /mnt/var. Так вы можете копировать папку Linux, причём абсолютно любую или даже целую операционную систему.
Выводы
Теперь вы знаете, как выполняется копирование файлов Ubuntu и в Linux в целом. Как видите, в терминале это выполняется намного быстрее и эффективнее, чем с помощью графического интерфейса, если помнить нужные команды. Если у вас остались вопросы, спрашивайте в комментариях!
Источник