Шпаргалка по командам linux

Файлы и директории

  • перейти в директорию ‘/home’

  • перейти в директорию уровнем выше

  • перейти в директорию двумя уровнями выше

  • перейти в домашнюю директорию

  • перейти в домашнюю директорию пользователя user

  • перейти в директорию, в которой находились до перехода в текущую директорию

  • показать текущюю директорию

  • отобразить содержимое текущей директории

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

  • показать детализированое представление файлов и директорий в текущей директории

  • показать скрытые файлы и директории в текущей директории

  • показать файлы и директории содержащие в имени цифры

  • показать дерево файлов и директорий, начиная от корня (/)

  • создать директорию с именем ‘dir1’

  • создать две директории одновременно

  • создать дерево директорий

  • удалить файл с именем ‘file1’

  • удалить директорию с именем ‘dir1’

  • удалить директорию с именем ‘dir1’ и рекурсивно всё её содержимое

  • удалить две директории и рекурсивно их содержимое

  • переименовать или переместить файл или директорию

  • скопировать файл file1 в файл file2

  • копировать все файлы директории dir в текущую директорию

  • копировать директорию dir1 со всем содержимым в текущую директорию

  • копировать директорию dir1 в директорию dir2

  • создать символическую ссылку на файл или директорию

  • создать «жёсткую» (физическую) ссылку на файл или директорию

  • модифицировать дату и время создания файла, при его отсутствии, создать файл с указанными датой и временем (YYMMDDhhmm)

Право собственности на файлы и разрешения

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

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

  • Владелец файла.
  • Члены группы.
  • Все остальные.

К каждому классу применяются три типа разрешений:

  • Разрешение на чтение.
  • Разрешение на запись.
  • Разрешение на выполнение.

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

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

Изменение разрешений (команда )

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

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

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

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

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

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

Чтобы рекурсивно работать со всеми файлами и каталогами в данном каталоге, используйте команду с параметром -R, (–recursive):

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

Смена владельца (команда )

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

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

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

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

Повышение привилегий (команда )

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

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

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

Процессы

— выводит список процессов, выполняющихся в текущий момент

— выводит задачи

— выводит список активных заданий

— переводит задание в фоновый режим работы

— переводит задание в режим работы на переднем плане

— посылает сигнал процессу

Часто используемые сигналы
Номер Имя Значение
1 HUP Этот сигнал используется, чтобы подсказать программе, что потеряна связь с управляющим терминалом. Действие этого сигнала можно продемонстрировать, закрыв окно терминала. Программа переднего плана, запущенная в терминале, получит сигнал и завершится
2 INT Прервать. Выполняет ту же функцию, что и нажатие комбинации CTRL+C в терминале. Обычно приводит к завершению программы
3 QUIT Выйти
9 KILL Уничтожить. Ядро немедленно завершает указанный процесс
11 SEGV Ошибка сегментации. Этот сигнал посылается программе, предпринявшей попытку недопустимого обращения к памяти, то есть попытку выполнить запись в память, доступ к которой запрещен
15 TERM Завершить. Это сигнал по умолчанию, посылаемый командой . Если программа достаточно «живая», чтобы принять этот сигнал, она завершится
18 CONT Продолжить. Этот сигнал восстанавливает нормальную работу процесса после сигнала STOP
19 STOP Приостановить. Этот сигнал заставляет процесс приостановиться, не завершаясь. Подобно сигналу , он не передается целевому процессу и потому не может быть проигнорирован им
20 TSTP Сигнал «стоп» с клавиатуры. Этот сигнал посылается терминалом после нажатия комбинации CTRL+Z. В отличие от сигнала STOP, TSTP передается программе, и программа может решить игнорировать его
28 WINCH Изменение окна. Этот сигнал посылается системой при изменении размеров окна терминала. Некоторые программы, такие как top и less, реагируют на этот сигнал, обновляя свой вывод в соответствии с новыми размерами окна терминала

— останавливает процессы по именам

— останавливает или перезагружает систему

Управление процессами в Linux.

ps
ps —help
Список всех процессов, запущенных в системе:ps -e — выдаст список процессов с идентификаторами
( PID ) и их именами
или:ps -eF — выдаст тот же список процессов, но с полной строкой запуска
список задач, порожденных пользователем user:ps -U user
список задач, связанных с текущим терминалом:ps -T
список задач, связанных с терминалом N:ps t ttyN
Если список задач большой, а нас интересует состояние одной или нескольких
задач, можно воспользоваться grep:ps -U root | grep ppp — выдать список задач, содержащих «ppp» в имени
    Для получения сведений об использовании ресурсов компьютера можно
воспользоваться командой top

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

s или d — изменить
интервал обновления окна.

z — цветное/черно-белое отображение

n или # — количество отображаемых
процессов
Можно отсортировать список процессов по использованию ресурсов процессора
(P), памяти (M),
времени выполнения (T) и т.п.
    В среде утилиты top также существуют подкоманды, которые позволяют управлять процессами в интерактивном режиме:

k — снять ( kill ) задачу. По этой команде будет
запрошен идентификатор процесса ( PID ), после ввода которого, процесс будет
завершен.

r — изменить текущий приоритет задачи (renice).
Как и при выполнении предыдущей команды, будет запрошен PID, и затем, новое значение
приоритета (отображается в колонке NI). Диапазон значений приоритетов — от минус 20
(наивысший) до плюс 19. Отрицательные значения и 0 может устанавливать только
пользователь root.
    Для выхода из top нажмите q

    Эти же действия (принудительное завершение процесса и изменение его приоритета)
можно выполнить и без команды top.
    Процессы в Linux имеют возможность обмениваться
так называемыми «сигналами» с ядром и другими процессами. При получении сигнала
процессом, управление передается подпрограмме его обработки или ядру, если такой подпрограммы не существует. В Linux имеется команда kill, которая позволяет послать заданному процессу любой сигнал. Список сигналов можно получить по команде:kill -l
В результате выполнения этой команды вы увидите список номеров и названий сигналов.
Для того, чтобы послать определенный сигнал выбранному процессу, нужно ввести:kill номер PID выбранного процесса
Например, нам нужно завершить работу приложения Midnight Commander (mc).
Определим идентификатор процесса mc:ps -e | grep mc
Пусть PID= 11597.

Работа с командами

— сообщает, как интерпретируется имя указанной команды

— сообщает, какая программа будет выполнена

— выводит страницу справочного руководства с описанием команды

Организация справочного руководства для команды
Раздел Содержит
1 Пользовательские команды
2 Программные интерфейсы системных вызовов в ядре
3 Программные интерфейсы в библиотеке C
4 Специальные файлы, такие как узлы устройств и драйверы
5 Форматы файлов
6 Игры и развлечения, такие как хранители экрана
7 Прочее
8 Команды системного администрирования

— выводит список подходящих команд

— выводит запись из справочного руководства Info с описанием команды

— выводит краткое описание команды

— показывает где файл

— создает псевдоним для команды

Смотрим информацию о системе в Linux

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

Способ 1: Hardinfo

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

  1. Запустите «Терминал» и введите там команду .
  2. Введите пароль для подтверждения рут-доступа (вводимые символы при этом отображаться не будут).
  3. Подтвердите добавление новых файлов, выбрав соответствующий вариант.
  4. Осталось только запустить программу через команду .
  5. Теперь откроется графическое окно, разделенное на две панели. Слева вы видите категории с информацией о системе, пользователях и компьютере. Выберите подходящий раздел и справа появится сводка обо всех данных.
  6. С помощью кнопки «Создать отчет» вы можете сохранить копию сведений в любом удобном виде.
  7. Например, готовый файл формата HTML потом с легкостью открывается через стандартный браузер, в текстовом варианте отображая характеристики ПК.

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

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

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

Откройте меню и запустите консоль, также вы можете это сделать, зажав комбинацию клавиш Ctrl + Alt + T.
Для начала достаточно прописать команду , а затем нажать на Enter, чтобы отобразилось имя учетной записи.

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

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

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

Сразу же после ввода команды вы увидите соответствующие строки в консоли.
Более сжатая информация предоставляется в следующем виде:

— память в мегабайтах;

— гигабайтах;

— в упрощенном читабельном виде.

За файл подкачки отвечает . Вы сможете узнать не только о самом существовании такого файла, но и увидите его объем.
Если вас интересует текущая версия дистрибутива Ubuntu, используйте команду . Вы получите справку о версии и узнаете кодовое имя с описанием.
Однако существуют дополнительные команды, позволяющие получить более детальные данные об операционной системе. Например, отображает версию ядра, — архитектуру, а — общую информацию.
Пропишите , чтобы увидеть список всех подключенных жестких дисков и активных разделов. Кроме этого, здесь отображается и сводка об их объемах.
Чтобы детально изучить разметку диска (количество секторов, их размер и тип), следует прописать , где sda — выбранный накопитель.
Обычно к компьютеру подсоединяются дополнительные девайсы через свободные USB-разъемы или посредством технологии Bluetooth. Просмотр всех устройств, их номера и идентификатора выполняется с помощью .
Пропишите или , чтобы вывести сводку об активном графическом драйвере и использующейся видеокарте.

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

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

cat

Команда cat выводит содержание файлов в окне терминала.

cat позволяет:

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

Синтаксис команды cat:

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

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

Основные опции cat:

  • -b — нумеровать только строки с содержимым;
  • -E — выводить $ в конец каждой строки;
  • -n — нумеровать все строки;
  • -s – удалять повторы пустых строк;
  • -T — выводить табуляции в виде ^I.

Автоматическое удаление старых файлов

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

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

Вот так выглядит сама команда:

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

Подробнее о работе find можно почитать тут. Для полной автоматизации добавим выполнение этой команды каждый день в расписание cron:

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

Другие полезные команды

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

  • вызов руководства по работе с программой, в данном случае, — ping

  • отображает описание действий указанной программы

  • создаёт загрузочный флоппи-диск

  • зашифровать файл file1 с помощью GNU Privacy Guard

  • дешифровать файл file1 с помощью GNU Privacy Guard

  • загружает рекурсивно содержимое сайта http://www.example.com

  • загрузить файл http://www.example.com/file.iso с возможностью останова и продолжения в последствии

  • начать закачку в указанное время

  • вывести список библиотек, необходимых для работы ssh

  • назначить алиас hh команде history

Пользователи и группы

  • создать новую группу с именем group_name

  • удалить группу group_name

  • переименовать группу old_group_name в new_group_name

  • создать пользователя user1, назначить ему в качестве домашнего каталога /home/user1, в качестве shell’а /bin/bash, включить его в группу admin и добавить комментарий Nome Cognome

  • создать пользователя user1

  • удалить пользователя user1 и его домашний каталог

  • изменить атрибуты пользователя

  • сменить пароль

  • сменить пароль пользователя user1 (только root)

  • установить дату окончания действия учётной записи пользователя user1

  • проверить корректность системных файлов учётных записей. Проверяются файлы /etc/passwd и /etc/shadow

  • проверить корректность системных файлов учётных записей. Проверяется файл/etc/group

  • изменить первичную группу текущего пользователя. Если указать «-», ситуация будет идентичной той, в которой пользователь вышил из системы и снова вошёл. Если не указывать группу, первичная группа будет назначена из /etc/passwd

История очистки

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

Чтобы очистить список истории, используйте параметр :

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

Например, чтобы удалить строки между 365 и 375 (включая эти строки), вы должны ввести:

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

Когда используется отрицательное целое число, строки отсчитываются от конца списка истории.

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

Специальные атрибуты файлов

  • позволить открывать файл на запись только в режиме добавления

  • позволяет ядру автоматически сжимать/разжимать содержимое файла

  • указавет утилите dump игнорировать данный файл во время выполнения backup’а

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

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

  • указывает, что, при сохранении изменений, будет произведена синхронизация, как при выполнении команды sync

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

  • показать атрибуты файлов

Процессы

Упоминая UNIX, нельзя не сказать несколько слов об управлении процессами.

Процесс — экземпляр выполняющейся программы

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

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

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

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

При использовании конвейера совместно со знаком амперсанда (&) идентификатор процесса тлько один, не смотря на то, что в конвейере запущено несколько команд.

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

Задачи

Раздел «Задачи» показывает статистику процессов, запущенных в вашей системе. «Общее» значение — это просто общее количество процессов. Например, на приведенном выше снимке экрана запущено 142 процесса. Чтобы понять остальные значения, нам нужно немного рассказать о том, как ядро ​​Linux обрабатывает процессы.

Процессы выполняют смешанную работу, связанную с вводом / выводом (например, чтение дисков), и работу, связанную с ЦП (например, выполнение арифметических операций). Процессор простаивает, когда процесс выполняет ввод / вывод, поэтому ОС переключаются на выполнение других процессов в течение этого времени. Кроме того, ОС позволяет заданному процессу выполняться в течение очень небольшого промежутка времени, а затем переключается на другой процесс. Вот как ОС выглядят так, как если бы они были «многозадачными». Выполнение всего этого требует от нас отслеживания «состояния» процесса. В Linux процесс может находиться в следующих состояниях:

Runnable (R): процесс в этом состоянии либо выполняется на CPU, либо присутствует в очереди на выполнение, готовый к выполнению.
Прерываемый сон (S): процессы в этом состоянии ожидают завершения события.
Непрерывный сон (D): в этом случае процесс ожидает завершения операции ввода-вывода.
Остановлено (T): эти процессы были остановлены сигналом управления заданием (например, нажатием Ctrl + Z) или потому, что они отслеживаются.
Zombie (Z): ядро ​​поддерживает различные структуры данных в памяти, чтобы отслеживать процессы. Процесс может создать несколько дочерних процессов, и они могут завершиться, пока родительский процесс еще существует. Однако эти структуры данных должны храниться до тех пор, пока родительский объект не получит статус дочерних процессов. Такие завершенные процессы, чьи структуры данных все еще существуют, называются зомби.
Процессы в состояниях D и S показаны в «спящем» режиме, а процессы в состоянии T — в «остановленном». Количество зомби показано как значение «зомби».

Jenkins и GitLab CI/CD: сильные и слабые стороны

?Сильные стороны Jenkins

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

?Слабые стороны Jenkins

  • При использовании плагинов могут возникать сложности.
  • При использовании Jenkins в маленьких проектах затраты времени, необходимые на его самостоятельную настройку, могут оказаться неоправданно большими.
  • Отсутствие общих аналитических сведений по CI/CD-цепочкам.

?Сильные стороны GitLab CI/CD

  • Хорошая интеграция с Docker.
  • Простое масштабирование раннеров.
  • Параллельное выполнение задач, входящих в состав стадий CI/CD-конвейера.
  • Использование модели ориентированного ациклического графа при настройке взаимоотношений задач.
  • Высокий уровень масштабируемости за счёт возможности параллельного выполнения раннеров.
  • Лёгкость добавления задач.
  • Простое разрешение конфликтов.
  • Надёжная система безопасности.

?Слабые стороны GitLab CI/CD

  • Для каждой задачи нужно описывать и загружать/выгружать артефакты.
  • Нельзя протестировать результаты объединения веток до их фактического объединения.
  • При описании стадий CI/CD-конвейера в них пока нельзя выделять отдельные этапы.
Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Работатека
Добавить комментарий

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