Команда help в linux

Обновлено: 05.07.2024

Этичный хакинг и тестирование на проникновение, информационная безопасность

Опции команд Linux

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

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

Полностью идентична следующей:

Примером длинной опции для ls является «--reverse», которая выводит результаты в обратном порядке:

Опции можно сочетать, если они не являются взаимоисключающими.

Справка по программам командной строки Linux

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


Будет выведена информации об использовании:

Краткая характеристика функции:

А также довольно большой список опций. Приведём самые популярные:

Как можно видеть, некоторые опции (ключи) имеют только короткие вариант написания, некоторые только длинный, некоторые имеют оба варианта, которые являются полностью взаимозаменяемыми.

У каждой программы свои опции, и своё значение. Пожалуй, универсальной (одинаковой для всех), является только флаг --help.

Как и имена команд, опции чувствительные к регистру, т.е. -s и -S это две разные опции.

Задание для самостоятельного изучения: познакомьтесь с опциями и других рассмотренных ранее программ, т.е. mkdir, cp, mv и rm.

Зачем сейчас нужна командная строка Linux?

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

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

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

Рассмотрим вполне себе бытовой пример с командой find. Допустим, мне захотелось посмотреть на фотографии со своего дня рождения, сделанные в 2014 году. Как мне их быстро найти в своём плохо структурированном фотоархиве на несколько сотен гигабайт? Можно попытаться начать просматривать самые вероятные пути, где я их мог бы сохранить, попытаться искать по имени файла и т.д. В командной строке Linux мне достаточно сделать поиск по дате создания файла. Для этого мне нужно ввести одну единственную команду!


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

К примеру, мне понадобилось разместить на карте точки тех мест, где были сделаны все (!) фотографии из моего фотоархива. Я взял уже знакомую нам программу find для поиска всех файлов изображений, найденные файлы передал программе jhead (умеет извлекать метаданные из файлов), указал ей передавать результат своей работы в команду grep (отфильтровывает все метаданные, кроме GPS координат), полученные геоданные передаются командам cut и sed, которые «раскидывают» дни, минуты и секунды долготы и широты по переменным, эти переменные передаются в программу bc (пересчитывает координаты в десятичные градусы, которые поддерживаются картой), полученные координаты передаются команде echo (которая выводит результат), ну и, наконец, команда cat объединяет HTML структуру (я воспользовался картами Google) с полученными координатами и формирует конечный HTML файл, который можно открыть в любом браузере. Как я это сделал, можно посмотреть в статье «Массовый поиск геотэгов на сайтах и в локальном хранилище».

Если бы я взялся решать эту задачу на той же самой Java или любом другом языке программирования, то, наверное, так бы и застрял на анализе структуры файлов .jpg и решения проблемы по извлечению EXIF из бинарного файла. А в командной строке Linux (объединив несколько команд в пакетный файл), мне удалось решить эту проблему в течение часа.

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

Такие «паровозики» можно составлять из любых команд, вы можете задействовать ваши собственные консольные программы.

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

Т.е. просмотр содержимого папки с помощью ls -l это не «пик» возможностей командной строки. Это самое-самое начало знакомства. Изучение командной строки требует и усилий, и времени. Но эти затраты окупятся сторицей, особенно если ваша деятельность связана с администрированием ОС Linux/сети/сервера, пентестингом, программированием.

В следующей части мы продолжим изучить азы командной строки – «кирпичики», из которых можно строить удивительные вещи.

Подробно объясните команды справки Linux-help, --help, man, info

оглавление

  • Введение в команды справки Linux
  • команда help и параметр --help
  • команда человека
  • информационная команда

1. Введение в команды справки Linux

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

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

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

Команды справки Linux в основном включают три:

  1. команда help и параметр --help
  2. команда человека
  3. информационная команда

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

Два, команда справки и параметр --help

2.1 команда помощи

Команда help может распечатать справочную информацию по нужной нам команде на консоли. Использование:

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

 cd

 mv

Почему такая разница? Почему я не могу просмотреть справочную информацию о команде mv? Необходимо ввести "Встроенные команды"с участием"Внешняя команда"Концепция чего-либо

2.2 Встроенные команды и внешние команды

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

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

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

Например, упомянутые выше команды cd и mv, давайте посмотрим, к какому типу команды они относятся.

cd

mv


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

Мы можем попробовать просмотреть справочный документ самой команды справки

 help

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

2.3-параметр помощи

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

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

mv --help

Нетрудно обнаружить, что команда mv поддерживает параметр --help для отображения справочной информации по этой команде и выхода.

Три, команда человека

3.1 Справочная информация, предоставленная человеком

man - это сокращение от manual.В отличие от команды help и параметра --help, когда вы используете команду man для запроса справочного руководства, вы входите в интерфейс страницы руководства, а не напрямую печатаете его на консоли. Одновременно,По сравнению с help, команда man содержит более полную информацию, а help отображает краткую информацию.

Например, мы хотим просмотреть справочную информацию по команде mv

man mv

На странице руководства представлена ​​информация о «имени», «сводке» и «введении» команды mv, а другая информация, такая как «информация об авторе» и «еще», не показана на рисунке. В частности:

название смысл
NAME Название команды и краткое описание
SYNOPSIS Сводка синтаксиса выполнения команды
DESCRIPTION Полное описание команды
OPTIONS Список всех доступных элементов параметров
COMMANDS Когда команда выполняется, команда, которая может быть выполнена в программе
FILES Некоторые файлы, на которые ссылается или связывает эта команда
SEE ALSO Другие примечания об этой команде
EXAMPLE Некоторые примеры, к которым вы можете обратиться
BUGS Есть ли связанные ошибки

Мы заметили, что в первой строке стоит «MV (1)». Что означает число в скобках? Фактически это классификация запрошенной информации.

цифровой Представление
1 Стандартные команды или исполняемые файлы, с которыми пользователи могут работать в среде оболочки
2 Функции и инструменты, вызываемые ядром системы
3 Часто используемые библиотечные функции
4 Файлы оборудования и описания оборудования и т. Д.
5 Файл конфигурации или формат файла
6 Игры и другие развлечения
7 Информация о соглашении и т. Д.
8 Команды управления доступны системным администраторам
9 Документы, относящиеся к ядру Linux

3.2 Основные операции на странице руководства

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

кнопка Характеристики
пробел Перевернуть страницу
/str Искать строку str в обратном направлении
?str С нетерпением жду строки str
n, N n - следующая найденная строка, N - предыдущая найденная строка
q Выйти из справочной страницы

В-четвертых, информационная команда

4.1 Справочная информация, предоставленная info

Функция команды info в основном аналогична функции команды man, которая может отображать соответствующую информацию и информацию о команде.

Отличие от команды man состоит в том, что, с одной стороны, команда info может получить более обширную справочную информацию, относящуюся к команде запроса; с другой стороны, информационная страница разделяет данные файла на параграфы и поддерживает их в виде «узлов» Вся страница страницы и разделенные абзацы соответствуют узлам, поэтому пользователи могут переключаться между узлами и легко читать содержимое каждого абзаца.

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

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

 info page

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

 info page

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

 info page

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

Информационная страница предоставляет интерактивные операции, такие как перелистывание страниц, переход по узлу и поиск.

кнопка Характеристики
пробел Листать вниз
Введите ключ Перейти к следующему узлу
P Перейти к предыдущему узлу
U Вернуться к предыдущему узлу
Введите ключ Переместите курсор к узлу следующего слоя и нажмите Enter, чтобы войти.
B Перейти к первому узлу текущей информационной страницы
E Перейти к последнему узлу текущей информационной страницы
/ Искать на информационной странице
Q Закрыть информационную страницу

Мой официальный аккаунт: всесторонний программист

Мои знания: разносторонний программист

Приветствуем ваше внимание и общение

Если вы считаете, что эта статья полезна для вас, не стесняйтесь, она понравится

Linux Причины использования справки Большинство команд, выполняемых в консоли, обладают расширенным функционалом. Он задействуется с помощью дополнительных опций. Также поведение программы может меняться в зависимости от количества входящих параметров. Даже опытные пользователи Linux не в силах запомнить весь набор опций для множества команд. Как правило, используются только основные. Если вам нужно изучить возможности незнакомой консольной программы или освежить память, можно обратиться к справке. Linux Использование опции Help Вы можете получить помощь по конкретной команде Linux, вызвав её через терминал с указанием опции --help или -h. За формирование такой информации отвечает сама программа. Она содержит лаконичное описание принимаемых параметров и дополнительных опций. В большинстве случаев этого достаточно. Ниже приводится пример с вызовом помощи по команде find, отвечающей за поиск файлов и директорий в файловой системе. Linux Использование справочных страниц Man Большинство программ Linux при установке добавляют в директорию /usr/share/man специальные справочные файлы. В отличие от использования опции --help, они позволяют получить подробное описание принципа работы. Доступ к такой справке организуется с помощью команды man и указания имени программы. Её запуск переключит ваш терминал в специальный режим. Это необходимо, так как справочная информация очень объемна и располагается на нескольких страницах, что может доставлять неудобства при работе в текстовом режиме. Не для всех консольных команд Linux возможно получить такую помощь. Если файл справки отсутствует, то в терминал будет выведен текст ошибки. Запущенная программа man позволяет использовать несколько горячих клавиш. Linux Тематические разделы man-страниц Открыв директорию /usr/share/man, вы увидите несколько дополнительных каталогов с именами man1, man2 и т. д. Они являются тематическими разделами справочной информации. В вашем дистрибутиве Linux может присутствовать несколько одноименных программ. В таком случае требуется разделение справочных файлов по категориям, иначе появляется неоднозначность. У команды man есть дополнительный числовой параметр, указываемый перед именем программы. Если он присутствует, будет осуществлен вывод справки из определенного тематического раздела. Также можно использовать опцию -a, которая предоставит помощь по одноименным программам, присутствующим во всех разделах. В таком случае выход из справки с помощью клавиши q не вернет терминал в обычное состояние, а откроет следующую страницу с информацией. Linux

Если доктор или электрик придет к вам в дом с пустыми руками, вы будете немного удивлены, не правда ли? Вы же ожидаете, что профессионал приходит со своим инструментом. Иначе, как он собирается делать свою работу?

А в компьютерной индустрии люди часто приходят на работу просто в костюме. И все! А иногда даже и не в костюме.

Странно, мы не только не ждем, что компьютерщик принесет свои инструменты, но часто даже сама идея о том, что ему нужны какие-то инструменты, кажется нам свидетельством его некомпетентности! Что?! Вы ищете номер телефона в справочнике! Что за размазня! Настоящий сисадмин должен помнить всю телефонную книгу!

Состав

Я не хожу на работу с пустыми руками; у меня всегда с собой большой набор инструментов, который помещается на CD. Этот набор включает в себя:

  1. HAL - Henry Abstraction Layer (прим.пер.: уровень абстракции Генри, что это такое, из статьи не понятно)
  2. Мышечная память
  3. Система помощи
  4. Файлы истории

Эта заметка посвящена третьему пункту в этом списке.

Мотивация

Если кто-то приходит ко мне и спрашивает "Знаешь ли ты, что такое SAN, Генри?"

Я отвечаю "Я не знаю, давай посмотрим."

В ответ я получаю расписание поездов на Sandringham и объяснение, что такое "nuisance calls" (что-то вроде "телефонного спама", прим. пер.), в дополнение к большому количеству практически полезной информации о SAN, накопленной за много лет.

Моя команда help есть нечто среднее между apropos и несколько модифицированной командой man . Она использует некоторые опции от apropos , но дает полный ответ подобно man , вместо того, чтобы ограничиваться только выдачей заголовков, подобно apropos .

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

В отличие от man , которая дает только чисто техническую информацию и только относящуюся к той системе, в которой я работаю в данный момент, моя команда help не ограничена одной платформой или только техническими деталями. Люди, которые меня знают, будут даже шокированы тем, что там есть информация по предложениям от Microsoft. Кроме того, я могу получить подсказку и по тому, как мне использовать мой банковский счет.

Вызов помощи

Чтобы воспользоваться своей системой помощи, я набираю

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

Мой каталог help

Информация для моей команды help размещается в каталоге $HOME/help. Насколько я могу видеть, первые записи в этом каталоге датированы августом 1992 года.

Каждая запись - это отдельный файл. Имя каждого файла, который должен быть доступен команде, начинается с help_. Вероятно, для этого была какая-то причина, но, честно сказать, я уже не помню. Возможно, я думал, что могут быть файлы других форматов (не текстовых, например, PDF), доступ к которым я буду получать каким-то другим способом. Я не использую подкаталогов в последнее время; я не могу припомнить, когда я это делал последний раз.

Но есть подкаталог с именем FIREFOX, который содержит сколько-то html-файлов; другой подкаталог называется HTML и содержит Quick_HTML_Reference.html; еще один называется fedora-install-guide-en_US. Но эти подкаталоги находятся на периферии моей системы помощи.

Главную роль в ней играют файлы help_*.

"Правила" очень просты:

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

Моя команда help

Моя команда help является функцией оболочки bash , определенной в одном из моих многочисленных стартовых скриптов (которые являются частью моего HAL).

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

Строка в скобках делает всю основную работу. К ней мы еще вернемся.

Последние 4 строки предназначены для обеспечения сосуществования с bash . Теоретически, если в моей базе данных нет информации по нужному вопросу, обращаюсь к команде bash. Написав это, я обнаружил, что эта часть не работает! Это подтверждает известный закон, что каждая нетривиальная программа содержит ошибки.

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

Главная команда

Давайте начнем изнутри.

Здесь мы выводим список всех файлов в каталоге

/help (то есть $HOME/help), которые начинаются с help_ и содержит указанную подстроку где-либо в остальной части имени.

Я использую в качестве редактора emacs . Он создает резервные копии файлов, имена которых содержат тильду (

) в качестве последнего символа в имени. Я не хочу видеть эти резервные копии файлов; grep удаляет их из списка.

Затем команда less выводит содержимое тех файлов, которые остались в списке. Иногда это один файл, чаще несколько.

Прежде чем говорить о моей команде less , я прокомментирую строку, заключенную в скобки. Она начинается с set -x. Много лет назад, когда я впервые познакомился с Unix (думаю, до того, как возник Linux), я где-то прочитал, что команды Unix делают свою работу молча. Это мне не нравится; я предпочитаю видеть множество подтверждений: вот что я делал; вот какую команду использовал; это файлы, с которыми я работаю.

Я не жду, что другие разделяют мои предпочтения. Если кто-то предпочитает молчание, тот может удалить set -x.

Моя команда 'less'

Использование less для просмотра нескольких файлов будет значительно менее удобным, если не использовать небольшие ухищрения.

Я предпочитаю использовать less(1) как программу просмотра и задаю ее в переменной $PAGER. Однако стандартная less требует небольших доработок. Мне хочется иметь возможность быстро переключаться с просмотра одного файла к следующему, и обратно. По умолчанию в less для этого используются команды :n и :p, но это требует нажатия трех клавиш. Это не совсем то, что мне хочется. Конечно, можно было бы запрограммировать функцию, которая будет генерировать :n и :p, но это тоже не то.

Я предпочитаю использовать клавиши СТРЕЛКА ВЛЕВО и СТРЕЛКА ВПРАВО. По умолчанию в less эти клавиши задействованы для горизонтальной прокрутки. Но я никогда не использую горизонтальную прокрутку в less , так что приспособил эти клавиши для перехода между файлами.

Я хочу, чтобы СТРЕЛКА ВПРАВО означала "следующий файл", СТРЕЛКА ВЛЕВО - "предыдущий файл".

Если вы захотите последовать моему примеру, используйте мой файл .lesskey и либо скопируйте его в свою домашнюю директорию, либо откорректируйте свой файл .lesskey. Как это сделать - смотрите man lesskey(1) .

Затем выполните команду lesskey, чтобы превратить файл .lesskey в нечто, понятное less .

Анализ

С моей точки зрения это прекрасный пример приспособления технологии. В процессе приспособления нужно учитывать множество факторов. Самый важный фактор - пользователь. Я создавал эту систему помощи, чтобы пользоваться самому, и ни для кого другого. Конечно, "создавал", это большое преувеличение; механизм возник и рос естественно и постепенно.

Большая часть моего взаимодействия с компьютером происходит в командной строке, обычно через xterm . Если только возможно, я использую bash . То есть практически всегда: bash - оболочка, используемая в Linux по умолчанию (когда мы пишем /bin/sh это фактически bash ); она в настоящее время стандартна ( /bin/bash ) для недавних версий Solaris; и она доступна в BSD. И если я не ввожу команды в командной строке, это означает только то, что я запустил emacs .

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

Так что редактирование файлов помощи - просто один из видов моей основной деятельности; ничего нового, ничего не надо осваивать.

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

Но что самое важное - все это в высшей степени портабельно. Куда бы я ни шел, я могу взять весь каталог (вместе с другими материалами) на CD и скопировать все это на локальный диск практически без временных затрат.

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

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

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

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

Типичное использование

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

Когда я ввожу команду help bsd, перечисленные выше 5 файлов загружаются в less . Поскольку я могу использовать клавиши с левой и правой стрелками для перемещения между файлами, и поскольку эти клавиши имеют функцию автоповтора, я могу очень быстро переходить от одного файла к другому. Поскольку я сам заносил материал в эти файлы, я более-менее представляю, что там можно найти. Просто мой мозг уже гораздо лучше приспособлен к тому, чтобы узнавать и выбирать, чем для того, чтобы вспоминать.

Если я просматриваю файл с помощью less и вижу, что его нужно модифицировать каким-либо образом, я просто ввожу команду v и перехожу в emacs для редактирования.

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

Это редко случается, но давайте рассмотрим такую ситуацию. Предположим, что я ищу информацию о xxx и help xxx не выдает ничего полезного. Я воспользовался grep и нашел информацию. Почему help xxx не нашел соответствующий файл? Как я понимаю, я просто поместил информацию не в тот файл. Например, я сохранил данные в файле help_audio, а потом искал их с помощью команды help sound. На этот случай есть простое решение:

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

Я могу отнести информацию к нескольким категориям. Просто нужно включить больше нужных слов (подстрок) в имя одного и того же файла помощи.

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

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

Просто в качестве примера приведу часть моего файла help_rpm:

Обычно, если мне нужно выполнить инсталляцию пакета, я задаю переменную RPM, затем копирую каждую из rpm команд в xterm . Можно даже отключить мозги и выполнять все действия на автопилоте.

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

Еще один пример: подсказка, выдаваемая по запросу pub. У меня есть два файла помощи, касающиеся общественного транспорта: help_public_transport и help_aaa_public_transport. Вначале я создал первый из них. Он содержит детальную информацию об автобусных маршрутах. Обычно мне не требуется знать все. Поэтому, когда я создавал второй файл, я поместил в начало имени строку aaa, так что теперь less всегда показывает этот файл первым (в силу того, что так работает ls )

Если мне нужно добраться куда-то общественным транспортом, я посещаю Viclink Journey Planner . Это великолепный ресурс, но он бывает слишком словоохотлив временами. Чтобы побыстрее получить нужный ответ, нужно задать более длинную строку. Я никогда не могу запомнить эти названия и, вероятно, никогда не смогу ввести их корректно. Поэтому моя система помощи содержит названия станций, которые я чаще всего посещаю:

Я просто копирую соответствующую строку в форму на сайте и очень быстро получаю ответ.

Расширения

Проработав много лет в одной организации, я недавно заключил контракт с другой фирмой. Я подумал, что материал, который я собрал, работая в X Corp лучше поместить в каталог help_X_Corp, а материалы, имеющие отношение к Y Corp, должны размещаться в help_Y_Corp.

В результате мне пришлось немного модифицировать команду help . Ключевая строка:

Я вставил дополнительный символ астериска (*) для того, чтобы просматривать ВСЕ подкаталоги с помощью команды help .

В заключение

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

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

Не имеет значения, являетесь ли вы компьютерным гуру или неофитом. Не имеет даже значения то, какую ОС вы используете (хотя в Microsoft это сделать сложнее). Вам нужен только текстовый редактор и средство для выбора и просмотра файлов. Единственная сложность, которую я вижу, это если вы работаете исключительно в графической оболочке, потому что тогда вы должны написать (или заказать кому-то разработку) программу выбора файлов (и, может быть, программу их отображения). Насколько я могу судить, Microsoft использует редактор (скажем, Wordpad) как средство отображения файлов.

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

Примечание

Я написал все это несколько дней назад. Но уже через день, делая небольшие исправления, я модифицировал свою команду помощи. Я привожу ее в разделе "Ресурсы" ниже.

Ресурсы

Последний вариант моей команды help:

Henry Grebler

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

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

Справочник основных команд Linux

Одним из коренных отличий семейства ОС Linux от ОС Windows является ведущая роль командной строки или терминала в администрировании системы. Для успешной работы с «Линукс» одного графического интерфейса недостаточно. Полноценное управление тут возможно только через терминал. А в работе с терминалом никак не обойтись без изучения основных команд Linux.

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

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

Справочная информация / документация

(Manual). Показывает инструкцию к программам и командам Linux. Чтобы получить руководство для программы, наберите:

Для инструкции по команде, введите:

whatis

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

whereis

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

Вся необходимая информация о команде будет доступна, если набрать:

whoami

Ctrl + R

Права суперпользователя

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

Способы получить права root в Linux

О втором варианте расскажем подробнее.

(Super User Do). Позволяет исполнять команды с правами суперпользователя. Перед переходом в режим root администратора система выполнит запрос пароля и логина root. Пример:

sudo su

sudo gksudo

Максимальную производительность приложений Linux зависит от правильного подбора платформы для ОС. Мощный виртуальный сервер от Eternalhost обеспечит интернет-ресурсу стабильную работу и пространство для развития.

Управления файлами и каталогами

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

Для показа скрытых файлов:

(Concatenate / Catenate). Команда двойного назначения. Показывает на экране что содержит файл или стандартный ввод. Также к «склеивает» несколько переданных подряд файлов в один. Если нужно посмотреть содержимое одного файла, вводим:

Если нужно узнать содержимое нескольких файлов подряд:

Для «склейки» файлов, вводим:

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

(Change Directory). Меняет текущий каталог, в котором работает терминал на указанный. Когда терминал запущен, он использует по умолчанию корневой каталог (root), вернуться в который можно, набрав:

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

Чтобы подняться по древу каталогов на уровень вверх набираем:

Чтобы вернуться к предыдущей директории:

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

mkdir

(Make Directory). Создаёт новую директорию. Можно также создать полную структуру подкаталогов, если ввести сочетание:

(Copy). Утилита, позволяющая скопировать файл или каталог. Копирование файлов и каталогов. Чтобы копирование прошло рекурсивно, т. е. включало все поддиректории и файлы в них, надо добавить к команде:

А если надо дополнить рекурсивное копирование сохранением всех атрибутов, сведения о владельце и временный штамп, добавляем «архивную» опцию -a, чтобы получилось:

(Remove). Отвечает за удаление папок и файлов. Использовать оператор rm следует крайне осторожно. В Linux файлы удаляются не в корзину, откуда их можно восстановить, а стираются безвозвратно. Для рекурсивного удаления используйте сочетание:

(Link). Создаёт программные ссылки на файлы. По функционалу это похоже на ярлыки в Windows.

Типы ссылок Linux

  • символические ( -s ) – указание на адрес файла ил папки без метаданных;
  • твёрдые или жёсткие ( -P ) – содержат сведения о физическом адресе на диске, где хранится файл.
    Удалить ссылку в Linux можно при помощи атрибута –f .

chmod

(Change Mode). Изменяет разрешения доступа к файлу. Под доступом имеется в виду классическая триада: чтение r, изменение w и запуск x. Общий вид:

Популярные комбинации разрешений для команды chmod

chown

(Change Owner). Команда для смены владельца файла и его группы. Для смены владельца используем синтаксис:

Для смены группы файла:

Если надо поменять оба параметра:

Команду можно применить только с правами суперпользователя. Чтобы изменить владельца/группу рекурсивно добавляем:

chgrp

(Disk Free). Даёт полную информацию о свободном пространстве на диске. Анализ включает перечисление файловых систем смонтированных разделов, обзор занятого и свободного места на диске. Для более удобного вывода информации, лучше применять сочетание:

Читайте также: