LINUX для инженеров DevOps

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

Дистрибутивы Linux, такие как Ubuntu, Fedora, Debian, CentOS и многие другие, берут ядро Linux и объединяют его с дополнительными программными пакетами, утилитами и графическими интерфейсами для создания полноценных операционных систем, готовых к использованию конечными пользователями.

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

Структура папок в Linux

Структура папок в Ubuntu Linux соответствует стандарту Filesystem Hierarchy Standard (FHS), который представляет собой стандарт организации файлов и каталогов в Unix-подобных операционных системах. Ниже приведен обзор основных каталогов, которые обычно встречаются в Ubuntu:

  • /bin: Содержит основные исполняемые файлы командной строки (двоичные файлы), доступные всем пользователям.
  • /boot: Содержит файлы, связанные с процессом загрузки, включая ядро Linux, начальный ramdisk (initrd) и конфигурацию загрузчика.
  • /dev: Содержит файлы устройств, которые представляют различные аппаратные устройства системы и обеспечивают доступ к ним.
  • /etc: Содержит общесистемные конфигурационные файлы для различных приложений и служб.
  • /home: Домашние каталоги отдельных пользователей. Каждый пользователь обычно имеет здесь подкаталог для хранения своих личных файлов и настроек.
  • /lib и /lib64: Эти каталоги содержат общие библиотеки, необходимые системе и приложениям. В 64-разрядных системах присутствует каталог “lib64”.
  • /media: Точка монтирования для съемных носителей информации, таких как USB-накопители или оптические диски.
  • /mnt: Точка монтирования общего назначения для временного монтирования файловых систем.
  • /opt: Содержит пакеты дополнительного программного обеспечения, установленного в системе. Приложения, установленные здесь, часто находятся в собственных каталогах.
  • /proc: Виртуальная файловая система, предоставляющая информацию о процессах и состоянии системы. Она используется многими системными утилитами для получения информации о времени выполнения.
  • /root: Домашний каталог пользователя root, административного суперпользователя.
  • /run: Временная файловая система, содержащая данные о времени выполнения различных системных служб. Очищается при каждой перезагрузке.
  • /sbin: Содержит системные двоичные файлы (исполняемые файлы), которые в основном используются пользователем root для решения задач системного администрирования.
  • /srv: Содержит данные о сервисах, предоставляемых системой.
  • /sys: Виртуальная файловая система, в которой хранится информация о ядре и его конфигурации.
  • /tmp: Каталог для временных файлов, создаваемых приложениями и пользователями. Его содержимое обычно очищается при каждой перезагрузке.
  • /usr: Содержит пользовательские программы, библиотеки, документацию и общие ресурсы. Он имеет такие подкаталоги, как /usr/bin для пользовательских исполняемых файлов, /usr/lib для библиотек и /usr/share для общих данных.
  • /var: Содержит переменные данные, изменяющиеся в процессе работы системы, такие как журналы, базы данных и файлы спула.

Это высокоуровневый обзор структуры папок Ubuntu Linux. Каждый каталог служит определенной цели в организации файлов и ресурсов системы.

Важные команды Linux для инженера DevOps

1. ls

  • Описание: Перечисляет файлы и каталоги в текущем каталоге.
  • Использование:
  • ls: Перечисляет файлы и каталоги в текущем каталоге.
  • ls -l: Списки файлов и каталогов в длинном формате.
  • ls -a: Перечисляет все файлы и каталоги, включая скрытые

2. cd

. Описание: Изменяет текущий каталог.

  • Использование:
  • cd /path/to/directory: Изменяет текущий каталог на указанный путь.
  • cd ..: Осуществляет переход к родительскому каталогу.
  • cd ~: Перемещение в домашний каталог.

3. mkdir

  • Описание: Создает новый каталог.
  • Использование:
  • mkdir directory_name: Создает новый каталог с указанным именем.
  • mkdir -p path/to/directory: Создает вложенные каталоги, если они не существуют.

4. rm

  • Описание: Удаляет файлы и каталоги.
  • Использование:
  • rm file_name: Удаляет указанный файл.
  • rm -r directory_name: Рекурсивно удаляет указанный каталог и его содержимое.
  • rm -f file_name: Принудительное удаление указанного файла без запроса.

5. cp

  • Описание: Копирует файлы и каталоги.
  • Использование:
  • cp source_file destination_file: Копирует исходный файл в конечный.
  • cp -r source_directory destination_directory: Рекурсивно копирует исходный каталог в конечный.

6. mv

  • Описание: Перемещение или переименование файлов и каталогов.
  • Использование:
  • mv source_file destination_file: Перемещает исходный файл в конечный или переименовывает его.
  • mv source_directory destination_directory: Перемещает исходный каталог в конечный или переименовывает его.

7. grep

  • Описание: Поиск определенного шаблона в файлах или выходных данных.
  • Использование:
  • grep pattern file_name: Поиск указанного шаблона в заданном файле.
  • grep -r pattern directory: Осуществляет рекурсивный поиск шаблона в указанном каталоге.
  • command | grep pattern: Фильтрует вывод команды и выполняет поиск шаблона.

8. ps

  • Описание: Выводит список запущенных процессов.
  • Использование:
  • ps: Перечисляет запущенные процессы для текущего пользователя.
  • ps -ef: Перечисляет все запущенные процессы.
  • ps -eaf: Перечисляет все запущенные процессы с полной информацией.

9. top

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

10. tail

  • Описание: Выводит последнюю часть файла.
  • Использование:
  • tail file_name: Отображает последние 10 строк указанного файла.
  • tail -n N file_name: Отображает последние N строк указанного файла.
  • tail -f file_name: Непрерывно выводит новые строки, добавленные в файл.

Вот 50 лучших сетевых команд в Linux:

  1. ifconfig: Отображает или конфигурирует сетевые интерфейсы. Пример: ifconfig eth0
  2. ip: Конфигурирует и отображает сетевые интерфейсы, таблицы маршрутизации и т.д. Пример: ip address show
  3. ping: Отправляет ICMP-эхо-запросы на указанный сетевой узел. Пример: ping google.com
  4. traceroute: Отображает маршрут, по которому пакеты добираются до узла назначения. Пример: traceroute google.com
  5. nslookup: Запрашивает DNS-серверы для получения информации, связанной с DNS. Пример: nslookup google.com
  6. dig: Утилита поиска DNS для запроса DNS-серверов. Пример: dig google.com
  7. host: Выполняет поиск DNS. Пример: host google.com
  8. netstat: Отображает сетевые соединения, таблицы маршрутизации и сетевую статистику. Пример: netstat -tun
  9. ss: Предоставляет подробную статистику сокетов. Пример: ss -tun
  10. route: Настраивает и отображает информацию о таблице маршрутизации. Пример: route -n
  11. arp: Манипулирует или отображает ARP-кэш. Пример: arp -a
  12. iptables: Управление правилами межсетевого экрана. Пример: iptables -L
  13. tcpdump: Захват сетевого трафика. Пример: tcpdump -i eth0
  14. ifup: Приводит сетевой интерфейс в рабочее состояние. Пример: ifup eth0
  15. ifdown: Выводит сетевой интерфейс из строя. Пример: ifdown eth0
  16. ethtool: Отображает или изменяет настройки устройства Ethernet. Пример: ethtool eth0
  17. hostname: Отображение или установка имени хоста системы. Пример: hostname
  18. ssh: Подключение к удаленному серверу по протоколу SSH. Пример: ssh user@hostname
  19. scp: Копирование файлов между хостами с использованием протокола SSH. Пример: scp file.txt user@hostname:/path/to/destination
  20. rsync: Синхронизация файлов и каталогов между различными узлами. Пример: rsync -avz source/ user@hostname:/path/to/destination
  21. nc: Чтение и запись данных через сетевые соединения. Пример: nc -l 8080
  22. wget: Загрузка файлов из Интернета. Пример: wget http://example.com/file.txt
  23. curl: Передача данных на сервер или с сервера. Пример: curl http://example.com
  24. nmap: Сканирует порты и обнаруживает сетевые службы. Пример: nmap -p 1-1000 имя хоста
  25. telnet: Устанавливает telnet-соединение с удаленным хостом. Пример: telnet hostname
  26. ifstat: Отображает статистику сетевого интерфейса. Пример: ifstat
  27. mtr: Сочетает в себе функции ping и traceroute. Пример: mtr google.com
  28. route add: Добавляет новый маршрут в таблицу маршрутизации. Пример: route add -net 192.168.0.0/24 gw 192.168.1.1
  29. route delete: Удаляет маршрут из таблицы маршрутизации. Пример: route delete default gw 192.168.1.1
  30. ifconfig up: Включает сетевой интерфейс. Пример: ifconfig eth0 up
  31. ifconfig down: Отключает сетевой интерфейс. Пример: ifconfig eth0 down
  32. ip link: Управление сетевыми интерфейсами. Пример: ip link show
  33. ip route: Управляет таблицами маршрутизации. Пример: ip route show
  34. ip neigh: Управление ARP-кэшем. Пример: ip neigh show
  35. ip addr: Управление IP-адресами и интерфейсами. Пример: ip addr show
  36. ip link set: Изменяет свойства сетевого интерфейса. Пример: ip link set eth0 mtu 1500
  37. ip route add: Добавляет новый маршрут в таблицу маршрутизации. Пример: ip route add 192.168.0.0/24 via 192.168.1.1 dev eth0
  38. ip route delete: Удаляет маршрут из таблицы маршрутизации. Пример: ip route delete 192.168.0.0/24
  39. ip addr add: Добавляет IP-адрес к интерфейсу. Пример: ip addr add 192.168.0.1/24 dev eth0
  40. ip addr delete: Удаляет IP-адрес из интерфейса. Пример: ip addr delete 192.168.0.1/24 dev eth0
  41. ip tunnel add: Создает туннельный интерфейс. Пример: ip tunnel add mytunnel mode gre remote 203.0.113.1 local 198.51.100.1
  42. ip tunnel delete: Удаляет туннельный интерфейс. Пример: ip tunnel delete mytunnel
  43. ip link set promisc on: Переводит сетевой интерфейс в режим promiscuous. Пример: ip link set eth0 promisc on
  44. ip link set mtu: Устанавливает максимальный блок передачи (MTU) сетевого интерфейса. Пример: ip link set eth0 mtu 1500
  45. iptables -A INPUT: Добавляет правило в цепочку INPUT межсетевого экрана. Пример: iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT
  46. iptables -P: Устанавливает политику по умолчанию для цепочки в межсетевом экране. Пример: iptables -P INPUT DROP
  47. iptables -F: Удаляет все правила из цепочки в межсетевом экране. Пример: iptables -F INPUT
  48. iptables-save: Сохраняет текущие правила брандмауэра в файл. Пример: iptables-save > firewall.rules

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

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

В Linux можно изменять права доступа и владения файлами и каталогами с помощью команд chmod, chown и chgrp. Вот как можно использовать эти команды:

Изменение прав доступа

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

1. Символический режим:

Синтаксис: chmod [options] [permissions] file(s)

Примеры:

  • Предоставьте права на чтение и запись владельцу: chmod u+rw file.txt
  • Отозвать разрешение на выполнение у группы: chmod g-x script.sh
  • Добавить права на чтение и выполнение другим: chmod o+rx program
  • Объединение разрешений: chmod u=rw,go=r file.txt

2. Октальный режим:

Синтаксис: chmod [опции] [режим] файл(ы)

Примеры:

  • Установите разрешения на чтение, запись и выполнение для владельца, группы и других: chmod 755 script.sh
  • Ограничить права только для владельца: chmod 700 private.txt
  • Предоставить полные права всем: chmod 777 public_dir

Смена собственника

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

  • Синтаксис: chown [options] owner:group file(s)

Примеры:

  • Изменение владельца и группы файла: chown john:users file.txt
  • Рекурсивно изменить права собственности на каталог и его содержимое: chown -R alice:staff project_dir

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

  • Синтаксис: chgrp [options] group file(s

Примеры:

  • Изменение группы файла: chgrp developers script.sh
  • Рекурсивно изменить групповую принадлежность каталога и его содержимого: chgrp -R team project_dir

В Linux изменить права доступа можно с помощью команды chmod. Разрешения определяют, кто может читать, записывать или исполнять файл. Вот как можно использовать команду chmod для изменения разрешений:

Синтаксис:

chmod [options] permissions file(s)

Варианты:

  • -R или –recursive: Рекурсивно изменить разрешения для каталогов и их содержимого.

Разрешения:

  • u (пользователь/владелец): Владелец файла.
  • g (group): Группа, связанная с файлом.
  • o (others): Пользователи, которые не являются ни владельцем, ни частью группы.
  • a (all/everyone): Все пользователи, включая владельца, группу и других.

Каждое разрешение имеет три возможные настройки:

  • r (read): Разрешение на чтение файла или просмотр содержимого каталога.
  • w (write): Разрешение на модификацию или удаление файла или добавление/удаление файлов в каталоге.
  • x (execute): Разрешение на выполнение файла или доступ к каталогу.

Примеры:

1. Предоставить владельцу права на чтение и запись:

chmod u+rw file.txt

2. Отозвать разрешение на выполнение у группы:

chmod g-x script.sh

3. Добавить права на чтение и выполнение другим пользователям:

chmod o+rx program

4. Установите разрешения на чтение и запись для владельца и разрешения только на чтение для группы и других пользователей:

chmod u=rw,g=r,o=r file.txt

5. Рекурсивно изменить разрешения для каталога и его содержимого:

chmod -R u+w project/

100 лучших команд LINUX

Конечно! Здесь приведен список из 100 наиболее часто используемых команд Linux с примерами:

  1. ls: Вывести список файлов и каталогов в текущем каталоге. Пример: ls
  2. cd: Сменить каталог. Пример: cd /path/to/directory
  3. Pwd: Вывести текущий рабочий каталог. Пример: pwd
  4. mkdir: Создать новый каталог. Пример: mkdir имякаталога
  5. rmdir: Удалить пустой каталог. Пример: rmdir имя каталога
  6. cp: Копирование файлов и каталогов. Пример: cp file.txt destination_folder/
  7. mv: Перемещение или переименование файлов и каталогов. Пример: mv file.txt new_file.txt или mv file.txt destination_folder/
  8. rm: Удалить файлы и каталоги. Пример: rm file.txt или rm -r directory/ (рекурсивно)
  9. cat: Конкатенировать и отображать содержимое файлов. Пример: cat file.txt
  10. less: Просмотр содержимого файла постранично. Пример: less file.txt
  11. head: Отображение первых нескольких строк файла. Пример: head file.txt
  12. tail (хвост): Вывести несколько последних строк файла. Пример: tail file.txt
  13. grep: Поиск шаблона в файлах. Пример: grep “pattern” file.txt
  14. find: Поиск файлов и каталогов. Пример: find /path/to/search -name “filename”
  15. chmod: Изменение прав доступа к файлам. Пример: chmod 755 file.txt (дает права на чтение, запись, выполнение владельцу, на чтение и выполнение – группе и другим)
  16. chown: Изменение прав собственности на файл. Пример: chown user:group file.txt
  17. tar: Архивирование файлов и каталогов. Пример: tar -cvf archive.tar file.txt (создание архива)
  18. gzip: Сжимать файлы. Пример: gzip file.txt (создает файл file.txt.gz)
  19. gunzip: Распаковать файлы, сжатые с помощью gzip. Пример: gunzip file.txt.gz
  20. wget: Загрузка файлов из Интернета. Пример: wget http://example.com/file.txt
  21. curl: Передача данных с сервера или на сервер. Пример: curl http://example.com
  22. ssh: Безопасное подключение к удаленному серверу. Пример: ssh user@remote_server
  23. scp: Копирование файлов между локальной и удаленной машинами. Пример: scp file.txt user@remote_server:/path/to/destination
  24. ping: Отправка эхо-запросов ICMP на сетевой хост. Пример: ping example.com
  25. ifconfig: Отображение или настройка сетевых интерфейсов. Пример: ifconfig
  26. netstat: Сетевая статистика. Пример: netstat -an
  27. ip: Показать или управлять маршрутизацией, устройствами, политикой маршрутизации и туннелями. Пример: ip addr show
  28. route: Показать или управлять таблицей IP-маршрутизации. Пример: route -n
  29. whois: Получение WHOIS-информации о домене. Пример: whois example.com
  30. uname: Вывести информацию о системе. Пример: uname -a
  31. ps: Отображение запущенных процессов. Пример: ps aux
  32. top: Мониторинг системных процессов в реальном времени. Пример: top
  33. kill: Завершение процессов по идентификатору или имени. Пример: kill 1234 или killall имя_процесса
  34. df: Сообщает об использовании дискового пространства файловой системы. Пример: df -h
  35. du: Оценить использование пространства файлов и каталогов. Пример: du -sh directory
  36. mount: Монтировать файловую систему или устройство. Пример: mount /dev/sda1 /mnt
  37. umount: Размонтировать смонтированную файловую систему. Пример: umount /mnt
  38. ln: Создание жестких или символических ссылок. Пример: ln -s /path/to/file имя_ссылки
  39. echo: Вывести сообщение. Пример: echo “Hello, world!”.
  40. date: Отображение текущей даты и времени. Пример: date
  41. history (история): Просмотр истории команд. Пример: history
  42. tar: Архивирование файлов и каталогов. Пример: tar -cvf archive.tar file.txt (создание архива)
  43. unzip: Распаковывать сжатые файлы в формате ZIP. Пример: unzip file.zip
  44. file: Определить тип файла. Пример: file file.txt
  45. awk: Язык сканирования и обработки шаблонов. Пример: awk ‘{print $1}’ file.txt
  46. sed: Потоковый редактор для фильтрации и преобразования текста. Пример: sed ‘s/foo/bar/’ file.txt
  47. wc: Подсчет строк, слов и символов в файле. Пример: wc -l file.txt
  48. sort: Сортировка строк текста. Пример: sort file.txt
  49. diff: Сравнивать файлы построчно. Пример: diff file1.txt file2.txt
  50. grep: Поиск шаблона в файлах. Пример: grep “pattern” file.txt
  51. tr: Транслировать или удалять символы. Пример: tr ‘a-z’ ‘A-Z’ file.txt
  52. cut: Удалять секции из строк файлов. Пример: cut -d ‘,’ -f 1 file.txt
  53. du: Оценка использования пространства файлов и каталогов. Пример: du -sh directory
  54. scp: Копирование файлов между локальной и удаленной машинами. Пример: scp file.txt user@remote_server:/path/to/destination
  55. ssh: Безопасное подключение к удаленному серверу. Пример: ssh user@remote_server
  56. man: Отображение страницы руководства для команды. Пример: man ls
  57. info: Просмотр информации и документации по команде. Пример: info имякоманды
  58. apt-get: Утилита для работы с пакетами для систем на базе Debian. Пример: apt-get install имяпакета
  59. yum: Менеджер пакетов для систем на базе RPM. Пример: yum install имяпакета
  60. systemctl: Управление системой systemd и менеджером сервисов. Пример: systemctl start service_name
  61. service: Запуск сценария инициализации System V. Пример: service service_name start
  62. chown: Изменить права собственности на файл. Пример: chown user:group file.txt
  63. chmod: Изменить права доступа к файлу. Пример: chmod 755 file.txt
  64. ln: Создание жестких или символических ссылок. Пример: ln -s /path/to/file имя ссылки
  65. tee: Перенаправление вывода на несколько файлов или команд. Пример: command | tee file.txt
  66. fg: Вывести фоновый процесс на передний план. Пример: fg %1
  67. bg: Отправить процесс в фоновый режим. Пример: bg %1
  68. alias: Создать псевдоним для команды. Пример: alias l=’ls -l’
  69. source: Выполнение команд из файла в текущей оболочке. Пример: source script.sh
  70. echo: Вывести сообщение. Пример: echo “Hello, world!”.
  71. export: Устанавливает переменные окружения. Пример: export VARIABLE_NAME=value.
  72. env: Отображение текущих переменных окружения. Пример: env
  73. sleep: Задержка на заданное время. Пример: sleep 5 (сон в течение 5 секунд)
  74. su: Переключить пользователя или стать суперпользователем. Пример: su username или su – (переход к пользователю root).
  75. sudo: Выполнить команду от имени суперпользователя. Пример: sudo имякоманды
  76. passwd: Изменение пароля пользователя. Пример: passwd имяпользователя
  77. useradd: Создать нового пользователя. Пример: useradd username
  78. usermod: Изменение параметров учетной записи пользователя. Пример: usermod -aG имягруппы имяпользователя
  79. groupadd: Создать новую группу. Пример: groupadd имя_группы
  80. groupmod: Изменить настройки группы. Пример: groupmod -n new_group_name old_group_name
  81. crontab: Планирование выполнения команд в определенное время. Пример: crontab -e (редактирование заданий cron)
  82. at: Выполнение команд в указанное время. Пример: at 10:00AM (ввести команды и нажать Ctrl+D)
  83. shutdown (выключение): Выключить или перезагрузить систему. Пример: shutdown now (немедленно выключить систему)
  84. reboot (перезагрузка): Перезагрузить систему. Пример: reboot
  85. ifconfig: Отображение или настройка сетевых интерфейсов. Пример: ifconfig
  86. netstat: Сетевая статистика. Пример: netstat -an
  87. ip: Показать или управлять маршрутизацией, устройствами, политикой маршрутизации и туннелями. Пример: ip addr show
  88. route: Показать или управлять таблицей IP-маршрутизации. Пример: route -n
  89. iptables: Средство администрирования для фильтрации пакетов IPv4 и NAT. Пример: iptables -L (список правил межсетевого экрана)
  90. adduser: Интерактивный инструмент для добавления новых пользователей. Пример: adduser username
  91. deluser: Удаление учетной записи пользователя и связанных с ней файлов. Пример: deluser username
  92. passwd: Изменение пароля пользователя. Пример: passwd username
  93. crontab: Запланировать выполнение команд в определенное время. Пример: crontab -e (редактирование заданий cron)
  94. history (история): Просмотр истории команд. Пример: history
  95. file (файл): Определить тип файла. Пример: file file.txt
  96. hostname: Вывести или установить имя хоста системы. Пример: hostname
  97. uptime (время работы): Отображение времени работы системы. Пример: uptime
  98. dmesg: Печать или управление кольцевым буфером ядра. Пример: dmesg
  99. free: Отображение объема свободной и используемой памяти. Пример: free -h
  100. htop: Интерактивный просмотрщик процессов и системный монитор. Пример: htop

+1
1
+1
4
+1
0
+1
2
+1
0

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *