42 команды linux которые вы должны знать

Linux команды консоли для работы с текстом

19. more / less

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

20. head / tail

Ещё одна пара, но здесь у каждой команды своя область применения. Утилита head выводит несколько первых строк из файла (голова), а tail выдает несколько последних строк (хвост). По умолчанию каждая утилита выводит десять строк. Но это можно изменить с помощью опции -n. Ещё один полезный параметр -f, это сокращение от follow (следовать). Утилита постоянно выводит изменения в файле на экран. Например, если вы хотите следить за лог файлом, вместо того, чтобы постоянно открывать и закрывать его, используйте команду tail -nf.

21. grep

Grep, как и другие инструменты Linux, делает одно действие, но делает его хорошо: она ищет текст по шаблону. По умолчанию она принимает стандартный ввод, но вы можете искать в файлах. Шаблон может быть строкой или регулярным выражением. Она может вывести как совпадающие, так и не совпадающие строки и их контекст. Каждый раз, когда вы выполняете команду, которая выдает очень много информации, не нужно анализировать всё вручную — пусть grep делает свою магию.

22. sort

Сортировка строк текста по различным критериям. Наиболее полезные опции: -n (Numeric), по числовому значению, и -r (Reverse), которая переворачивает вывод. Это может быть полезно для сортировки вывода du. Например, если хотите отсортировать файлы по размеру, просто соедините эти команды.

24. diff

Показывает различия между двумя файлами в построчном сравнении. Причём выводятся только строки, в которых обнаружены отличия. Измененные строки отмечаются символом «с», удалнные — «d», а новые — «а». Подробнее — здесь.

Кстати, я подготовил ещё одну подробную статью, в которой описан именно просмотр содержимого текстового файла в Linux c помощью терминала.

Настройка Jenkins

  1. Запустите , чтобы получить общедоступный IP-адрес для образца виртуальной машины.

    Основные моменты:

    Параметр —query ограничивает выходные данные к общедоступным IP-адресам виртуальной машины.

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

    Основные моменты:

    После успешного подключения в запросе Cloud Shell содержится имя пользователя и имя виртуальной машины: azureuser@jenkins-get-started-vm.

  3. Убедитесь, что Jenkins выполняется и получает состояние от службы Jenkins.

    Основные моменты:

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

  4. Получите автоматически сформированный пароль Jenkins.

  5. Используя IP-адрес, откройте следующий URL-адрес в браузере:

  6. Введите ранее полученный пароль и выберите Продолжить.

  7. Щелкните Select plugins to install (Выбрать подключаемые модули для установки).

  8. В поле фильтра в верхней части страницы введите . Выберите подключаемый модуль GitHub, а затем — Установить.

  9. Введите сведения для первого администратора и выберите Сохранить и продолжить.

  10. На странице Конфигурация экземпляра выберите Сохранить и завершить.

  11. Выберите Start using Jenkins (Начать работу с Jenkins).

Базовые команды для работы с терминалом

То, что поможет при работе с консолью в целом.

  • clear — очищает всю выведенную в консоль информацию. Пригодится на тот случай, если терминал будет забит выводом других команд или содержимом ранее открытых документов. Помогает «начать с чистого листа».
  • history — отображает ранее введенные команды. По умолчанию показывает 10 последних, но при желании это значение можно изменить, добавив в качестве параметра любое число. Например, history 17, чтобы показать 17 последних выполненных операций.
  • whatis — вкратце описывает любую установленную программу. Вводим whatis и скармливаем ей в качестве аргумента название интересующей утилиты. Чтобы узнать, что такое wget, напишем whatis wget и получим краткую справку одной строкой.
  • man — демонстрирует подробное руководство по выбранной программе или команде. Чтобы выяснить, как работает wget и какие опции для него доступны, введем man wget. Получим массивное полотно со всей документацией для выбранной утилиты. P.S. Выйти из нее можно нажав на клавишу Q.

Работа с Jenkins в CLI

По умолчанию, необходимый для работы с Jenkins из командной строки файл jenkins-cli.jar не копируется в систему.

Его нужно скачать. Выполняем:

wget http://127.0.0.1:8080/jnlpJars/jenkins-cli.jar -P /usr/local/bin/

* таким образом, мы скачаем файл с собственного сервера и разместим его в папке /usr/local/bin/.

Теперь можно выполнять команды с синтаксисом:

java -jar /usr/local/bin/jenkins-cli.jar -auth <имя пользователя>:<пароль> -s http://127.0.0.1:8080/ <выполняемые команды и опции>

Например, получить список команд можно так:

java -jar /usr/local/bin/jenkins-cli.jar -auth admin:admin -s http://127.0.0.1:8080/ -webSocket help

* где admin:admin — логин и пароль от административной учетной записи.

Использование командной строки для уничтожения процесса в Windows

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

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

  1. Чтобы использовать Taskkill, сначала откройте командную строку. Введите cmd в поле поиска и щелкните Запуск от имени администратора на правой панели.
  1. Прежде чем вы сможете использовать Taskkill, вам необходимо знать имя или PID рассматриваемой задачи. Введите список задач, чтобы получить список всех запущенных процессов на вашем компьютере.
  1. Теперь вы можете использовать команду Taskkill двумя способами. Чтобы использовать PID, введите taskkill / F / PID x, где x — это PID процесса, который вы хотите убить. Вы получите уведомление, если операция прошла успешно.
  1. Если вы хотите вместо этого ввести имя, используйте taskkill / IM «x» / F, где x — это имя рассматриваемого процесса.

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

access jenkins cli commands from linux

to run the jenkins cli command in linux machine, you need java so install java in your linux machine. and download jenkins-cli.jar file. go to the location where you downloaded the jenkins-cli.jar file and execute below jenkins cli commands.

To list all jenkins commands

java -jar jenkins-cli.jar -s http://18.205.24.13:8080 -auth username:password

java -jar jenkins-cli.jar -s http://18.205.24.13:8080/  -auth decodingdevops:devops

here http://18.205.24.13:8080/ is my jenkins url or path.

here decodingdevops is my username and devops is my password , here you have to enter your username:password

java -jar jenkins-cli.jar -s http://18.205.24.13:8080/  -auth   username:password

or  you can use api token for password

java -jar jenkins-cli.jar -s http://18.205.24.13:8080/ -auth username:12cb4a9876b0414fa8e9453e93a7d218

for api token of perticular user you can go to manage jenkins and go to manage users and clcik on configuration(gear)  symbol. it will open new window like below image click on show API token, it will show you API token for that user.

when you are executing jenkins cli commands for the first time in windows if you get any error like JAVA is not recognized as an internal or external command see this.

JAVA is not recognized as an internal or external command

Post-installation setup wizard

After downloading, installing and running Jenkins using one of the procedures
above (except for installation with Jenkins Operator), the post-installation setup wizard begins.

This setup wizard takes you through a few quick «one-off» steps to unlock
Jenkins, customize it with plugins and create the first administrator user
through which you can continue accessing Jenkins.

Unlocking Jenkins

When you first access a new Jenkins instance, you are asked to unlock it using
an automatically-generated password.

  1. Browse to (or whichever port you configured for
    Jenkins when installing it) and wait until the Unlock Jenkins page appears.

  2. From the Jenkins console log output, copy the automatically-generated
    alphanumeric password (between the 2 sets of asterisks).

    Note:

    • The command: will print the password at console.

    • If you are running Jenkins in Docker using the official image you can use to print the password in the console without having to exec into the container.

  3. On the Unlock Jenkins page, paste this password into the Administrator
    password field and click Continue.Notes:

    • You can always access the Jenkins console log from the Docker logs
      ().

    • The Jenkins console log indicates the location (in the Jenkins home directory)
      where this password can also be obtained. This password must be entered in the
      setup wizard on new Jenkins installations before you can access Jenkins’s main
      UI. This password also serves as the default admininstrator account’s password
      (with username «admin») if you happen to skip the subsequent user-creation
      step in the setup wizard.

Customizing Jenkins with plugins

After , the Customize Jenkins page
appears. Here you can install any number of useful plugins as part of your
initial setup.

Click one of the two options shown:

  • Install suggested plugins — to install the recommended set of plugins, which
    are based on most common use cases.

  • Select plugins to install — to choose which set of plugins to initially
    install. When you first access the plugin selection page, the suggested
    plugins are selected by default.

If you are not sure what plugins you need, choose Install suggested
plugins.
You can install (or remove) additional Jenkins plugins at a later point in time
via the
Manage Jenkins >
Manage Plugins page in Jenkins.

The setup wizard shows the progression of Jenkins being configured and your
chosen set of Jenkins plugins being installed. This process may take a few
minutes.

Creating the first administrator user

Finally, after , Jenkins asks you to create your first administrator user.

  1. When the Create First Admin User page appears, specify the details for your
    administrator user in the respective fields and click Save and Finish.

  2. When the Jenkins is ready page appears, click Start using Jenkins.Notes:

    • This page may indicate Jenkins is almost ready! instead and if so, click
      Restart.

    • If the page does not automatically refresh after a minute, use your web
      browser to refresh the page manually.

  3. If required, log in to Jenkins with the credentials of the user you just
    created and you are ready to start using Jenkins!

Системные команды Linux

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

1. uname

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

Следующая команда uname с опцией  отображает всю информацию об операционной системе.

2. uptime

Информация о том, как долго работает система Linux, отображается с помощью команды uptime. Информация о времени безотказной работы системы собирается из файла ‘/proc/uptime‘. Эта команда также отобразит среднюю нагрузку на систему.

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

Полное руководство команды Uptime

3. hostname

Вы можете отобразить имя хоста вашей машины, введя  в своем терминале. С помощью опции  вы можете просмотреть ip-адрес компьютера. А с помощью параметра  вы можете просмотреть доменное имя.

4. last

Команда last в Linux используется для определения того, кто последним вошел в систему на вашем сервере. Эта команда отображает список всех пользователей, вошедших (и вышедших) из «/var/log/wtmp » с момента создания файла.

Вам просто нужно ввести «last» в своем терминале.

5. date

В Linux команда date используется для проверки текущей даты и времени системы. Эта команда позволяет задать пользовательские форматы для дат.

Рекомендуем статью Команда Date (Дата) в Linux с примерами использования

Например, используя «date +%D«, вы можете просмотреть дату в формате «ММ/ДД/ГГ«.

6. cal

По умолчанию команда cal отображает календарь текущего месяца. С помощью опции  вы можете просмотреть календарь на весь год.

9. reboot

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

10. shutdown

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

По умолчанию компьютер (сервер) выключится через 1 минуту. Вы можете отменить расписание, выполнив команду:

Немедленное отключение тоже возможно, для этого используется опция «now»

Системные компоненты и данные

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

df — отображает количество свободного пространства на жестком диске. Правда, в неудобном формате, в виде блоков. Поэтому обычно эту утилиту используют вкупе с опцией -m, чтобы конвертировать данные в привычные и удобоваримые мегабайты.

du — показывает, сколько весит конкретный элемент файловой системы. Чтобы узнать, сколько места занимает timeweb.html на моем рабочем столе, введу в терминал следующее: du ~/Desktop/timeweb.html. По пути столкнусь с той же проблемой, что сталкивался при работе с df. Опять эти блоки. Меняем на мегабайты с помощью ключа -h. Получится du -h ~/Desktop/timeweb.html

free — это df для оперативной памяти. Показывает, сколько свободно и сколько используется.

uname — рассказывает подробности о системе. Обычно используется с аргументом -a, чтобы вывести сразу все данные, включая время и разрядность установленной операционной системы. А вообще можно по отдельности доставать что-то конкретное – имя ядра через опцию -s, имя ноды через опцию -n, тип процессора через опцию -p.

whoami — расскажет, кто вы такой, если вдруг забыли. Ваш логин при подключении к серверу.

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

cron — планировщик задач. Используется, чтобы задать конкретную дату и время для выполнения скриптов и запуска команд. Настраивается в панели управления хостинга.

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

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

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

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

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

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

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

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

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

Инсталляция Jenkins

Как было сказано выше, мы установим openjava, сервис Jenkins и завершим развертывания на портале. Итого, 3 этапа.

1. Установка openjdk

Выполняем команду:

yum install java-11-openjdk-devel

Выбираем директорию для java по умолчанию с помощью утилиты update-alternatives:

update-alternatives —config java

И на запрос:

  Selection    Command
————————————————
*+ 1           java-11-openjdk.x86_64 (/usr/lib/jvm/java-11-openjdk-11.0.9.11-0.el8_2.x86_64/bin/java)

… выбираем единственно предложенный вариант:

Enter to keep the current selection, or type selection number: 1

* если в системе установлено несколько версий java, выбираем актуальную.

Готово. Смотрим версию установленной java:

java -version

Мы должны увидеть что-то на подобие:

openjdk version «11.0.9» 2020-10-20 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.9+11-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.9+11-LTS, mixed mode, sharing)

2. Установка Jenkins

Для установки сервиса Jenkins добавляем репозиторий:

wget -P /etc/yum.repos.d/ https://pkg.jenkins.io/redhat-stable/jenkins.repo

Импортируем публичный ключ для подключения к репозиторию:

rpm —import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

Устанавливаем jenkins:

yum install jenkins

Разрешаем автозапуск и стартуем сервис:

systemctl enable jenkins

systemctl start jenkins

3. Завершение установки

Открываем браузер и переходим по адресу http://<IP-адреса сервера Jenkins>:8080 — откроется окно «Unlock Jenkins». В нем будет путь до файла, в котором нужно взять парольную фразу для разблокировки портала:

И так, на сервере вводим команду:

cat /var/lib/jenkins/secrets/initialAdminPassword

* где /var/lib/jenkins/secrets/initialAdminPassword — полный путь до файла, который отображен на стартовой странице установки.

Мы должны увидеть что-то на подобие:

# cat /var/lib/jenkins/secrets/initialAdminPassword
35635dce8b014707a2ec90937763cfe3

Используем данный пароль и вставляем его в поле Administrator password:

В следующем окне выбираем вариант установки плагинов — рекомендованные или по выбору:

* если мы не слишком хорошо знакомы с продуктом, выбираем рекомендованные плагины.

Начнется процесс развертывания Jenkins:

После создаем учетную запись для администратора:

На последней странице мы можем задать URL-адрес для нашего портала (или оставить IP-адрес):

Установка завершена.

Команды Linux связанные с установкой пакета

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

78. rpm

RPM (менеджер пакетов) — это утилита управления пакетами, используемая для установки, удаления, обновления, запроса и проверки пакетов программного обеспечения.

80. yum

Yum (измененное средство обновления Yellowdog) — это утилита, предоставляется в системах RHEL для установки, удаления и поиска пакетов. Например, Yum автоматически устанавливает зависимости пакетов. , установит сервер «apache».

81. Apt

Apt — это инструмент командной строки для установки, обновления и удаления пакетов deb в Ubuntu, Debian и подобных дистрибутивах Linux.

Просмотр истории входа в Linux

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

  • /var/log/wtmp – Логи последних сеансов входа
  • /var/run/utmp – Журналы текущих сеансов входа
  • /var/log/btmp – Журналы неудачных попыток входа

Давайте посмотрим на эти вещи немного подробнее.

1. Просмотр истории всех зарегистрированных пользователей

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

Вывод должен выглядеть следующим образом. Как видите, в нем перечислены пользователи, IP-адрес, с которого пользователь получил доступ к системе, дата и время входа в систему. pts/0 означает доступ к серверу через SSH.

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

У вас может быть огромная история сеансов входа в систему, поэтому лучше передать вывод с помощью команды less.

2. Просмотр истории входа определенного пользователя

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

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

3. Отображать IP-адреса в истории входа вместо имени хоста

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

Вы можете принудительно отобразить IP-адреса ранее зарегистрированных пользователей с помощью опции -i.

4. Отображать только последние N логинов

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

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

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

5. Просмотр всех неудачных попыток входа на ваш сервер Linux

Теперь важная часть: проверка неудачных попыток входа на ваш сервер.

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

или вы можете использовать команду lastb:

Обе эти команды дадут одинаковый результат. Lastb на самом деле является ссылкой на последнюю команду с указанным файлом.

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

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

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

Заключение

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

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Мой редактор ОС
Добавить комментарий

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