Команды Red Hat Linux

Обновлено: 04.07.2024

Моя худшая ошибка системного администратора

Несколько месяцев назад я попросил сообщество участников Enable Sysadmin помочь мне составить список наиболее важных команд. После обработки результатов выяснилось, что 17 команд необходимы или, по крайней мере, чрезвычайно полезны для работы системного администратора Linux. Итак, без дальнейших промедлений, давайте перейдем к ним.

find — эта команда является частью findutils и позволяет использовать пользовательские команды поиска. Например, если вы хотите найти каталоги, соответствующие определенному имени, вы можете использовать что-то вроде этого:

Вы можете найти дополнительную информацию об этой команде здесь.

ls+xargs — это сочетание было для меня новым; тем не менее, было действительно интересно учиться, и у него есть несколько приложений, которые могут изменить правила игры. xargs позволяет запускать дополнительные команды для вывода данной команды. Самый простой пример этого можно увидеть при сопряжении с командой ls. Например, если вы хотите выделить все файлы, перечисленные командой ls , вы можете использовать что-то вроде этого:

Ознакомьтесь с подробным обзором xargs из HowtoGeek
awk/sed/(e)grep — это трио было названо нашим сообществом больше раз, чем любая другая команда. Было поучительно увидеть, насколько важны эти команды для сообщества и для системных администраторов в целом. Давайте сначала сосредоточимся на grep.
grep — Grep великолепен, без обмана. Если вы еще не знаете о grep (и давайте будем честными, это по крайней мере возможно, если вы новичок в командной строке Linux), ознакомьтесь с ним. grep — это инструмент, который позволит вам фильтровать стандартный вывод практически всего, что происходит в командной строке. Вы можете найти слова, которые хотите найти, или инвертировать их, чтобы показать вам все, что НЕ соответствует вашему ключевому слову. Мы даже немного поговорим об очень похожем инструменте, который немного расширяет grep. Вот несколько примеров.
Чтобы показать вам все строки в данном файле, содержащие, например, слово «ошибка», вы должны сделать что-то вроде этого:

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

Стоит отметить, что grep чувствителен к регистру, как и многие вещи в Bash. Таким образом, поиск «ошибки» не найдет «Ошибка» или «ОШИБКА». Вы можете указать grep фильтровать без учета регистра, используя флаг -i.

Это будет соответствовать ошибкам, ERROR, erRoR и т. д., если буквы совпадают.

Теперь я сказал, что вы можете использовать grep для фильтрации вывода любой команды, верно? Вы делаете это с перенаправлением вывода с помощью канала. Это действительно полезно для таких вещей, как фильтрация журналов, даже с хвостом -f .

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

egrep: что, если вы хотите отфильтровать более одного слова? Я всегда использовал для этого egrep.

Скажем, вы хотите найти ошибку или предупреждение, вы можете сделать что-то вроде этого:

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

Дополнительные ресурсы по Linux

awk — команда awk реализует язык программирования AWK для обработки текста и особенно хороша для обработки данных, организованных в столбцы. Эта команда доступна в большинстве, если не во всех дистрибутивах Linux, а также в любых других операционных системах UNIX.

Системные администраторы обычно используют awk для извлечения данных из файлов или передачи по конвейеру из вывода других команд в командной строке или сценариев оболочки. Вызовите awk, запустив команду, обеспечивающую действие между '<>' . Вы можете ссылаться на столбцы как на переменные, например $1 для первого столбца, $2 для второго и так далее. По умолчанию awk использует пробелы в качестве разделителя столбцов, но вы можете использовать любой символ, указав его с флагом -F .

Например, чтобы напечатать владельца и группу, столбцы 3 и 4 в выводе ls -l , передайте его вывод в awk следующим образом:

Вы также можете отфильтровать строки из ввода, указав необязательное регулярное выражение перед действием. Например, чтобы напечатать все имена хостов (столбец 2) строк, начинающихся с цифры в ваших файлах /etc/hosts, используйте awk следующим образом:

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

Для получения дополнительной информации обратитесь к статье Руководство для начинающих по gawk и справочным страницам команды.

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

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

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

По умолчанию sed изменяет только первое вхождение шаблона в каждой строке. Чтобы изменить это поведение, позволив заменить все экземпляры шаблона, укажите параметр g в конце выражения команды sed, например:

В дополнение к базовому текстовому поиску sed поддерживает сопоставление с регулярными выражениями. Например, используйте регулярное выражение «[Ww]ord», чтобы заменить «Word» и «word» в каждой строке:

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

watch — эта команда позволяет многократно запускать команду/программу с заданным интервалом. По умолчанию интервал составляет каждые две секунды. Многие системные администраторы используют эту команду для мониторинга различных системных состояний или задач до их завершения.
Например, если вы хотите контролировать использование памяти, вы можете использовать следующее: watch -d free -m (параметр -d выделяет значения, которые отличаются от последнего запуска).

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

  • -s: запустить в автоматическом режиме (без индикатора выполнения)
  • -k: разрешить небезопасное подключение (только при подключении к внутреннему известному серверу, для которого используется самозаверяющий сертификат)

В приведенном выше примере я выполняю POST и передаю заголовок и тело.

mail. Команда mail — это очень удобный инструмент, который позволяет пользователю отправлять электронные письма непосредственно из командной строки, не открывая браузер или специальный клиент. Вам понадобится SMTP-сервер, работающий локально на вашем компьютере, так что об этом нужно знать.

Установите пакет:

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

Когда вы нажмете Enter, вам будет предложено указать поле Cc. Вы можете добавить дополнительных получателей или просто нажать Enter, чтобы пропустить. Затем вы напечатаете свое сообщение. Когда закончите, используйте Ctrl+D, чтобы отправить сообщение для доставки. После завершения это должно выглядеть так:

Дополнительную информацию об этой команде можно найти в этой замечательной статье.

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

Карьерный совет

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

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

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

scp — команда безопасного копирования ( scp ) позволяет пользователю копировать файлы в/из удаленной системы. Вам понадобится включенный ssh ​​на обоих концах транзакции и правильный синтаксис команды. Все это, и вы должны быть готовы идти. Синтаксис команды должен выглядеть примерно так:

Чтобы скопировать файл ИЗ удаленной системы в текущий рабочий каталог:

pkill — эта командная утилита позволяет нам сигнализировать о процессах запущенных программ. Вы можете искать процесс по имени (полному или частичному), пользователю и т. д. Существует множество вариантов использования этой утилиты, однако по умолчанию команда отправляет сигнал 15 (TERM) всем PIDS, соответствующим вашим критериям. Например:

Это должно закрыть все экземпляры Chrome, работающие на компьютере.

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

10 команд, которые помогут вам начать работу с терминалом Linux

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

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

Дополнительные ресурсы по Linux

Оглядываясь

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

Когда вы откроете терминал, вы увидите примерно следующее приглашение:

1. pwd - вывести рабочий каталог

Команда pwd сообщает вам, в каком каталоге вы сейчас работаете:

В настоящее время я работаю в каталоге /home/tcarrigan, как указано выше. Что же делать, если вы хотите увидеть, какие файлы и каталоги находятся внутри /home/tcarrigan ?

2. лс -л

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

Теперь, как я сказал выше, ls обычно отображает только НЕ скрытые файлы и каталоги. Так что насчет скрытых вещей?

3. лс -аль

Команда ls -a — это ответ, который вы искали. Объедините с параметром -l также для того же «красивого» вывода, который вы видели ранее, с включенными скрытыми файлами.

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

Теперь давайте немного познакомимся с файловой системой. Допустим, вы хотите увидеть файл внутри /home/tcarrigan/article_submissions .

4. cd (каталог) - перейти в (каталог)

Команда изменения каталога говорит сама за себя. Это позволяет вам изменить свой рабочий каталог.

Вы можете видеть, что мы изменили наш рабочий каталог на ~/article_submissions. Что, если я хочу вернуться к тому, с чего начал?

5. cd - без параметров

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

6. Назад

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

Создание и удаление

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

7. mkdir (X) - создать (X) каталог

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

Что делать, если мы хотим создать новый файл во вновь созданном тестовом каталоге?

8. touch (file) - создает новый файл (имя файла)

Команда touch создает и обновляет отдельные файлы. Чтобы создать файл с именем touch_test внутри каталога Test:

Хорошо, мы создали новый каталог, а также файл в этом каталоге. Как от них избавиться?

9. rm (файл) - удалить (имя файла)

10. Теперь каталог: rm -r (каталог)

Что дальше?

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

Из сотен возможных команд Linux, которые вы можете выучить, вот десять основных, которые вам действительно нужно знать.

Опубликовано: 22 августа 2019 г. | Кен Хесс (Red Hat)

10 основных команд Linux, которые нужно знать

Являетесь ли вы системным администратором Windows, который хочет расширить свои навыки в Linux, только что перешедшим на Linux, или тем, кто ищет работу в сфере ИТ, это введение в некоторые распространенные команды Linux для вас. Эти 10 команд — те, которые часто используют системные администраторы Linux — на самом деле, они используют по крайней мере восемь из них ежедневно. И независимо от того, как долго вы используете Linux, вы всегда будете использовать эти команды.Некоторые из вас, пользователей MS-DOS, узнают некоторые из них, и неудивительно, что они имеют одну и ту же функцию в обеих операционных системах.

ls отображает содержимое каталога

Дополнительные ресурсы по Linux

Команда list ( ls ) эквивалентна команде DOS DIR в том, что она выводит список файлов и каталогов. Если вы просто наберете ls в приглашении ( $ ), вы увидите все не скрытые файлы в вашем текущем каталоге, который является вашим домашним каталогом при первом входе в систему Linux. Команда ls мало что покажет в вашем домашнем каталоге в новой системе, поэтому давайте исследуем каталог, содержащий множество файлов и каталогов: /etc. В каталоге /etc (et-see) находятся файлы конфигурации системы Linux.

На вашем экране появляется большое количество файлов (более 200). Вы успешно перечислили содержимое каталога /etc, но на самом деле вы можете перечислить файлы несколькими различными способами. Выше я упомянул нескрытые файлы. В вашем домашнем каталоге, где вы сейчас находитесь, у вас наверняка есть скрытые файлы. Скрытые файлы в Linux начинаются с точки ( . ). Например, у вас, вероятно, есть файл .bash_profile. Чтобы увидеть это, используйте следующую команду ls.

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

man отображает справочные страницы

Linux предлагает обширный набор интерактивной документации для справки. Они называются справочными страницами, как в read the manual. Сокращенная команда для обращения к этой документации: man, и перед вами появляется экран, полный информации.

Навигация по справочным страницам проста. Используйте клавишу Enter, чтобы перейти на одну строку за раз, клавишу «b», чтобы вернуться назад, клавишу пробела, чтобы перейти на полноэкранную страницу, и клавишу «q», чтобы выйти из справочной страницы. В качестве примера взгляните на справочную страницу команды ls.

cat объединяет файлы

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

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

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

$ cat файл1 файл2 > файл1файл2

Например, чтобы перенаправить содержимое файлов products.txt и todo_list.txt в файл Saturday.txt:

$ cat productlist.txt todo_list.txt > Saturday.txt

Вы можете объединить столько файлов, сколько хотите, в один файл, используя cat .

нажмите, чтобы изменить временные метки файла

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

В выходных данных команды отображаются разрешения, владелец, размер, дата/время создания или последнего доступа, а также имя файла:

-rw-rw-r--. 1 хэсс хэсс 175 23 июл 19:19 all.txt
-rw-rw-r--. 1 хэсс хэсс 61 июл 23 19:17 new.txt
-rw-rw-r--. 1 хэсс хэсс 114 июль 23 19:09 student.txt

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

-rw-rw-r--. 1 хэсс хэсс 175 23 июл 19:19 all.txt
-rw-rw-r--. 1 khess khess 61 26 июл 11:28 new.txt
-rw-rw-r--. 1 хэсс хэсс 114 июль 23 19:09 student.txt

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

-rw-rw-r--. 1 хэсс хэсс 175 23 июл 19:19 all.txt
-rw-rw-r--. 1 khess khess 61 26 июл 11:28 new.txt
-rw-rw-r--. 1 хэсс хэсс 114 июл 23 19:09 student.txt
-rw-rw-r--. 1 хэсс хэсс 0 26 июл 11:53 сегодня.txt

Вы создали новый пустой файл, today.txt .

pwd печатает рабочий каталог

Команда pwd — это компас вашей системы Linux, поскольку она сообщает вам, где вы находитесь. У него нет другой функции, кроме предоставления вам этой информации. Попробуйте следующее, и вы увидите, что находитесь в своем домашнем каталоге, который отображается в формате /home/ :
$ pwd
/home/khess

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

Команда pwd всегда отображает полный путь к вашему местоположению, даже если вы находитесь в нескольких каталогах от корневого каталога ( / ), поэтому я вижу /home/khess, а не khess или /khess .

cd меняет каталог

С командой pwd очень тесно связана команда cd. Смена каталогов — частое действие в системе Linux. Как было сказано ранее, при первом входе в систему вы попадаете в свой домашний каталог. У каждого пользователя в системе Linux есть домашний каталог. Обычные учетные записи пользователей имеют личные каталоги в каталоге /home. Ваш домашний каталог находится в /home/ . Чтобы просмотреть все домашние каталоги пользователя, перейдите в каталог /home.

То, что вы здесь видите, зависит от вашей системы. Если вы единственный пользователь в персональной системе, вы будете видеть только свой домашний каталог. В производственных системах могут быть сотни учетных записей пользователей. Быстрый способ вернуться в свой домашний каталог, независимо от того, где вы находитесь в системе, — ввести cd без аргументов или путей к каталогам:

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

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

Теперь вы находитесь в каталоге /usr. Помните, что вы можете «подтвердить» свое местоположение, введя команду pwd:

Бывают случаи, когда вам не нужно переходить в определенный каталог. Вы можете прочитать файл из вашего текущего местоположения, если вы укажете полный путь к файлу, который вы хотите просмотреть. Например, вам не нужно переходить в каталог /usr/bin для выполнения команды pwd. Вы запускаете его из своего текущего местоположения, потому что он находится на вашем пути.

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

rm удаляет файлы и каталоги

Команда rm удаляет (удаляет) файлы и каталоги. Одна из причуд Linux, которая отличается от DOS/Windows, заключается в том, что она не болтливая, а это означает, что при удалении файла или каталога вы не получите (по умолчанию) сообщение вроде « Вы уверены?" Это просто не путь Linux. Существует рекомендуемый обходной путь для такого поведения, который я покажу вам позже в этом разделе.

А пока давайте удалим файл today.txt, который вы создали ранее с помощью команды touch:

Вы заметили, что не получили никаких вопросов или подсказок? Linux предполагает, что вы знаете, что хотите сделать, прежде чем нажмете клавишу Enter. Это немного сбивает с толку, не так ли? Спросите системных администраторов Linux, не пропадали ли какие-либо файлы во время одной из их сессий. Я поставлю деньги на утвердительный ответ, и я не игрок. Вы можете обойти это неинтерактивное поведение некоторых команд, поместив переключатель (параметр) -i после команды. Попробуйте следующий пример:

$ rm -i newfile.txt
rm: удалить обычный пустой файл 'newfile.txt'?

-i делает rm интерактивным. Ответьте Y, и файл исчезнет. Ответьте буквой n, и вы сохраните файл. Чтобы быть в безопасности, вы всегда можете использовать ключ -i с rm . В этом нет ничего постыдного или вредного, и вы будете рады, что сделали это когда-нибудь в будущем.

cp копирует файлы и каталоги

Копирование файлов и каталогов — очень распространенная задача для системных администраторов Linux. В его использовании нет большого секрета, и вы просто выполняете команду копирования ( cp ), источник файла или каталога и место назначения. Чтобы скопировать файл file.txt в каталог /opt/files, используйте:

$ cp файл.txt /opt/files

Чтобы скопировать весь каталог и все его содержимое, включая подкаталоги, используйте параметр -R (Recurse). Скопируйте каталог данных в вашем домашнем каталоге в /opt/files. Вы можете использовать -r или -R для рекурсивного копирования файлов:

$ cp -R данные /opt/файлы

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

$ cp *.txt /opt/files

mkdir создает каталоги

Если вы организованный человек, вы захотите создать каталоги, чтобы удовлетворить потребность в правильном размещении файлов и данных в отдельных отсеках (каталогах). Легко создавать каталоги. Введите команду mkdir, а затем имя каталога, который вы хотите создать:

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

$ mkdir -p данные/документы/формы/тесты/исходящие

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

$ mkdir docs электронная почта старая

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

ps выводит список текущих запущенных процессов

Последняя из 10 основных команд Linux, которые вам нужно знать, это ps . Эта команда показывает запущенные в данный момент процессы. Если вы введете команду ps, вы увидите только свои собственные процессы:

$ ps
PID TTY TIME CMD
7505 pts/0 00:00:00 bash
18119 pts/0 00:00:00 ps

Если вы ничего не запускаете, то этот вывод не очень интересен. Гораздо интереснее посмотреть, что происходит в масштабах всей системы. Вы можете сделать это, добавив некоторые параметры в ps . Наиболее ценными параметрами являются -e и -f для каждого (всего) и полного формата соответственно. Чтобы получить максимальную информацию от команды ps, объедините два параметра в следующую команду. Я включил для вас первые несколько строк из вывода ps -ef из моей системы:

UID PID PPID C STIME TTY TIME CMD
root 1 0 0 Jul23 ? 00:00:25 /usr/lib/systemd/systemd --system --deserialize 20
root 2 0 0 Jul23 ? 00:00:00 [kthreadd]
root 3 2 0 Jul23 ? 00:00:00 [rcu_gp]
root 4 2 0 Jul23 ? 00:00:00 [rcu_par_gp]
root 6 2 0 Jul23 ? 00:00:00 [kworker/0:0H-kblockd]
root 8 2 0 Jul23 ? 00:00:00 [мм_percpu_wq]

Эти поля просты для понимания и полезны при устранении проблем с производительностью:

Поле< /th> Описание
C Использование ЦП.
CMD Имя команды или процесса с указанием пути.
PID Идентификатор процесса.
PPID Идентификатор родительского процесса: Родительский процесс тот, который породил процесс.
STIME Время начала для процесс.
ВРЕМЯ Время процессора для процесса.
TTY Пользовательский терминал, запустивший процесс. Системный процесс покажет ?.
UID Идентификатор пользователя процесса владелец.

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

Если вам интересно сравнить команды DOS и Linux, ознакомьтесь со статьей Сравнение общих команд DOS и Linux.

[Хотите попробовать Red Hat Enterprise Linux? Загрузите его сейчас бесплатно.]

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

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

Дополнительные ресурсы по Linux

Команды, которые нужно знать

1. cp файл1 файл2

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

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

Вы можете видеть, что podman_pulling теперь доступен в моем каталоге /home/tcarrigan.

2. мв файл1 файл2

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

Я переместил статью podman_pulling из своего домашнего каталога в /article_submissions/my_articles . Теперь предположим, что нам нужно переименовать статью с «podman_pulling» на «podman без корней». Как бы мы это сделали?

3. ln -s ссылка на файл

Команда link в этом контексте позволит нам создать программную ссылку или символическую ссылку на другой файл или каталог.Для получения дополнительной информации по этой теме ознакомьтесь с моей предыдущей статьей Связывание Linux. Сейчас я просто собираюсь продемонстрировать, как использовать команду soft link.

Это создает ссылку в моем домашнем каталоге на файл /home/tcarrigan/article_submissions/community_content/podman_pulling, что означает, что вы можете прочитать podman_article,, и он откроет файл в каталоге community_content. .

4. сенсорный файл

Используйте команду touch для создания или обновления файла (здесь я создаю новый_файл в каталоге my_articles).

Обратите внимание, что временная метка созданного файла — 16:47. Теперь я собираюсь использовать команду touch, чтобы обновить отметку времени до текущего времени (19:35).

5. кошка > файл

Эта команда используется для ввода стандартного вывода в файл. Я введу "Hello World" в файл test_file.

Используйте Ctrl+D*, чтобы завершить редактирование файла. Для просмотра своей работы вы можете использовать стандартный синтаксис имени файла cat.

6. еще файл

Команда more позволит пользователю просматривать содержимое файла по одному на весь экран за раз. Здесь мы рассмотрим файл /article_submissions/my_articles/creating_physical_volumes.

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

Для просмотра 10 строк за раз можно использовать более -10 имен файлов . Вы можете использовать знак +, чтобы указать, с какой строки начинать: more +10 filename .

7. меньше файла

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

8. головной файл

Команда head позволяет пользователю вывести первые 10 строк любого файла. Я буду использовать пример создания_физических_томов .

9. хвостовой файл

Команда tail позволяет пользователю просмотреть последние 10 строк любого файла. Здесь мы рассмотрим /var/log/messages .

10. хвост -f файл

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

Теперь вы знаете

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

У каждого пользователя Linux есть любимая однострочная команда. Вот 20 команд Linux, без которых мы не можем жить.

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

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

К концу этой статьи вы будете:

Электронная книга по автоматизации ИТ

Без какого-либо определенного порядка важности, это наши 20 лучших однострочников для терминала Linux. Хотя мы разделили некоторые из более длинных команд символом \ для удобства чтения, вы можете вводить их все в одной строке в своем терминале, потому что, в конце концов, они однострочные.

1. Применить команду к файлам с разными именами

Оператор оболочки <> отлично подходит для этого. Вот пример с тремя каталогами, заключенными в <>:

2. Редактировать файл на месте

Вы хотите заменить строку в одном или нескольких файлах без использования редактора? Конечно, sed на помощь:

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

3. Быстро поделиться файлом с помощью веб-сервера

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

4. Поиск ошибок с помощью journalctl

Иногда что-то ломается.Вы можете найти самые последние ошибки, используя комбинацию journalctl вместе с классическими инструментами sort и uniq :

В этом случае кажется, что демон Docker недоволен.

5. Сделайте резервную копию с помощью зашифрованной передачи файлов

Используйте ssh и tar для безопасного резервного копирования. Они сочетаются друг с другом, как арахисовое масло и желе:

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

6. Запись мгновенных файлов

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

Вы также можете просто cat > file , а когда закончите редактирование, просто введите символ EOF (Ctrl+D):

7. Найдите файл и включите одни расширения и исключите другие

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

Или вы можете попробовать найти способ (используйте xargs для правильной обработки большого количества совпадений):

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

8. Мониторинг памяти без top или htop

Это почти мошенничество. Он повторяет команду, например free , каждые пять секунд и выделяет различия:

9. Показать размеры разделов диска

Используйте lsbk (блок списка) и jq (для управления JSON в командной строке) для отображения информации о разделе:

10. Быстро отображать тип файла

Функция What is вызывается с помощью wi . Он быстро сообщает вам тип файла.

Чтобы проверить один файл:

Чтобы проверить несколько файлов:

ПРИМЕЧАНИЕ. Функции имеют более высокий приоритет и могут выполнять ту же работу, что и псевдонимы.

11. Показать размер установленного пакета RPM

Если у вас есть система на основе RPM, рано или поздно вы будете форматировать свои запросы. Вот пример:

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

В этом случае команда find действует как фильтр, отображает размер каждого файла в байтах и, наконец, общий размер:

Или, если вам нужна функция (лучше), попробуйте следующий подход:

13. Обновите все репозитории Git в каталоге

Вы уже знаете, насколько полезен Git. Вот хитрость, которая поможет повысить эффективность ваших обновлений:

14. Предоставление доступа к веб-каталогу с помощью контейнеров

Контейнеры сегодня очень важны. Этот однострочник предоставляет доступ к каталогу через Podman:

15. Узнать погоду

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

16. Отображение первых 10 IP-адресов, попадающих на веб-сервер

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

17. Round float в Bash с помощью Python

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

18. Запустите мини-калькулятор

Эта функция определяет быстрый калькулятор в командной строке с переменной точностью (по умолчанию 2). Он использует до н.э. Создайте функцию следующим образом:

Далее выполните быстрый расчет:

Если вам нужна дополнительная точность, просто определите второй параметр:

Этот инструмент называется qqbc, поскольку он представляет собой усовершенствование старой функции qbc .

19. Преобразование CSV в JSON

Этот прием является модификацией популярного рецепта преобразования файлов CSV в формат JSON:

20. Устанавливайте и запускайте команды с помощью Docker

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

Команда запускает последнюю версию curl из контейнера, а затем удаляет ее. Обратите внимание, что команда заканчивается дефисом (-), который сообщает curl о необходимости вывода на ваш терминал. Здесь возможности безграничны.

Подведение итогов

Дополнительные ресурсы по Linux

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

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

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

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

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