Bashtop — отличный монитор ресурсов Linux, написанный на Bash

У меня есть машина с ограниченной однопользовательской ОС на базе 64-битной Fedora 24:

Команды Linux для навигации в терминале

  1. &&. Строго говоря, это не команда. Если вы хотите выполнить сразу несколько команд, поставьте между ними двойной амперсанд вот так: первая_команда && вторая_команда. Терминал выполнит команды по порядку. Вы можете ввести столько команд, сколько захотите.
  2. alias. Присваивает созданные вами названия длинным командам, которые вы не можете запомнить. Введите alias длинная_команда короткая_команда.
  3. cd. Изменяет текущую терминальную папку. Когда вы запускаете терминал, он использует вашу домашнюю папку. Введите cd адрес_папки, и терминал будет работать с файлами, которые там находятся.
  4. clear. Очищает окно терминала от всех сообщений.
  5. history. Отображает все недавно введённые вами команды. Кроме того, вы можете переключаться между недавними командами с помощью клавиш «Вверх» и «Вниз». Если вы не хотите, чтобы введённая вами команда была записана, поставьте перед ней пробел так: ваша_команда.
  6. man. Отображает руководство по программам и командам Linux. Введите man имя_пакетаили man ваша_команда.
  7. whatis. Отображает краткое описание какой-либо программы. Введите команду и название программы whatis имя_пакета.
Команды Linux для навигации в терминале

Что такое Bash в Ubuntu для Windows?

Как начинающий, вы можете спросить, что вы получаете от Bash на Ubuntu для Windows. Вы получаете всю среду оболочки Bash на своем компьютере с Windows 10. Если вы использовали Windows раньше, будь то Windows 10, Windows XP или что-то другое, вы, вероятно, знакомы со средами командной строки и PowerShell . Bash — похожая оболочка, но созданная для операционных систем Linux.

Что такое Bash в Ubuntu для Windows?

Как и командная строка , Bash — это среда командной строки. Он работает поверх ядра Linux и предлагает вам целый ряд утилит командной строки для запуска. Вы можете использовать его для загрузки, установки и использования приложений Linux, если вы этого хотите. И все утилиты, которые вы запускаете внутри Bash, получают доступ к вашей файловой системе Windows 10. Это означает, что вы можете получать доступ, создавать и удалять файлы и папки на любом из ваших дисков. Также важно отметить, что, несмотря на то, что это возможно, запуск графических приложений в Ubuntu в Windows является довольно сложной задачей и подвержен ошибкам. Это связано с тем, что Ubuntu в Windows была создана для предоставления подсистемы Linux и доступа к ее утилитам для разработчиков, а не для обычных пользователей.

Python

В отличие от Bash, Python является полноценным объектно-ориентированным языком программирования. Он входит в состав большинства распространенных дистрибутивов GNU/Linux, что позволяет использовать его в качестве альтернативной основы для написания скриптов, решающих задачи системного администрирования. Вот лишь несколько причин, по которым выбор нередко падает на Python:

Читайте также:  Как использовать Django, PostgreSQL и Docker

Удобочитаемость и компактность кода Благодаря соблюдению чётких синтаксических правил, скрипт, написанный на Python, будет понятен любому IT-специалисту, знакомому с программированием, даже если он видит этот код впервые. В то же время, при внесении изменений следует обращать внимание на правильную расстановку отступов – в Python они используются в качестве разграничителей блоков кода.

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

Кроссплатформенность Скрипты Python работают и в среде Windows, и в MacOS, и в UNIX, включая FreeBSD и GNU/Linux. Этот язык широко используется и на мобильных платформах, таких как Symbian, Android. В этом преимущество Python. Bash такими возможностями не обладает и является «встроенным» инструментарием только для семейств _NIX, _BSD и GNU/Linux. Скрипт, однажды написанный на Python, с большой долей вероятности будет работать на разных платформах, решая схожие задачи, при условии, что код не будет содержать специфических для конкретной операционной системы функций.

Python является подходящим инструментарием для решения следующих задач администрирования: – парсинг лога или конфигурационного файла с использованием регулярных выражений; – разработка приложений, в том числе нестандартных, для работы с базами данных MySQL, Oracle, PostgreSQL, Sybase и др.; – сбор и анализ статистики интернет-трафика с нескольких IP-адресов; – преобразование данных в различные форматы, например, конвертация .ini-файлов в текст при помощи модуля ConfigParser; – работа с файлами сервера при помощи FTP-клиента; – поднятие простого прокси-сервера; – мониторинг работоспособности сервиса, запущенного на сервере, с отправкой предупреждений на e-mail администратора в случае сбоя; – поднятие ppp-соединения с использованием программы автодозвона; – поиск дубликатов с запросом на удаление или перемещение в каталоге с большим количеством файлов; – проверка целостности архивов бэкапа при помощи алгоритма md5; – и т.д.

Основные команды Bash

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

Основные команды Bash

Рабочая директория

pwd выводит содержимое рабочей директории и указывает на текущую рабочую директорию, то есть на директорию, которую оболочка просматривает в данный момент. Это также место по умолчанию, где команды оболочки будут искать файлы похожа на папку, но в shell мы будем придерживаться наименования директория (каталог). Файловая иерархия UNIX имеет древовидную структуру. Чтобы добраться до определенной папки или файла, нам нужно пройти по определенным путям внутри этой древовидной структуры. Пути разделяют каждый узел вышеуказанной структуры с помощью символа слэш( / ).

Основные команды Bash

Для навигации и организации файлов используются команды ls и cd.

Основные команды Bash

ls обозначает список и показывает содержимое директории. ls обычно начинает с просмотра нашего домашнего каталога. Это означает, что если мы вызовем команду ls самостоятельно, то он всегда выведет содержимое текущего каталога, которым в моем случае является /Users/parul.

Читайте также:  Тема: Работа с файлами и каталогами в ОС Linux.

Параметры команды

Основные команды Bash

Параметры и опции включают некоторые специальные функции при использовании команды ls.

  • ls <папка> : для просмотра содержимого определенной папки.
  • ls -a: Для перечисления всех скрытых файлов в папке
  • ls -l: Выводитболее длинный и подробный список файлов. ls -l также может быть использован с именем каталога для перечисления файлов этого конкретного каталога.
  • ls ~: tilde(~) — сокращение, обозначающее домашний каталог. Таким образом, независимо от того, в какой директории мы находимся, ls ~ всегда будет показывать содержимое домашнего каталога.
Основные команды Bash

Немного о масках файлов

Оболочка также позволяет нам сопоставлять имена файлов с шаблонами, обозначенными звездочкой(*). Она служит подстановочным знаком для замены любого другого символа внутри заданного шаблона. Например, если мы введем *.txt, то это приведет к перечислению всех файлов с расширением .txt. Давайте попробуем перечислить все файлы с расширением .py в нашей папке Demo:

Основные команды Bash

cd, дословно, означает Change Directory (Изменить директорию) и изменяет активную директорию на указанный путь. После того, как мы используем cd в нужную директорию, можно воспользоваться командой ls, чтобы увидеть содержимое ее содержимое. Давайте посмотрим, как можно использовать эту команду:

  • cd … : Чтобы вернуться в родительский каталог.
  • cd : Для возврата в домашний каталог
Основные команды Bash

Организация файлов

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

Основные команды Bash

mkdir

mkdir означает Make directory и используется для создания новой директории или папки.

Основные команды Bash

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

Создадим в папке Demo новую директорию PythonFiles и переместим в нее все .py-файлы из папки Demo, используя две вышеприведенные команды.

Основные команды Bash

touch

Команда touch используется для создания новых пустых файлов. Она также используется для изменения временных меток на существующих файлах и каталогах. Вот как мы можем создать файл под названием в папке Demo.

Основные команды Bash

Команда rm означает «Удалить» и удаляет файлы или каталоги. По умолчанию она не удаляет каталоги, но если используется как rm -r * внутри каталога, то удаляется каждый каталог и файл внутри этого удалим ранее созданный файл

rmdir

Основные команды Bash

rmdir означает «удалить каталог» и используется для удаления пустых каталогов из файловой системы. Давайте удалим папку PythonFiles, которую мы создали некоторое время назад.

Обратите внимание, что ../ обозначает родительский каталог.

Основные команды Bash

Просмотр файлов

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

Основные команды Bash

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

Читайте также:  5 лучших сканеров QR и штрих-кодов для Android

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

$ cat

Команда cat отображает содержимое файла на экране. Это нормально, когда содержимого мало, но это становится проблемой, когда файл большой. Как видно из примера ниже, команда выводит все на терминал с очень высокой скоростью, и мы не можем разобраться во всем содержимом файла. К счастью, есть команда под названием «Меньше», которая позволяет нам просматривать содержимое по одному экрану за раз.

$ less

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

Пробел: перейти к следующему экрануb: перейти к предыдущему экрану/: для поиска конкретного словаq: выйти

Просмотр содержимого файла

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

# grep: фильтрация по строкам grep 455 # вывести строку, где есть 455 # cut: отображение столбцов cut -f 3 # вывести только третий столбец cut -f 2-3 # вывести 2-ой и 3-ий столбец cut -c 9-19 # вывести от 9-ти до 19-ти символов каждой строки cut -f 1 -d ‘;’ # в файле использовать ‘;’ в качестве разделителя вместо tab # awk: то же, что и cut, но имеет ещё больше разделителей, фильтров и он более сложный в вычислении awk ‘{print $3}’ # вывести 3-ий столбец awk ‘{print $2 «, » $3}’ # вывести 2-ой и 3-ий столбец, и разделить запятой awk ‘{print $2 + $3}’ # вывести сумму 2-го и 3-го столбца awk ‘length($0) > 20’ # вывести все строки длиннее 20 символов awk ‘$2 > 100′ # вывести строки, в которых значение второго столбца больше 100 # wc wc # вывести количество строк, слов и символов в текстовом файле ls -1 | wc # вывести количество строк, слов и символов каждого файла в текущем каталоге # sort: сортировка строк по алфавиту sort # сортировка строк файла sort -r # сортировка в обратном порядке sort -R # сортировка в случайном порядке sort -t $’\t’ -k 3n,3 # сортировать строки по числовому значению третьего столбца # uniq: отображает неповторяющиеся и повторяющиеся строки файла uniq # опускает повторяющиеся строки uniq -d # выводит только повторяющиеся строки uniq -u # выводит только те строки, у которых нет повторов uniq -c # выводит количество повторов для каждой строки

Надеюсь вам понравится эта шпаргалка!

  • Как писать Bash-однострочники для клонирования и управления GitHub/GitLab репозиториями
  • Автоматизированное семантическое управление версиями с помощью GitVersion
  • Основы Git за 5 минут

Читайте нас в Telegram, VK и

Перевод статьи Guillermo Barreiro: The Essential Bash Cheat Sheet