День 3/90 с Шубхамом Лондхе

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

Давайте начнем! 💯

⫸ Основные команды 😊

✍ мкдир

mkdir linux-basics: создает новый каталог с указанным именем.

  • mkdir dev qa prod : создает несколько каталогов одновременно.
  • mkdir logfolder{1..10} : создает диапазон каталогов с порядковыми номерами от 1 до 10.

✍ sudo: означает «суперпользователь делает»

sudo [options] [cmd]: используется для выполнения команд в качестве пользователя root или суперпользователя.

  • sudo apt-get update : обновляет список пакетов

  • sudo -u username touch file.txt: создает новый файл «file.txt» с владельцем «имя пользователя».

  • sudo -s : запускает новую оболочку с привилегиями root.

✍ история

history: отображать все команды, которые мы выполнили на терминале.

✍ ls

ls : вывести содержимое текущего рабочего каталога

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

  • ls -R : рекурсивно перечислить содержимое текущего каталога и его подкаталогов.

  • ls -r : обратный порядок отображения. Старые файлы перечислены первыми.
  • ls -h : отображать размер файла в удобочитаемом формате. например, КБ, МБ или ГБ.

мы также можем комбинировать вышеуказанные варианты:

  • ls -alh : отображать содержимое каталога, включая скрытые файлы, в длинном формате с размером файла, отображаемым в удобочитаемом формате.

✍ cd

cd <path/to/directory> : приведет вас к указанному пути к каталогу.

  • cd ~ : используется для перехода в домашний каталог.
  • cd /: перейти в корневой каталог
  • cd .. : перейти на один каталог вверх

✍ пвд

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

⫸ Операции с файлами 📁

✍ коснитесь

touch: Эта команда помогает создать новый файл.

✍ кошка

cat filename : используется для отображения содержимого файла

  • cat file1 file2 > newfile : объединить содержимое файла1 и файла2 в новый файл.
  • cat file1 >> file2 : добавляет содержимое файла1 к ​​файлу2.
  • cat -n filename : отображать содержимое с номерами строк.
  • cat -E filename : отображать содержимое со знаком $ в конце каждой строки.
  • cat -T filename : отображать содержимое имени файла с вкладками.

cp

cp src dest : скопировать файл/каталог в другое место

  • cp file1.txt file2.txt: это скопирует содержимое файла1 в файл2, который находится в том же каталоге.

  • cp -v file.txt dev: копирует файл .txt в каталог dev в подробном режиме. Таким образом, вы смогли увидеть прогресс.

  • cp -r dev qa : копирует каталог и подкаталог в целевой каталог

✍ mv

mv file.txt file3.txt : перемещает или переименовывает файл или каталог.

✍ rm

rm file/directory_name : удаляет файл или каталог

  • rm file.txt : удалить файл
  • rm -r qa : рекурсивно удалить файл и папки.

  • rm -rf prod: принудительно удаляет каталог/файл, чтобы удалить каталог, нам нужно использовать -r.

⫸ Обработка текста 📋

✍ грэп

grep [options] [pattern] [filename] : «глобальный поиск регулярного выражения и печать». Он используется для текстового поиска и фильтрации на основе регулярных выражений и возвращает строки, соответствующие шаблону.

Например: анализ журнала, мониторинг системы и отладка кода.

  • grep "INFO" logfile.txt: это вернет поиск с ключевым словом INFO из logfile.txt.

  • grep "ERROR" -r -i /home/ubuntu: это попытается найти ключевое слово «ошибка» в пути /home.

  • top | grep -i systemd: grep можно комбинировать с другими командами Linux и искать точный шаблон.

  • df -h | grep -i /dev/shm: здесь мы объединили команду grep с командой disk space и искали /dev/shm

✍ авк

awk <condition> {<action>} filename: awk — это язык программирования со своим собственным синтаксисом. Он используется для обработки текста и манипулирования им.

Например: извлечение данных, создание отчетов или манипулирование данными.

  • awk '/INFO/ {print $1 $2 $3 $6} logfile.txt: здесь вы можете передать шаблон «INFO» и условие для печати столбцов 1, 2, 3 и 6 файла журнала.

  • awk -F',' '{print $1, $3}' fruits.txt : это разделит разделитель и напечатает значения столбцов 1 и 3 в выводе.

  • awk -F',' '$2 > 75 {print $1}' marks.txt : Это будет разделено по разделителю, а затем по оценкам учащихся и будет напечатано их имена, если оценки превышают 75.

✍ найти

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

Например: управление файлами, резервное копирование и системное администрирование.

  • find . -name "logfile.txt" : это найдет файл по имени в текущем каталоге и его подкаталогах.
  • find . -name "*.txt": будут найдены все файлы с расширением .txt.

  • find . -type d : это находит все каталоги из текущего каталога.
  • find . -type f -size +10M : это находит все больше 10M
  • find . -name "logfile.txt" -delete : удаляет все файлы, которые соответствуют имени файла.

✍ сед

sed [options] [pattern] [filename] : Используется для поиска, преобразования и замены в файле/выводе команды.

  • sed -i 's/bitter/awesome/g' logfile.txt: старый текст заменяется новым текстом в файле. -i означает редактирование файла на месте, -g означает замену всех вхождений, а -s означает замену старого значения новым.

  • sed -i '3s/cool/sweet/' file.txt: заменить первое вхождение старого текста новым текстом, но только в строке 3 файла

  • sed -i ‘/awesome/d’ file.txt : удалить все строки, содержащие слово «круто» в файле.

⫸ Информация о системе

✍ топ

top : показывает использование системных ресурсов в режиме реального времени.

✍ ps

ps: предоставляет информацию о запущенных процессах.

✍ df

df : указывает использование дискового пространства

✍ бесплатно

free : показывает использование системной памяти

✍ имя

uname -u : отображает имя системы

⫸ Сеть

✍ пинг

ping google.com: проверяет подключение, отправляя пакеты на хост.

✍ сш

ssh -i user@remote_host: Это позволяет подключиться к удаленному серверу через ssh

✍ объект

scp filename remotehost:localpath: эти команды копируют файлы с удаленного хоста в локальную систему.

⫸ Управление пользователями и группами

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

✍ добавить пользователя

useradd username: это добавит нового пользователя

✍ пароль

passwd username : изменить пароль пользователя

  • cat \etc\passwd : просмотреть всех пользователей

✍ групповое добавление

groupadd grpname : создаст новую группу

  • cat \etc\group : просмотреть все группы

✍ gpasswd

  • gpasswd -a username grpname : добавить в группу одного пользователя
  • gpasswd -M user1,user2 groupname : добавить в группу нескольких пользователей.
  • gpasswd -A username grpname : создать администратора группы.
  • gpasswd -d username groupname : удалить пользователя из группы.

✍ делюзер

deluser username : это удалит учетную запись пользователя.

⫸ Разрешение на файл

✍ чмод

Классы разрешений:

Тип: тип файла или каталога.

  1. Владельцы: они являются владельцами файла
  2. Группа: Разрешение для групп
  3. Другое: Разрешение для других пользователей. например, вы могли использовать кнопку «Поделиться» в документе Word.

Существует три типа разрешений: чтение (r), запись (w) и выполнение (x).

Возьмем пример

В приведенном выше примере Fruit.txt имеет

  1. Владелец: у него есть права на чтение и запись (4: чтение) + (2: запись) = 6
  2. Группа: права на чтение и запись (4: чтение) + (2: запись) = 6
  3. Другое: только прочитано (4: прочитано) = 4

Следовательно, текущее разрешение для файла — 664.

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

  • Первые 7 указывают на владельца, чтобы изменить его разрешение, нам нужны права на чтение (4), запись (2) и выполнение (1), которые представлены 4 + 2 + 1 = 7.
  • Группа имеет права на чтение (4), запись (2) и выполнение (1), которые представлены как 4+2+1=7.
  • Все остальные пользователи имеют только право на запись, которое представлено 0+2+0=2.

chmod 772 fruits.txt : Это изменит разрешение файла fruit.txt с 664 на 772.

Здесь в -rwxrwx-w-` первый представляет собой обычный файл.

⫸ Разное

✍ голова

head filename : отображать верхнее содержимое файла, по умолчанию 10 строк.

head -n 3 filename : Отображает 3 верхние строки файла.

✍ хвост

tail filename : отображать нижние строки файлов

tail -n 3 filename : показать нижние 3 строки файлов

✍ разница

diff file1 file2: показывает разницу между двумя файлами.

  • Любая строка, уникальная в файле1, будет отмечена символом ‹.
  • Строки, уникальные в файле2, будут отмечены символом ›

Большой! Если вы дошли до конца. Это указывает на то, что у вас много терпения.

Это #Day3 из #90daysofdevops с Shubham Londhe



Добавьте хлопков, если вам понравилась статья 👏

Подпишитесь на другие подобные материалы ❤