Linux переместить каталог с содержимым

Копирование, перемещение, переименование и удаление файлов и каталогов в Linux

Деятельность системного администратора Linux-систем неразрывно связана с работой в файловой системе. Т. е. с копированием, удалением, перемещением или переименованием файлов и каталогов. Естественно, все эти действия выполняются в командной строке. Поскольку для сервера использование графических оболочек является неоправданной тратой системных ресурсов. Серверная машина должна предоставлять только исчерпывающий инструментарий для выполнения возлагаемых на неё задач. Поэтому использование командной оболочки на сервере — необходимое и достаточное условие для выполнение задач по администрированию. Какой бы «недружелюбной» и на первый взгляд «неудобной» была системная консоль, но выполнение в ней таких элементарных действий как работа с файлами и каталогами определяет основу системного администрирования.

Основные команды для работы с файловой системой Linux

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

  • cd – перемещение по дереву каталогов файловой системы. В качестве параметра указывается пункт назначения — какой-либо каталог по относительному или абсолютному пути;
  • ls – просмотр содержимого каталога. По-умолчанию выводит содержимое текущего (активного) каталога, если целевой каталог не задан явно через параметр;
  • cp – копирование файлов и каталогов. Первым параметром является источник, вторым — конечный объект-копия;
  • rm – удаление файлов. Может использоваться и для удаления каталогов;
  • rmdir – удаление каталогов;
  • mv – перемещение или переименование файлов или каталогов. В качестве параметров указываются сначала источник, затем конечный объект. Для переименования абсолютные (или относительные) пути для источника и целевого объекта должны совпадать;
  • pwd – определение текущего (активного) каталога.

Итого команд меньше десятка, однако это внушительный арсенал.

Перемещение по дереву файловой системы

Чтобы попасть в нужное место файловой системы, например в каталог, в котором хранятся файлы настроек виртуальных хостов Apache, нужно дать команду (для Ubuntu, например):

Теперь команда pwd выведет этот путь, конечный каталог которого (sites-available) стал активным:

Далее, командой ls можно просмотреть содержимое этого каталога и узнать, какие виртуальные хосты доступны веб-серверу:

Или, что, то же самое:

С помощью команды ls можно также просматривать и скрытые файлы и каталоги (имена которых начинаются с символа точки), а также режимы доступа к ним, добавив ключи -a и -l. Нужно заметить, что в случае использования опции -a также будут показаны псевдокаталоги с именами «.» и «. .», обозначающие текущий и каталог уровнем выше соответственно. Например, если требуется запустить какой-либо исполняемый файл (скрипт или программу) в текущем каталоге, то следует дать следующую команду:

Читайте также:  При установке mac os yosemite

Для перехода в каталог, уровнем выше:

Перейти на два уровня выше:

Перейти в каталог somedir1, который находится в каталоге уровнем выше:

» используется для обозначения домашнего каталога текущего пользователя, например следующая команда:

переведёт пользователя в каталог с сайтом на CMS Drupal (к примеру…), находящуюся в директории htdocs его домашнего каталога. Если в имени файла или директории присутствуют символы пробела, то в этом случае необходимо такие фрагменты заключать в двойные кавычки:

Действия с файлами и каталогами

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

Копирование

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

Теперь можно вносить специфические для нового виртуального хоста настройки в файле drupal8-devtest.conf.

Для того, чтобы скопировать все файлы в какой-либо директории, очень желательно директорию-источник сделать активной, т. е. предварительно перейти в неё:

В результате все файлы (со всеми поддиректориями и их содержимым) из директории /etc/skel/ скопируются в домашний каталог текущего пользователя. Ключ -R позволяет выполнять копирование рекурсивно, т. е. и для всех поддиректорий, ключ -p указывает команде cp сохранять информацию о владельце и режимах доступа к файлам. По-умолчанию команда cp при копировании перезаписывает уже существующие файлы. Для того, чтобы заставить cp каждый раз запрашивать разрешение на перезапись нужно добавлять ключ -i (интерактивный режим). Можно также указать cp никогда не перезаписывать файлы — для этого служит ключ -n. Символ точки «.» указывает обрабатывать все файлы в текущем каталоге.

Когда нужно скопировать определённые файлы, например, начинающиеся на «drupal» или с определённым расширением, можно воспользоваться заданием маски с помощью символа звёздочки «*»:

Перемещение и переименование файлов

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

просто переименует файл drupal8-devtest.conf на drupal8-devtest_back.conf.

перенесёт тот же файл в директорию backup домашнего каталога текущего пользователя. И даст ему новое имя drupal8-devtest_back.conf.

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

Перемещение файла (или каталога со всем его содержимым) в другое место нужно дать команду:

Для команды mv можно также применять маску для отбора только конкретных файлов/каталогов:

Удаление

Команда rm – одна из самых опасных. При неосмотрительном и невнимательном её использовании можно удалить целую файловую систему, которую придётся потом восстанавливать. Для удаления какого-либо файла нужно выполнить следующую команду:

Очень рекомендуется использовать опцию -i:

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

Читайте также:  Не грузиться windows приветствие

Для ознакомления со всеми доступными для каждой из команд опциями следует использовать ключ —help для вывода краткой справки.

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

Источник

Как переместить файлы и каталоги в Linux (mv Command)

How to Move Files and Directories in Linux (mv Command)

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

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

Как использовать mv команду

Команда mv (короткая от перемещения) используется для переименования и перемещения файлов и каталогов из одного места в другое. Синтаксис 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 каталог.

Читайте также:  Установка windows с флэшу

Резервное копирование файлов

Если целевой файл существует, вы можете создать его резервную копию с помощью -b опции:

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

добавлена функция тильды ( ).

Используйте команду ls, чтобы убедиться, что резервная копия была создана:

Подробный вывод

Еще одна полезная опция -v . Когда эта опция используется, команда печатает имя каждого перемещенного файла:

Вывод

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

Для получения дополнительной информации о mv команде проверьте страницу руководства или введите man mv свой терминал.

Новые пользователи Linux, которых пугает командная строка, могут использовать файловый менеджер GUI для перемещения своих файлов.

Источник

Перемещаем папки и файлы в терминале 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

Источник

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