- Копирование, перемещение, переименование и удаление файлов и каталогов в Linux
- Основные команды для работы с файловой системой Linux
- Перемещение по дереву файловой системы
- Действия с файлами и каталогами
- Копирование
- Перемещение и переименование файлов
- Удаление
- Копирование, перемещение, создание и удаление файлов и каталогов
- Копирование файлов и каталогов
- Перемещение и переименование
- Создание файлов и каталогов
- Удаление файлов и каталогов
- Как переместить (переименовать) файл или папку в терминале Linux
- Команда mv
- Как переместить файл в терминале Linux
- Как переименовать файл в терминале Linux
Копирование, перемещение, переименование и удаление файлов и каталогов в Linux
Деятельность системного администратора Linux-систем неразрывно связана с работой в файловой системе. Т. е. с копированием, удалением, перемещением или переименованием файлов и каталогов. Естественно, все эти действия выполняются в командной строке. Поскольку для сервера использование графических оболочек является неоправданной тратой системных ресурсов. Серверная машина должна предоставлять только исчерпывающий инструментарий для выполнения возлагаемых на неё задач. Поэтому использование командной оболочки на сервере — необходимое и достаточное условие для выполнение задач по администрированию. Какой бы «недружелюбной» и на первый взгляд «неудобной» была системная консоль, но выполнение в ней таких элементарных действий как работа с файлами и каталогами определяет основу системного администрирования.
Основные команды для работы с файловой системой Linux
Существует всего несколько команд, которые позволяют гибко управлять файловой системой. На этих командах основаны все файловые менеджеры из комплектов всевозможных графических оболочек для Linux- и UNIX-систем. Набор этих команд включает:
- cd – перемещение по дереву каталогов файловой системы. В качестве параметра указывается пункт назначения — какой-либо каталог по относительному или абсолютному пути;
- ls – просмотр содержимого каталога. По-умолчанию выводит содержимое текущего (активного) каталога, если целевой каталог не задан явно через параметр;
- cp – копирование файлов и каталогов. Первым параметром является источник, вторым — конечный объект-копия;
- rm – удаление файлов. Может использоваться и для удаления каталогов;
- rmdir – удаление каталогов;
- mv – перемещение или переименование файлов или каталогов. В качестве параметров указываются сначала источник, затем конечный объект. Для переименования абсолютные (или относительные) пути для источника и целевого объекта должны совпадать;
- pwd – определение текущего (активного) каталога.
Итого команд меньше десятка, однако это внушительный арсенал.
Перемещение по дереву файловой системы
Чтобы попасть в нужное место файловой системы, например в каталог, в котором хранятся файлы настроек виртуальных хостов Apache, нужно дать команду (для Ubuntu, например):
Теперь команда pwd выведет этот путь, конечный каталог которого (sites-available) стал активным:
Далее, командой ls можно просмотреть содержимое этого каталога и узнать, какие виртуальные хосты доступны веб-серверу:
Или, что, то же самое:
С помощью команды ls можно также просматривать и скрытые файлы и каталоги (имена которых начинаются с символа точки), а также режимы доступа к ним, добавив ключи -a и -l. Нужно заметить, что в случае использования опции -a также будут показаны псевдокаталоги с именами «.» и «. .», обозначающие текущий и каталог уровнем выше соответственно. Например, если требуется запустить какой-либо исполняемый файл (скрипт или программу) в текущем каталоге, то следует дать следующую команду:
Для перехода в каталог, уровнем выше:
Перейти на два уровня выше:
Перейти в каталог 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 можно использовать задание масок с помощью символа звёздочки.
Для ознакомления со всеми доступными для каждой из команд опциями следует использовать ключ —help для вывода краткой справки.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
Копирование, перемещение, создание и удаление файлов и каталогов
Частыми операциями в файловой структуре являются создание файлов и каталогов, их копирование, перемещение, переименование, а также удаление. Очевидно для подобных действий в командной оболочке Linux должны быть предусмотрены специальные команды.
Копирование файлов и каталогов
В Bash для копирования файлов используется команда cp (от «copy»), которой обычно передаются два аргумента:
адрес с именем исходного файла,
новый адрес с именем или просто адрес каталога, куда помещается копия.
Адрес может быть как абсолютным, так относительным. Если операции с файлами выполняются в текущем каталоге, то указывать адрес смысла нет. Пишется только имя исходного файла и имя копии. Поскольку файлов с одинаковыми именами и адресами быть не может, имя копии должно отличаться от имени исходного файла.
cp readme readme2
В данном случае создается копия файла readme, которая остается в той же директории под именем readme2.
cp readme Desktop/
В папку Desktop копируется файл readme. Здесь текущим является родительский Desktop’у каталог. Имена копии и файла оригинала будут совпадать, а вот полные адреса – нет.
cp /home/irina/tux.png /mnt/D/pingvin.png
Здесь копируется файл из одного каталога в другой, используются абсолютные адреса, имя копии изменяется.
Если надо скопировать несколько разных файлов в один и тот же каталог, то после команды cd сначала перечисляются все файлы-оригиналы, а последним указывается каталог, куда помещаются копии. Понятно, что при таком групповом действии имена файлов изменить нельзя.
Чтобы скопировать каталог со всем его содержимым, необходимо использовать ключ -r команды cp:
cp -r ./letters ./oldletters
Перемещение и переименование
В Bash-оболочке Linux для перемещения и переименования используется одна и та же команда – mv (от «move» – перемещать). Переименование можно рассматривать как частный случай перемещения, ведь по-сути изменяется полный адрес файла, что равносильно перемещению, даже если файл остается в том же каталоге.
Также как в случае cp, для mv необходимо указать пару аргументов. Выбор между перемещением и переименованием зависит от того, что это за аргументы. При перемещении файл меняет свой адрес, следовательно, если в первом и втором аргументах указаны разные адреса, то произойдет перемещение. Если адреса одинаковые, а различаются только имена, происходит переименование. Кроме того, перемещение может быть совмещено с переименованием.
В случае перемещения без переименования во втором аргументе указывается только каталог места назначения.
mv document.txt Work
mv document.txt Work/doc23.txt
Здесь в первом случае файл document.txt перемещается в каталог Work. Во-втором случае одновременно происходит перемещение файла и его переименование: файл document.txt перемещается в директорию Work и получает новое имя doc23.txt.
При использовании команды mv для переименования в качестве второго аргумента указывается новое имя:
mv order.txt orderNew.txt
mv Work/list.odt Work/names.odt
Каталоги перемещаются и переименовываются по тому же принципу, что и файлы. Групповое перемещение файлов работает также, как с командой cp.
Создание файлов и каталогов
Новые директории создаются командой mkdir. Например, чтобы создать каталог Work в текущей директории необходимо выполнить следующую команду:
mkdir Work
или
mkdir ./Work
Существует множество способов создания файлов, обычно они создаются какой-либо программой. Если все же возникает необходимость создать пустой файл, сделать это можно с помощью программы touch. В качестве аргумента ей передается имя создаваемого файла. Еще один способ – перенаправление вывода какой-либо команды в файл. Пример:
Здесь программа cal выводит календарь на текущий месяц, а поскольку стоит знак перенаправления вывода, то вывод команды будет записан в файл January, находящийся в папке Work.
Удаление файлов и каталогов
Для удаления файлов используется команда rm. Например:
Командой rmdir можно удалить пустой каталог. Если же каталог не пуст, следует использовать команду rm с ключом -r:
Вопросы
У вас в каталоге есть файлы с разными расширениями. Вам надо группу файлов, имеющих одно и тоже расширение, скопировать в другой каталог. Как это сделать одной командой?
Какой ключ надо использовать, чтобы при перемещении случайно не перезаписать уже имеющийся в каталоге файл с таким именем?
Курс с ответами к заданиям и дополнительными уроками:
android-приложение, pdf-версия.
Источник
Как переместить (переименовать) файл или папку в терминале 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 ».
Источник