Green-sell.info

Новые технологии
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Создать каталог в linux

ИТ База знаний

Полезно

— Узнать IP — адрес компьютера в интернете

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Калькулятор инсталляции IP — АТС Asterisk

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Навигация

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Популярное и похожее

Установка VirtualBox 6.0 на Linux

Как восстановить пароль от root в CentOS 7

Как дать пользователю sudo права в CentOS 8

Установка Oracle Java 11 и OpenJDK 11 в CentOS 8 и RHEL 8

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

4 минуты чтения

Во многих наших статьях проскакивают различные команды, связанные с файловыми манипуляциями – создание директорий, файлов, установка пакетов и т.д. В данной статье мы решили начать повествование последовательно.

Основы

Итак, в Linux в отличие от Windows существует понятие полного и относительного пути. Разница между ними в том, что полный путь всегда начинается с корневого каталога (корневой каталог обозначается как /), и далее также через слеш происходит перечисление всех названий каталогов на пути к искомому файлу или директории, а в случае относительного пути – в начале слеш не указывается. То есть без слеша путь указывается относительно нынешнего местоположения, а со слешем – относительно корневого каталога. Примеры:

/tmp/file1 — относительный путь;

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

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

Команд довольно много, я перечислю самые, на мой взгляд, часто используемые:

  1. cd — смена директории на домашнюю, можно добавлять аргументы – к примеру, cd /root ;
  2. pwd — команда покажет текущий путь к директории, в которой вы находитесь в данный момент;
  3. ls — вывод списка файлов и каталогов по порядку (наверное, самая известная команда) если добавить модификаторы lax , то команда выведет форматированный список всех файлов и директорий (в том числе скрытые);
  4. cat — показывает содержимое файла, к примеру – cat /root/file.txt ;
  5. tail — например, tail /root/file.txt , выводит только конец файла, удобно при работе с логами;
  6. cp — копирование директории или файла, то есть cp /root/file.txt /etc/folder1/file.txt – из /root файл будет скопирован в указанную директорию
  7. mkdir — создание директории, например, mkdir /root/1 ;
  8. rmdir — удаление директории, синтаксис такой же, как и у команды выше;
  9. rm -rf — очень опасная команда (и довольно популярная в интернет фольклоре), но иногда и она может пригодиться – она удаляет директорию со вложенными файлами;
  10. mv — переименование файла или директории, сначала указывается целевая директория и затем её новое название;
  11. locate — поиск файла с заданным названием;

Для наглядности, посмотрите на вывод команды tail

В примере выше, команда tail вывела только последние 11 строк.

Работа с архивами

Работа с .tar архивами – очень часто встречающаяся задача, поэтому хотим привести несколько полезных команд, чтобы не пришлось лишний раз пользоваться поисковиком 🙂

  • tar cf example.tar /home/example.txt — создание .tar архива, который будет содержать в себе текстовый файл example.txt;
  • tar cjf example1.tar.codez2 /home/example1.txt — команда с тем же функционалом, только будет использоваться сжатие Bzip2;
  • tar czf example2.tar.gz /home/example2.txt — опять архивация, только на этот раз со сжатием Gzip;
  • tar xf example.tar — распаковка архива в текущую директорию, если тип сжатия нестандартный, то после расширения нужно добавить тип сжатия (.codez2 или .gz соответственно);
Работа с .rpm пакетами

Так как мы больше всего рассказываем и пишем про FreePBX, который по умолчанию скачивается с официального сайта вместе c СentOS, здесь место для пары команд по работе c RPM пакетами. Почему? Потому что CentOS – RPM-based Linux Distribution 🙂 Команды требуют наличие прав супер — пользователя.

  • rpm -qa — вывод списка всех установленных RPM пакетов в системе;
  • rpm –i rpmpackage.rpm — установка пакета с именем rpmpackage;
  • rpm –e rpmpackage — удаление пакета с таким именем;
  • dpkg -i *.rpm — установка всех пакетов в директории;
Про жёсткие диски

Команда fdisk –l выводит информацию о всех подключенных жёстких и сменных дисках в системе, бывает очень полезной. Ниже пример вывод этой команды (в качестве пример рассматривается OTRS — сервер)

Полезна ли Вам эта статья?

Пожалуйста, расскажите почему?

Нам жаль, что статья не была полезна для вас 🙁 Пожалуйста, если не затруднит, укажите по какой причине? Мы будем очень благодарны за подробный ответ. Спасибо, что помогаете нам стать лучше!

Подпишитесь на нашу еженедельную рассылку, и мы будем присылать самые интересные публикации 🙂 Просто оставьте свои данные в форме ниже.

Создание и перемещение файлов в Linux

В любой операционной системе главная задача, которую выполняет любой пользователь, – работа с файлами. В Windows большинство операций, связанных с созданием, перемещением и изменением директорий и файлов, выполняется с помощью графического интерфейса. Создание каталога в Linux стоит рассматривать отдельно, так как ОС на основе этого ядра позволяют решать множество задач различными методами, каждый из которых может быть удобен в той или иной ситуации.

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

В Unix-системах применяется принцип иерархии. Файловое хранилище представляет собой дерево каталогов с корневой директорией «/». Далее можно добавлять и удалять различные ветви, путем их монтирования и демонтирования.

Второй особенностью Linux можно назвать терминал. Несмотря на то, что консоль имеется и в других ОС, именно в Linux она получила большое признание. В терминале можно значительно ускорить работу с системой и ее содержимым.

Команды, с которыми пользователь может столкнуться на первоначальном этапе, – pwd и file . Первая позволяет узнать имя текущего каталога, вторая – тип элемента и некоторые свойства.

Команда file в Linux классифицирует операнды, перечисленные в командной строке. Например, для текстовых файлов реализована возможность определять язык программирования по первым 512 байтам, а для исполняемых – номер версии.

Основные операции с файлами и каталогами

Организация файлового хранилища – основная составляющая работы за компьютером. Создание, перемещение, копирование, удаление – лишь часть операций, с которыми пользователь сталкивается ежедневно. Их реализация возможна через графическую оболочку и через терминал. Поэтому стоит перечислить основные команды для работы с файлами и каталогами в Linux:

  • ls – просмотр содержимого папки;
  • cd – изменение директории;
  • rm – удаление файла;
  • rmdir – удаление папки;
  • mkdir – создание каталога;
  • mv – перемещение файла;
  • cp – копирование файла;
  • find – поиск файла по параметрам;
  • chmod – изменение разрешений.

Каждая из утилит имеет дополнительные опции, позволяющие организовывать работу по определенным принципам, либо обрабатывать информацию массово, поэтому стоит рассмотреть основные из них подробнее.

Создание

Для создания каталога в Linux применяют mkdir. Она позволяет создать подпапку в текущей директории либо в другой папке, но тогда необходимо ввести полный путь до нее. Для выполнения требуются права на запись в указанном каталоге.

Обязательный параметр утилиты – имя новой папки. Можно указать и дополнительные:

  • -m – установка прав доступа (-m 755);
  • -p – создание промежуточных директорий.

Для создания текстового документа можно воспользоваться консольным редактором, например, Namo или Vi. Так, для запуска второго нужно ввести в терминал:

Читать еще:  Linux win 10

После этого откроется поле для ввода информации.

В консоли Linux возможны и другие способы создания файлов. Самым простым способом является использование оператора перенаправления:

Так, можно записать результат выполнения любой команды в текстовый документ. Например:

В результате будет посчитана MD5-сумма и записана в file.txt.

Но чаще для решения такой задачи используют утилиту touch:

Она создает новый документ. При указании имени, которое уже имеется, для существующего элемента обновится дата изменения.

Копирование

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

cp file new_file

Cp позволяет скопировать целую папку со всеми вложениями. Для этого предназначен параметр -r:

cp -r /etc /etc_new

Перемещение

Перемещение в Linux работает по тому же принципу, что и копирование, без сохранения исходного документа. Для этого в терминале необходимо выполнить:

mv file new_file

Для перемещения нужно указать путь к требуемому каталогу:

mv file /home/user/tmp/newdir

Утилита имеет несколько опций:

  • -f – принудительная замена при существовании элемента с таким же именем;
  • -i – уведомление, что одноименный документ уже существует;
  • -n – пропуск при возникновении вышеописанной ситуации;
  • -u – замена, если в документе есть изменения;
  • -v – вывод результата выполнения.

Переименование

Здесь также используется утилита mv. Дело в том, что если действия производить в одном каталоге, то происходит изменение исходного файла или папки.

Так, для переименования каталога «dir» в «folder» нужно задать следующую команду:

Linux позволяет выполнить рекурсивное переименование всех вложенных каталогов и документов заданием параметра -R .

Удаление

Для удаления элементов применяют команду rm . Если она запускается из другого каталога, необходимо указать полный путь:

Чтобы удалить папку, команда видоизменяется – rmdir :

Для рекурсивного удаления всех вложенных документов и папок указывают параметр -r для rm :

rm -r /home/user/video/

Поиск

Поиск по каталогам в Linux производится с помощью команды find. Его шаблонная запись выглядит следующим образом:

find путь/к/директории опции

Обычно указывают полный путь, однако возможны и частные варианты:

  • «.» – поиск в текущей папке;
  • «/» – поиск относительно корня хранилища;
  • «

» – поиск в домашней папке.

Опции find дают возможность задать условия поиска:

  • -name – искать по имени;
  • -user – искать среди файлов пользователя;
  • -type – искать по типу, например, d – каталог, f – файл, l – ссылка;
  • -size (-n, +n, n) – искать элементы с размером не более (-), не менее (+) или равное n;
  • -mtime (-n, +n) – искать файлы, модифицированные менее (-) или более (+) чем n дней назад.

Заключение

Создание каталога в Linux, а также выполнение с ним различных операций, значительно упрощается, если все действия выполняются в терминале. Уже в процессе создания, копирования и перемещения есть возможность указать параметры, среди которых имя и права доступа. Более того, при необходимости создать несколько вложенных директорий, их можно сразу задать в одной строке, что, несомненно, является плюсом.

4 мин для чтения Как создать каталог в Linux с помощью команды mkdir

Введение

Команда, которая используется для создания каталогов является MkDir. Эта статья показывает вам основной способ создания каталогов в Linux, а также охватывающих все доступные переключатели.

Как создать новый каталог

Самый простой способ создать новый каталог выглядит следующим образом:

Например , если вы хотите создать каталог в вашей домашней папке под названием тест, откройте окно терминала и убедитесь, что вы находитесь в вашей домашней папке (используйте команду cd

Изменение права доступа на новый каталог

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

В последнем разделе я показал вам, как создать каталог под названием тест. Выполнение команды ls покажет вам разрешения для этого каталога:

Скорее всего вы будете иметь что-то вроде этого:

Биты , которые интересуют нас являются drwxr-xr-x owner и group

d говорит нам, что тест является каталогом.

Первые три символа после d разрешения для владельца каталога, указанного по имени владельца.

  • г – для чтения
  • w – обозначает запись
  • х означает выполнение (которое в данном случае означает, что вы можете получить доступ к папке)

Следующие три символа являются правами доступа группы для файла, указанного в названии группы. Опять же варианты r,w и x – означает, что разрешение отсутствует. В приведенном выше примере кто-нибудь, принадлежащий к группе может получить доступ к папке и читать файлы, но не может записать в папку.

Последние три символа являются правами доступа, что все пользователи имеют и как вы можете видеть в приведенном выше примере это такие же, как и права доступа для группы.

Чтобы изменить разрешения для файла или папки можно использовать chmod команду.Команда chmod позволяет определить 3 номера, которые устанавливают права доступа.

  • права на чтение = 4
  • написать разрешения = 2
  • разрешения на выполнение = 1

Для того, чтобы получить смесь разрешений вы добавляете числа вместе. Например,

  • чтобы получить чтение и выполнение номер вам нужно 5,
  • чтобы получить разрешение на чтение и запись их – число 6
  • получить запись и выполнение их – число 3.

Помните, вам нужно указать 3 номера в составе команды chmod. Первое число для владельца разрешений, второй номер для группы разрешений и последний номер для всех остальных.

Например, чтобы получить полные права на владельца, чтение и выполнение разрешения на группы и никаких разрешений для кого-либо еще, введите следующую команду:

Если вы хотите изменить имя группы, владеющей папкой, то это делается с помощью командыchgrp.

Например представьте, что вы хотите создать каталог, к которой все бухгалтеры в вашей компании могут получить доступ.

Прежде всего надо создать учетные записи групп, введя следующее:

Если у вас нет правильного разрешения на создание группы вам может понадобиться использовать sudo, чтобы получить дополнительные привилегии или переключиться на счет с действительными разрешениями при помощи команды su.

Теперь вы можете изменить группу для папки, введя следующее:

Если никому в группе чтение, записи и выполнения доступа, а также владельца, а только для чтения для всех остальных, вы можете использовать следующую команду:

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

Приведенная выше команда добавляет группу учетных записей в список вторичных групп к которым пользователь имеет доступ.

Как создать каталог и установить разрешения

Вы можете создать каталог и установить разрешения для этого каталога в то же время, используя следующую команду:

Приведенная выше команда создаст папку, к которой каждый имеет доступ. Очень редко, чтобы вы хотели создать что-либо с такого рода разрешений.

Создать папку и указать родителя

Представьте, что вы хотите создать структуру каталогов, но вы не хотите создавать каждую отдельную папку по пути.

Например, вы можете создавать папки для вашей музыки следующим образом:

  • / Главная / музыка / рок / Элис Купер
  • / Главная / музыка / рок / Кипелов
  • / Главная / музыка / рэп / Децл
  • / Главная / музыка / джаз / Луи Джордан

Было бы неудобно создать папку рок, затем Элиса Купера, а затем создать папку рэпа и папку Децл, а затем папку джаз, а затем папку Луи Джордан.

Задавая следующий переключатель вы можете создать все родительские папки на лету, если они уже не существуют.

Например, чтобы создать одну из папок, перечисленных выше, попробуйте выполнить следующую команду:

Получение подтверждения о том, что каталог был создан

По умолчанию команда MkDir не скажет вам, если каталог, который вы создаете был успешно создан. Если ошибки не появляются, то вы можете предположить, он создан.

Если вы хотите получить более подробный вывод так, что вы знаете, что было создано с помощью следующего переключателя.

Выходной сигнал будет такой mkdir: created directory /path/to/directoryname.

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

Как создать папку Ubuntu

Эта статья ориентированна на самых начинающих. Для тех кто только-только начал разбираться с операционной системой Ubuntu. Хранить файлы все свои файлы в одной папке очень неудобно, а стандартных папок со временем начнет не хватать. Кроме того, может понадобится создать папку для временных файлов или какой-нибудь программы. Сегодня мы рассмотрим как создать папку в Ubuntu. Мы поговорим о том как создать папку linux с помощью файлового менеджера, а также рассмотрим различные способы создания папки в терминале.

Способ 1 Файловый менеджер

Сначала нужно открыть файловый менеджер Nautilus. Для этого кликните по его ярлыку на панели Unity или в меню Dash:

Дальше перейдите в каталог, в котором вы хотите создать новую папку:

Создать папку Ubuntu можно в контекстном меню. Просто кликните правой кнопкой мыши по свободной области файлового менеджера для вызова меню. Затем выберите пункт «создать папку»:

Теперь осталось указать имя папки. Оно может содержать любые буквы, цифры, а также все символы, кроме косой черты. Linux в этом плане отличается от Windows и вы можете назвать свою папку как захотите, без ограничений:

Чтобы сохранить изменения еще раз кликните в свободном месте файлового менеджера.

Способ 2. Терминал

Новички, как правило, не хотят пользоваться терминалом, считают его слишком сложным. Но с чего-то же надо начинать, поэтому здесь мы рассмотрим как создать папку через терминал Ubuntu.

Создание папок в Linux выполняется с помощью замечательной утилиты — mkdir. Все что она может — это создавать папки. Рассмотрим ее синтаксис:

$ mkdir опции имя_папки

Опций в утилиты не так много, а передавать программе вы чаще всего будете только один параметр — имя папки

Давайте попробуем. Откройте терминал (Нажмите сочетание клавиш Ctrl+Alt+T) и наберите следующую команду:

В текущей директории будет создана папка с указанным именем. Если нужно создать папку в другой директории, перед именем укажите путь к той директории:

Утилита создаст папку в подпапке загрузки. Можно использовать не только путь относительно текущей папки, но и указать полный путь в файловой системе:

Это собственно все основное. Но еще я хочу вам показать на что способен терминал в отличие от графических программ.

Например, нам нужно создать несколько папок, тогда можно сделать все одной командой:

Если нужно создать папку Ubuntu, а в ней еще несколько папок, можно воспользоваться командой:

Или, например, сложная структура:

Выводы

В этой статье я рассказал как создать папку в Ubuntu. Это очень просто. К тому же, как вы увидели, все можно делать намного эффективнее с помощью консольных команд.

Десерт на сегодня — птичка, которая отлично имитирует звуки из Звездных войн:

Создать каталог в linux

В предыдущих разделах мы уже упоминали некоторые команды для работы с файлами и каталогами: pwd, cd, ls, ln, chmod. В этом разделе рассмотрим (очень кратко) еще несколько часто используемых команд.

4.6.1. Команды chown и chgrp

Эти команды служат для смены владельца файла и группы файла. Выполнять смену владельца может только суперпользователь, смену группы может выполнить сам владелец файла или суперпользователь. Для того, чтобы иметь право сменить группу, владелец должен дополнительно быть членом той группы, которой он хочет дать права на данный файл. Формат этих двух команд аналогичен:

[root]# chown vasja имя-файла

[root]# chgrp usersgrp имя-файла

4.6.2. Команда mkdir

Команда mkdir позволяет создать подкаталог в текущем каталоге. В качестве аргумента этой команде надо дать имя создаваемого каталога. Во вновь созданном каталоге автоматически создаются две записи: . (ссылка на этот самый каталог) и .. (ссылка на родительский каталог). Чтобы создать подкаталог, вы должны иметь в текущем каталоге право записи. Можно создать подкаталог не в текущем, а в каком-то другом каталоге, но тогда необходимо указать путь к создаваемому каталогу:

[user]$ mkdir /home/kos/book/glava5/part1

Команда mkdir может использоваться со следующими опциями:

-m mode — задает режим доступа для нового каталога (например, -m 755 ) ;

-p — создавать указанные промежуточные каталоги (если они не существуют).

4.6.3. Команда cat

Команда cat часто используется для создания файлов (хотя можно воспользоваться и командой touch ). По команде cat на стандартный вывод (т. е. на экран) выводится содержимое указанного файла (или нескольких файлов, если их имена последовательно задать в качестве аргументов команды). Если вывод команды cat перенаправить в файл, то можно получить копию какого-то файла:

[user]$ cat file1 > file2

Собственно, первоначальное предназначение команды cat как раз и предполагало перенаправление вывода, так как эта команда создана для конкатенации, т. е. объединения нескольких файлов в один:

[user]$ cat file1 file2 . fileN > new-file

Именно возможности перенаправления ввода и вывода этой команды и используются для создания новых файлов. Для этого на вход команды cat направляют данные со стандартного ввода (т. е. с клавиатуры), а вывод команды — в новый файл:

[user]$ cat > newfile

После того, как вы напечатаете все, что хотите, нажмите комбинацию клавиш + или + , и все, что вы ввели, будет записано в newfile . Конечно, таким образом создаются, в основном, короткие текстовые файлы.

4.6.4. Команда cp

Хотя для копирования файлов иногда пользуются командой cat , но в Linux существует для этого специальная команда cp . Ее можно применять в одной из двух форм:

[user]$ cp [options] source destination

[user]$ cp [options] source_directory new_directory

В первом случае файл или каталог source копируется, соответственно, в файл или каталог destination, а во втором случае файлы, содержащиеся в каталоге source_directory копируются в каталог new_directory. Для копирования надо иметь права на чтение файлов, которые копируются, и права на запись в каталог, в который производится копирование.

Если в качестве целевого указывается существующий файл, то его содержимое будет затерто, поэтому при копировании надо соблюдать осторожность. Впрочем, можно использовать команду cp с опцией -i, тогда перед перезаписью существующего файла будет запрашиваться подтверждение (очень рекомендую вам всегда использовать эту опцию!).

У команды cp имеется еще несколько полезных опций (табл. 4.3).

Таблица 4.3. Основные опции команды cd.

Сохраняет время модификации файла и максимально возможные полномочия. Без этой опции для нового файла задаются полномочия, соответствующие полномочиям запустившего команду пользователя

Если source — каталог, то копируется как он, так и все входящие в него подкаталоги, т. е. сохраняется исходная форма дерева каталогов

Если задать эту опцию, то символические ссылки будут оставаться ссылками (а иначе вместо ссылки копируется файл, на который дается ссылка)

Перезаписывать файлы при копировании (если такие уже есть) без дополнительных предупреждений

4.6.5. Команда mv

Если вам необходимо не скопировать, а переместить файл из одного каталога в другой, вы можете воспользоваться командой mv . Синтаксис этой команды аналогичен синтаксису команды cp . Более того, она сначала копирует файл (или каталог), а только потом удаляет исходный файл (каталог). И опции у нее такие же, как у cp .

Команда mv может использоваться не только для перемещения, но и для переименования файлов и каталогов (т. е. перемещения их внутри одного каталога). Для этого надо просто задать в качестве аргументов старое и новое имя файла:

[user]$ mv oldname newname

Но учтите, что команда mv не позволяет переименовать сразу несколько файлов (используя шаблон имени), так что команда mv *.xxx *.yyy не будет работать.

При использовании команды mv , также как и при использовании cp , не забывайте применять опцию -i для того, чтобы получить предупреждение, когда файл будет перезаписываться.

4.6.6. Команды rm и rmdir

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

Если вы попытаетесь использовать команду rm (без всяких опций) для удаления каталога, то будет выдано сообщение, что это каталог, и удаления не произойдет. Для удаления каталога надо удалить в нем все файлы, после чего удалить сам каталог с помощью команды rmdir . Однако можно удалить и непустой каталог со всеми входящими в него подкаталогами и файлами, если использовать команду rm с опцией -r.

Если вы дадите команду rm * , то удалите все файлы в текущем каталоге. Подкаталоги при этом не удалятся. Для удаления как файлов, так и подкаталогов текущего каталога надо тоже воспользоваться опцией -r . Однако всегда помните, что в Linux нет команды восстановления файлов после их удаления (даже если вы спохватились сразу же после ошибочного удаления файла или каталога)!

Так что дважды подумайте до удаления чего-либо и не пренебрегайте опцией -i .

4.6.7. Команды more и less

Команда cat позволяет вывести на стандартный вывод (на экран) содержимое любого файла, однако она используется для этих целей очень редко, разве что для вывода очень небольших по объему файлов. Дело в том, что содержимое большого файла мгновенно проскакивает на экране, и пользователь видит только последние строки файла. Поэтому cat используется в основном по ее прямому назначению — для конкатенации файлов, а для просмотра содержимого файлов (конечно, текстовых) используются команды more и less (или текстовые редакторы).

Команда-фильтр more выводит содержимое файла на экран отдельными страницами, размером как раз в целый экран. Для того, чтобы увидеть следующую страницу, надо нажать на клавишу пробела. Нажатие на клавишу приводит к смещению на одну строку. Кроме клавиш пробела и в режиме паузы еще некоторые клавиши действуют как управляющие (например, клавиша возвращает вас на один экран назад), но мы здесь не будем приводить полного их перечня, как и перечня опций команды. Вам для начала надо еще только запомнить, что выйти из режима просмотра можно с помощью клавиши , так как если вы этого не знаете, то вам придется долго и нудно нажимать пробел, пока вы не доберетесь до конца длинного файла. Обо всех опциях команды more вы можете прочитать в интерактивном руководстве man или info.

Утилита less , разработанная в рамках проекта GNU, содержит все функции и команды управления выводом, имеющиеся в программе more , и некоторые дополнительные, например, позволяет использовать клавиши управления курсором ( , ,

) для перемещения по тексту. Вспомните, мы уже говорили об этом, когда рассматривали интерактивную подсказку man .

Команды more и less позволяют производить поиск подстроки в просматриваемом файле, причем команда less позволяет производить поиск как в прямом, так и в обратном направлении. Для организации поиска строки символов string надо набрать в командной строке программы в нижней части экрана (там, где двоеточие) /string. Если искомая строка будет найдена, будет отображен соответствующий кусок текста, причем найденная строка будет находиться в самом верху экрана.

4.6.8. Команда find и символы шаблонов для имен файлов

Еще одной часто используемой командой для работы с файлами в Linux является команда поиска нужного файла find . Команда find может искать файлы по имени, размеру, дате создания или модификации и некоторым другим критериям.

Общий синтаксис команды find имеет следующий вид:

find [список_каталогов] критерий_поиска

Параметр «список_каталогов» определяет, где искать нужный файл. Проще всего задать в качестве начального каталога поиска корневой каталог /, однако , в таком случае поиск может затянуться очень надолго, так как будет просматриваться вся структура каталогов, включая смонтированные файловые системы (в том числе сетевые, если таковые есть). Можно сократить объем поиска, если задать вместо одного корневого каталога список из нескольких каталогов (естественно, тех, в которых может находиться искомый файл):

[user]$ find /usr/share/doc /usr/doc /usr/locale/doc -name instr.txt

Началом «критерия_поиска», определяющего, что именно должна искать программа find , считается первый аргумент, начинающийся на «-«, «(«, «)»‘, «,» или «!». Все аргументы, предшествующие «критерию_поиска», трактуются как имена каталогов, в которых надо производить поиск. Если не указано ни одного пути, поиск производится только в текущем каталоге и его подкаталогах.

Чаще всего поиск проводится по именам файлов, как это показано в предыдущем примере, т. е. «критерий_поиска» задается как «-name имя_файла». Вместо опции -name можно использовать опцию -path, тогда команда будет искать совпадения в полном имени файла, с указанием пути. Например, команда

[user]$ find . -path ‘./sr*sc’

найдет в текущем каталоге подкаталог ‘./src/misc’. Вместо полного имени файла или каталога в этом примере использован так называемый «шаблон имени». Поскольку шаблоны имен файлов могут использоваться не только с командой find , но и со многими другими командами (включая уже рассмотренные команды chmod, chown, chgrp, cp, rm, cat, mv ), то правилам составления шаблонов стоит уделить некоторое внимание.

Чаще всего шаблоны имен файлов строятся с помощью специальных символов «*» и «?». Значок «*» используется для замены произвольной строки символов. В Linux

«*» — соответствует всем файлам, за исключением скрытых;

«.*» — соответствует всем скрытым файлам (но также текущему каталогу «.» и каталогу уровнем выше «..«: не забывайте об этом!);

«*.*» — соответствует только тем файлам и каталогам, которые имеют «.» в середине имени, или оканчиваются на точку;

«p*r» — соответствует и «peter» и «piper»;

«*c*» — соответствует и «picked» и «peck».

Значок ? заменяет один произвольный символ, поэтому index?.htm будет соответствовать именам index0.htm, index5.htm и indexa.htm.

Кроме «*» и «?» в Linux при задании шаблонов имен можно использовать квадратные скобки [], в которых дается либо список возможных символов, либо интервал, в который должны попадать возможные символы. Например, [abc]* соответствует всем именам файлов, начинающимся с a, b, c; *[I-N1-3] соответствует файлам, имена которых оканчиваются на I, J, K, L, M, N, 1, 2, 3.

А теперь вернемся к команде find и расскажем подробнее о том, какие критерии поиска возможны. Несколько примеров простых критериев поиска перечислены в табл. 4.4.

Таблица 4.4. Критерии поиска для команды find.

Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector