Dir

Параметры

Параметр Описание
Задание диска и каталога, список файлов которого будет выведен
Задание файла или группы файлов, сведения о которых требуется вывести
/p Постраничный вывод сведений, т. е. с паузой после заполнения экрана. Для продолжения просмотра необходимо нажать любую клавишу
/q Вывод сведений о владельце файла
/w Вывод сведений в несколько колонок до пяти имен файлов или каталогов в каждой строке
/d Соответствует /w, но с сортировкой по столбцам
/a атрибуты] Выводит имена только тех файлов и каталогов, которые имеют указанные атрибуты. Если параметр /a не указан, команда dir выводит имена всех файлов, за исключением системных и скрытых. Если параметр /a указан без атрибутов, команда dir выводит имена всех файлов, включая скрытые и системные. Ниже приведен список значений, которые могут быть использованы при задании параметра атрибуты. Двоеточие (:) является необязательным. Значения из таблицы могут использоваться в любых комбинациях без пробела между ними.h — Скрытые файлыs — Системные файлыd — Каталогиa — Файлы, готовые к архивированиюr — Файлы, доступные только для чтения-h — Файлы, не являющиеся скрытыми-s — Файлы, не являющиеся системными-d — Только файлы (не каталоги)-a — Файлы, не изменявшиеся после последнего архивирования-r — Файлы, не имеющие атрибута «Только чтение»
/o порядок_сортировки] Управление порядком сортировки и вывода имен файлов и каталогов командой dir. Если параметр /o, не задан, команда dir выводит имена в том порядке, в котором они записаны в каталоге. Если параметр /o использован без параметра порядок_сортировки, команда dir выводит имена каталогов в алфавитном порядке, затем — имена файлов в алфавитном порядке. Двоеточие (:) является необязательным. Ниже приведен список значений, которые могут быть использованы при задании параметра порядок_сортировки. Допускается использование любого их сочетания без пробелов между ними.n — Сортировка по именам в алфавитном порядкеe — Сортировка по расширениям в алфавитном порядкеd — Сортировка по дате и времени от ранних к позднимs — Сортировка по размеру от меньших к большимg — Сортировка с группированием каталогов перед файлами-n — Сортировка по именам в обратном алфавитном порядке (от Z к A)-e — Сортировка по расширению в обратном алфавитном порядке (от .ZZZ к .AAA)-d — Сортировка по дате и времени от поздних к ранним-s — Сортировка по размеру от больших к меньшим-g — Сортировка с группировкой каталогов после файлов
/t поле_времени] Задание поля времени для вывода и сортировки. Ниже приведен список значений, которые могут быть использованы при задании параметра поле_времени.c — Созданиеa — Последнее обращениеw — Последняя запись
/s Перечисление всех случаев обнаружения определенного имени файла в указанном каталоге и всех его подкаталогах
/b Перечисление каждого имени файла (включая расширение) или каталога на отдельной строке. При использовании параметра /b заголовочные сведения или сводка не выводятся. Параметр /b отменяет параметр /w
/l Вывод несортированного списка имен каталогов и имен файлов строчными буквами. Параметр /l не позволяет преобразовывать дополнительные символы в строчные
/n Вывод списка в расширенном формате с именами файлов в правой части экрана
/x Вывод сокращенных имен файлов файловых систем NTFS и FAT. Формат совпадает с форматом параметра /n, но сокращенные имена выводятся после полных
/c Вывод разделителя десятичных разрядов в размере файлов
/4 Отображение года в четырехзначном формате
/? Отображение справки в командной строке

Параметры скриптов

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

Для того, чтобы получить значение первого параметра, необходимо в скрипте указать , второго — , и т.д. Существует также ряд других переменных, значения которых можно использовать в скрипте: – имя скрипта – количество переданных параметров – PID(идентификатор) процесса, выполняющего скрипт – код завершения предыдущей команды

Создадим файл script1.sh следующего содержания:

Выдадим права на выполнение и выполним скрипт с параметрами:

Мы передали 2 параметра, указывающие город и страну, и использовали их в скрипте, чтобы сформировать строку, выводимую командой printf. Также для вывода в строке Hello использовали имя пользователя из переменной USER.

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

При этом нужно доработать скрипт, чтобы в команду printf параметры также передавались в кавычках:

Из приведенных примеров видно, что при обращении к переменной для получения её значения используется символ $. Для того, чтобы сохранить значение переменной просто указывается её имя:

2.3 Общие параметры и примеры команды grep

Параметры Описание
В то же время показать совпадающую линию вверх и вниз? Строка, например: grep -2, имя файла шаблона отображает две строки выше и ниже совпадающей строки одновременно.
Напечатайте номер блока перед соответствующей строкой.
Печатайте только количество совпадающих строк, а не совпадающее содержимое.
Извлеките шаблон из файла. Пустой файл содержит 0 шаблонов, поэтому ничего не соответствует.
При поиске нескольких файлов соответствующий префикс имени файла не отображается.
Не обращайте внимания на различия в регистре.
Отмените отображение и вернитесь только к состоянию выхода. 0 означает, что соответствующая строка была найдена.
Распечатать список файлов, соответствующих шаблону.
Распечатайте список файлов, которые не соответствуют шаблону.
Напечатайте номер строки перед соответствующей строкой.
Никакое сообщение об ошибке о файле, который не существует или не может быть прочитан, не отображается.
Обратный поиск и отображать только несопоставленные строки.
Если оно заключено в кавычки \ <и>, выражение ищется как слово.
Отображение информации о версии программного обеспечения.

пример:

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

Команда chmod

Команда chmod (от англ. «change mode») позволяет изменить права доступа к файлам. Она работает в двух режимах: символьном и числовом.

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

    (чтение) =

    (запись) =

    (выполнение) =

   нет разрешений =

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

Только пользователь root, владелец файла или пользователь с правами sudo могут изменять права доступа к файлу.

Для рекурсивного изменения прав всех файлов и папок в заданном каталоге, используйте команду с опцией :

Команда chown

Команда chown (от англ. «change owner») позволяет изменить владельца и группу заданного файла, каталога или символьной ссылки.

Чтобы изменить владельца файла, достаточно выполнить:

Чтобы изменить как владельца, так и группу файла, вызовите:

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

Команда sudo

Команда sudo (от англ. «Substitute User and do« = «подменить пользователя и выполнить») позволяет запускать программы от имени другого пользователя (по умолчанию, пользователя root). Использование команды , вместо входа в систему под учетной записью пользователя root, более безопасно, поскольку вы можете предоставить ограниченные административные привилегии отдельным пользователям, не зная пароля пользователя root.

Чтобы использовать , просто добавьте префикс перед именем команды:

Команда head

Команда head позволяет задействовать одноименную утилиту для вывода нескольких первых строк из текстового файла или вывода другой утилиты. Если вы исполняете команду, которая выводит большой объем данных и при этом заинтересованы лишь в нескольких первых строках вывода, эта команда — именно то, что вам нужно.

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

Утилита head может выводить как начальные строки вывода другой утилиты (в этом случае имен файлов не указывается), так и начальные строки одного или нескольких текстовых файлов с указанными именами. В том случае, если выводятся начальные строки нескольких файлов, их имена упоминаются в выводе. Утилита поддерживает ряд полезных параметров, а именно, параметр -n, позволяющий задать количество выводимых строк (по умолчанию выводится 10 строк), параметр -c, позволяющий задать количество выводимых байтов, параметр -q, позволяющий не добавлять информацию об именах файлов в вывод с их начальными строками, параметр -v, позволяющий всегда выводить информацию об именах файлов, а также параметр -z, позволяющий выводить символы завершения строк вместо символов перехода на новые строки (это полезно для использования утилиты со стороны других утилит).

Вывод первых десяти строк текстового файла

Для вывода первых десяти строк текстового файла достаточно использовать утилиту head без каких-либо параметров:

Очевидно, что утилита вывела первые 10 строк файла.

Вывод заданного количества строк текстового файла

Для вывода заданного количества строк текстового файла следует использовать параметр -n:

Теперь утилита вывела лишь необходимые три строки.

Вывод заданного количества байтов файла

Для того, чтобы вывести заданное количество байтов вместо заданного количества строк, достаточно использовать параметр -c таким же образом, как ранее использованный параметр -n:

В первые 23 байта вошла первая строка текстового файла с символом перехода на новую строку.

Обработка вывода других утилит

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

Утилита cat читает все содержимое текстового файла, а утилита head выполняет роль фильтра, выводя лишь три первые строки этого содержимого.

Вывод первых строк нескольких файлов

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

×

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

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

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

При выполнении без какой-либо опции отображает использование диска для данного файла или каталога и каждого из его подкаталогов в байтах.

Вы также можете передать команде несколько файлов и каталогов в качестве аргументов:

Если вы запустите для файла или каталога, для которого у вас нет прав, вы получите что-то вроде «du: невозможно прочитать каталог». В этой ситуации вам нужно будет добавить к команде .

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

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

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

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

Мы используем потому что большинство файлов и каталогов внутри каталога принадлежат пользователю root и не доступны для чтения обычным пользователям. Результат будет выглядеть примерно так:

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

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

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

По умолчанию утилита повторно использует дисковое пространство, используемое каталогом или файлом. Чтобы узнать очевидный размер файла, используйте переключатель . «Видимый размер» файла — это фактический объем данных в файле.

также позволяет использовать шаблон оболочки. Например, чтобы получить размер всех каталогов, начинающихся с «Do» в вашем домашнем каталоге, вы должны запустить:

Команды для управления правами на файлы и директории

Все, что нужно для разрешения проблем, связанных с правами в Linux.

  • sudo — выдает права суперпользователя. Используется перед любой другой командой в терминале, если нужно выполнить ее от имени администратора. Многие программы и операции запускаются исключительно при наличии этих прав, так что sudo используется часто. Например, чтобы обновить список пакетов в Ubuntu, введем: sudo apt-get update. При этом система запросит пароль администратора.
  • sudo su — переводит терминал в режим суперпользователя. В нем каждая введенная команда будет восприниматься системой так, будто перед ней ввели sudo. Помогает запускать несколько скриптов и утилит, требующих права администратора, без необходимости постоянно корректировать их или вводить пароль от учетной записи.
  • sudo gksudo — используется для запуска графических утилит от имени администратора. В Windows для этого есть специальная кнопка в контекстном меню, а в Linux — префикс. Синтаксис такой:
​sudo gksudo название приложения, нуждающееся в запуске от имени администратора
  • sudo !! — запускает предыдущую команду от имени администратора. Используется, если до этого была неудачная попытка запустить программу. Помогает не тратить время на повторный ввод большого количества символов.
  • chmod — корректирует права доступа к выбранному файлу. Применяется исключительно с набором аргументов, обозначающих список прав. Допустим, я хочу выдать права на чтение и запись файла Timeweb.html на рабочем столе. Для этого введу в терминал: chmod 777 ~/Desktop/timeweb.html. Теперь его можно открывать и редактировать. Аналогичным образом пользователи поступают с системными файлами, когда приходит время что-то в них менять. По умолчанию большая их часть защищена от записи.
  • chown — назначает владельца для выбранной директории, документа, картинки или любого другого элемента в файловой системе. Синтаксис следующий:
chown имя учетной записи, которому надо передать права путь до файла, права на который нужно передать

Примеры использования

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

Поиск текста в файлах

В первом примере мы будем искать пользователя User в файле паролей Linux. Чтобы выполнить поиск текста grep в файле /etc/passwd введите следующую команду:

В результате вы получите что-то вроде этого, если, конечно, существует такой пользователь:

А теперь не будем учитывать регистр во время поиска. Тогда комбинации ABC, abc и Abc с точки зрения программы будут одинаковы:

Вывести несколько строк

Например, мы хотим выбрать все ошибки из лог-файла, но знаем, что в следующей строчке после ошибки может содержаться полезная информация, тогда с помощью grep отобразим несколько строк. Ошибки будем искать в Xorg.log по шаблону «EE»:

Выведет строку с вхождением и 4 строчки после неё:

Выведет целевую строку и 4 строчки до неё:

Выведет по две строки с верху и снизу от вхождения.

Регулярные выражения в grep

Регулярные выражения grep — очень мощный инструмент в разы расширяющий возможности поиска текста в файлах. Для активации этого режима используйте опцию -e. Рассмотрим несколько примеров:

Поиск вхождения в начале строки с помощью спецсимвола «^», например, выведем все сообщения за ноябрь:

Поиск в конце строки — спецсимвол «$»:

Найдём все строки, которые содержат цифры:

Вообще, регулярные выражения grep — это очень обширная тема, в этой статье я лишь показал несколько примеров. Как вы увидели, поиск текста в файлах grep становиться ещё эффективнее. Но на полное объяснение этой темы нужна целая статья, поэтому пока пропустим её и пойдем дальше.

Рекурсивное использование grep

Если вам нужно провести поиск текста в нескольких файлах, размещённых в одном каталоге или подкаталогах, например в файлах конфигурации Apache — /etc/apache2/, используйте рекурсивный поиск. Для включения рекурсивного поиска в grep есть опция -r. Следующая команда займётся поиском текста в файлах Linux во всех подкаталогах /etc/apache2 на предмет вхождения строки mydomain.com:

В выводе вы получите:

Здесь перед найденной строкой указано имя файла, в котором она была найдена. Вывод имени файла легко отключить с помощью опции -h:

Поиск слов в grep

Когда вы ищете строку abc, grep будет выводить также kbabc, abc123, aafrabc32 и тому подобные комбинации. Вы можете заставить утилиту искать по содержимому файлов в Linux только те строки, которые выключают искомые слова с помощью опции -w:

Количество вхождений строки

Утилита grep может сообщить, сколько раз определённая строка была найдена в каждом файле. Для этого используется опция -c (счетчик):

C помощью опции -n можно выводить номер строки, в которой найдено вхождение, например:

Получим:

Инвертированный поиск в grep

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

Вывод имени файла

Вы можете указать grep выводить только имя файла, в котором было найдено заданное слово с помощью опции -l. Например, следующая команда выведет все имена файлов, при поиске по содержимому которых было обнаружено вхождение primary:

Справка

Параметр help

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

Команда man

Почти все команды в Linux распространяются вместе с man-страницами (от англ. «manual») — документацией, которая объясняет, что делает команда, приводит примеры того, как следует применять команду и какие параметры и опции она поддерживает.

Команда man применяется для отображения страницы руководства по заданной команде:

Например, чтобы открыть главную страницу справки по команде , вы должны ввести:

Для навигации по справочным страницам используйте клавиши со стрелочками вверх и вниз. Также вы можете нажать:

   клавишу для перемещения на одну строку за раз;

   клавишу  (Пробел) для перехода к следующему экрану;

   клавишу  для возврата на один экран назад;

   клавишу для выхода из справочной страницы.

Команда history

Если вы используете Linux в течение определенного периода времени, вы быстро заметите, что можете выполнять десятки (если не сотни) команд каждый день. Таким образом, запуск команды history особенно полезен, если вы хотите просмотреть ранее введенные команды:

Команда whereis

Команда whereis отображает полный путь к исполняемому файлу программы (или к исходным файлам, если они присутствуют в системе). Например:

Результат:

4.5. Перенаправление ввода-вывода команд командной строки

стандартного вводастандартного вывода

  1. команда> имя-файла – перенаправление в файл с именем имя-файла сообщений, выводимых с помощью указанной команды. Если файл уже существовал, то он заменяется новым;
  2. команда>> имя-файла – действует аналогично предыдущему перенаправлению, но если файл с именем имя-файла уже существует, то сообщения добавляются в конец этого файла;
  3. команда имя-файла – чтение входных данных команды (программы) не с клавиатуры, а из файла с именем имя-файла;
  4. команда-1| команда-2 – передача вывода первой команды в качестве входных данных для команды-2 (организация конвейера команд).
Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: