- Копирование, перемещение, переименование и удаление файлов и каталогов в Linux
- Основные команды для работы с файловой системой Linux
- Перемещение по дереву файловой системы
- Действия с файлами и каталогами
- Копирование
- Перемещение и переименование файлов
- Удаление
- Как перемещать файлы и каталоги в Linux (команда mv)
- Как использовать команду mv
- Перемещение нескольких файлов и каталогов
- Параметры команды mv
- Запрашивать перед перезаписью
- Принудительная перезапись
- Не перезаписывать существующие файлы
- Резервное копирование файлов
- Подробный вывод
- Выводы
- Работа с файлами и каталогами в 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 (команда 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-системах.
Требования
Cервер с Ubuntu 20.04
Все команды, описанные ниже, будут работать и в других дистрибутивах Linux.
Расположение каталогов в файловой системе
При входе на сервер, вы, как правило, попадаете в домашний каталог вашей учетной записи, отведенный для хранения файлов и создания директорий.
Для того чтобы узнать, где располагается каталог, в котором мы сейчас находимся, используется команда:
Результат выполнения команды выглядит следующим образом:
Домашний каталог располагается после имени учетной записи пользователя, в приведенном примере он называется /demo. Этот каталог находится в каталоге с именем /home и в каталоге верхнего уровня, который называется root или корневой каталог, поэтому представлен одной косой чертой /.
Просмотр содержимого каталогов
Для просмотра содержимого каталога используется команда ls. Название этой команды является сокращением слов list files.
Просмотреть содержимое любой директории можно следующими способами:
Либо введя команду:
В результате выполнения команды отображаются файлы и каталоги, находящиеся внутри данного каталога:
К команде ls можно добавлять дополнительные флаги, например, чтобы показать детализированное представление (права, список владельцев файлов или папок, размер, дату последнего модифицирования) файлов и директорий в текущей директории, можно использовать флаг -l:
Результат выполнения команды:
Для просмотра списка всех файлов, включая скрытые файлы и каталоги, вы можете добавить флаг -a:
Результат выполнения команды:
Отобразить содержимое текущей директории с добавлением к именам символов, характеризующих тип, можно с помощью команды:
Результат выполнения команды:
Перемещение между каталогами
Для перехода в домашний каталог используется команда cd. Название этой команды является сокращением слов change directory.
Для перехода в домашний каталог пользователя user используется команда:
Для перехода в предыдущую директорию, в которой мы находились до перехода в текущую директорию также используется команда cd.
В Linux-системах каждый файл и каталог находятся в самой верхней директории, которая называется «корневой» и обозначается одним символом слэш /.
Абсолютный путь указывает на расположение каталога по отношению к этой директории верхнего уровня. Это позволяет обращаться к справочникам однозначным образом из любого места в файловой системе.
Каждый абсолютный путь должен начинаться с косой черты — символа слэш /.
Для перехода в директорию уровнем выше используется команда:
Для перехода в директорию двумя уровнями выше:
Операции с файлами и каталогами
У каждой команды имеется множество параметров, чтобы узнать их, наберите команду и параметр —help, например:
Далее приведен список основных команд навигации в консоли Linux.
Создание
Создание файлов производится с помощью команды:
Создание каталогов выполняется с помощью команды вида:
Название этой команды является сокращением слов make directory.
Создание двух каталогов одновременно выполняется с помощью команды:
Для создания дерева каталогов используется команда следующего вида:
Удаление
Для удаления директорий используется команда rmdir имя_директории. Название этой команды является сокращением слов remove directory.
Для удаления файлов используется команда rm. Например, для удаления файла с именем file1 используется команда:
Команда rm также позволяет удалять не только файлы, но и каталоги.
Для удаления директории с именем dir1 со всеми подкаталогами и файлами используется опция -r (от слова recursive):
Можно удалить одновременно две директории со всем их содержимым:
Также можно использовать параметр -f, который означает, что при удалении не будет запрашиваться подтверждение.
Команда для удаления файла будет выглядеть так:
Команда для удаления каталога:
Перемещение
Для перемещения и переименования файлов и каталогов используется команда mv. Название этой команды является сокращением слова move.
Переименовать файл можно с помощью команды:
Для того чтобы переместить файл, используется команда:
Копирование
Для копирования используется команда cp. Название этой команды является сокращением слова copy.
Чтобы скопировать файл file1 и назвать его file2, используется команда:
Для того чтобы копировать директорию dir1 в директорию dir2, используется команда:
Скопировать файл с именем file1 в директорию с именем dir1, можно с помощью команды:
Редактирование файлов
Мы ознакомились с основными командами для работы с каталогами и файлами.
Далее мы изучим, как редактировать файлы и добавлять в них содержание.
Команда nano позволяет работать в одном из самых простых текстовых редакторов командной строки Linux, который занимает весь терминал в течение всего срока его использования.
В результате ввода в терминал команды nano будет открыт чистый файл.
Интерфейс выглядит следующим образом:
В верхней части открывшегося редактора отображается имя приложения и имя файла, который мы редактируем.
В середине должно располагаться содержимое файла, в настоящее время оно пустое.
В нижней части интерфейса расположен ряд комбинаций клавиш, которые указывают с основными элементами управления текстового редактора. Для каждого из них символ ^ означает клавишу CTRL.
Для того чтобы открыть справку используйте сочетание клавиш CTRL-G.
Закрывается справка с помощью сочетания клавиш CTRL-X. После закрытия справки мы возвращаемся к редактированию.
Вводить и редактировать можно любой текст, например, можно ввести: “Hello World!”
Для сохранения внесенных изменений следует нажать сочетание клавиш CTRL-O. Внимание! Это буква О, а не ноль.
Далее система попросит вас ввести либо подтвердить имя файла, который вы хотите сохранить:
Как вы можете видеть, параметры в нижней части окна редактирования также изменились. Они являются контекстными, то есть будут меняться в зависимости от того, что вы пытаетесь сделать.
После ввода имени файла нажмите клавишу ENTER.
Для того чтобы выйти из тестового редактора нажмите сочетание клавиш CTRL-X.
Если вы внесли изменения и не сохранили файл, вам будет предложено сохранить сделанные вами изменения:
Вы можете нажать клавишу Y, чтобы сохранить изменения, клавишу N для отмены изменений и выхода, или сочетание клавиш CTRL-C, чтобы отменить операцию выхода из режима редактирования файла.
Если вы решили сохранить изменения, вам будет предложено сохранить их в том же файле, который был отредактирован.
Нажмите клавишу ENTER, чтобы сохранить файл и выйти из редактора.
Заключение
Мы ознакомились с возможностями просмотра доступных файлов и каталогов, с основными командами для работы с файлами, которые позволяют просматривать, копировать, перемещать и удалять файлы, а также с основами редактирования в текстовом редакторе nano.
Источник