Рубрики
Uncategorized

Команды Linux для разработчиков

Продвижение: организуйте свои ярлыки Gmail как вкладки Tuladha … Tagged с Linux, DevOps, разработчиком.

Продвижение: организуйте свои ярлыки Gmail как вкладки

Туладхар/Gmail-Labels-As-Tabs

Расширение Chrome с открытым исходным кодом для организации ваших меток Gmail как вкладки.

Введение в базовые команды Linux для разработчиков

Linux это операционная система с открытым исходным кодом, которая поддерживает Android Phone , Общественное облако , Smart TV, IoT -устройства, спутники — это везде; От ваших смартфонов до Большой адронный коллайдер (LHC).

Линус Торвальдс является создателем ядра Linux. Он также создал систему управления распределенной версией «GIT», которую разработчики используют каждый день.

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

Таблица содержания

  1. Установка игровая площадка

  2. Комментарий

  3. Менеджер пакетов

  4. Навигация по каталогу

  5. Системная информация

  6. Аппаратная информация

  7. Мониторинг системы, статистика и отладка

  8. Файл и каталог

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

  10. Разрешения на файл

  11. Сеть

  12. Текстовый поиск

  13. Использование диска

  14. Трубы и перенаправление

  15. Переменная среды

Установка игровая площадка

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

Получите Docker

Однажды Docker установлен и работает. Идите вперед и запустите следующую команду, чтобы начать Ubuntu Docker контейнер:

$ docker pull ubuntu

$ docker run --rm -it ubuntu bash
root@e4675284d809:/#

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

# Type 'y' when prompted
root@e4675284d809:/# unminimize

Теперь установите программу под названием tmux Для запуска нескольких сеансов оболочки в одном окне терминала.

$ apt update
$ apt install tmux

Запустить tmux, запустив команду TMUX

$ tmux

Tmux в двух словах

  • Запустите новое окно вкладка: Пресс Ctrl+B , выпустить, а затем нажмите в

  • Начните новое окно горизонтально: нажмите Ctrl+B , выпуск и нажатие "

  • Начните новое окно вертикально: нажмите Ctrl+B , выпуск и нажатие %

  • Переключение между окном с вкладками: нажмите Ctrl+B , выпуск и нажатие P или n

  • Переключить между горизонтальным или вертикальным окном: нажмите Ctrl+B , выпустить, а затем нажмите ;

  • Убейте окно: нажмите Ctrl+B , выпустить, а затем нажмите Икс

  • Переименовать окно с вкладками: нажмите Ctrl+B , выпустить, а затем нажмите В

  • Прокрутите через окно консоль вывод: нажмите Ctrl+B Отпустите, а затем используйте стрелки для перемещения

Комментарий

Комментарий В командной строке Linux начинается с #

$ # This is a comment

Менеджер пакетов

APT — это Диспетчер пакетов ** для управления пакетами в ** Ubuntu Linux.

Обновите репозиторий пакетов

$ apt update

Обновить пакеты массовой

$ apt

Поиск пакета с именем HTOP

$ apt search htop

Показать информацию о пакете

$ apt show htop

Установите пакет с именем HTOP

$ apt install htop

Удалить пакет с именем HTOP

$ apt remove htop

Установите несколько пакетов

$ apt install htop less

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

Установите Apt-File с помощью Apt

$ apt install apt-file

Обновить кэш с апптом

$ apt-file update

Поиск пакета, который предоставляет команду Postgres

$ apt-file search bin/psql

Навигация по каталогу

Переход в/домашний каталог

$ cd /home

Переход на предыдущий каталог

$ cd -

Поднимайте один уровень дерева каталогов

$ cd ..

Текущий каталог печати, в котором вы находитесь

$ pwd

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

Отображать информацию о ядре Linux

$ uname -a

Отображать информацию о выпуске ядра

$ uname -r

Покажите, как долго работает система + нагрузка

$ uptime

Показать имя хоста

$ hostname

Отображать IP -адреса хоста

$ hostname -I

Показать систему перезагрузки

$ last reboot

Покажите текущую дату и время

$ date

Показать календарь этого месяца

$ cal

Показать, кто онлайн

$ w

Кого вы вошли в систему как

$ whoami
$ id

Аппаратная информация

Отображать информацию процессора

$ cat /proc/cpuinfo

Отображение номера ядер процессоров

$ nproc

Отображать информацию памяти

$ cat /proc/meminfo

Отображение переменных среды процесса, например: PID 1

$ cat /proc/1/environ

Отображать бесплатно и используемая память (-h для читаемой на человеке, -m для Mb, -g для Gb.)

$ free -h

Мониторинг системы, статистика, отладка

Отображать и управлять процессами работы

$ top

Установите и используйте дружелюбный интерактивный просмотр процессов (альтернатива Top)

$ apt install htop
$ htop

Отображение статистики, связанная с процессором (обновить каждые 1 секунду)

$ mpstat 1

ПРИМЕЧАНИЕ: Если вы столкнетесь с следующей ошибкой:/usr/bin/mpstat: нет такого файла или каталога. Поиск и установите пакет, который предоставляет инструмент MPStat. *

$ apt-file search bin/mpstat
sysstat: /usr/bin/mpstat

$ apt install sysstat

Отображать статистику виртуальной памяти (обновить каждые 1 секунду)

$ vmstat 1

Отображать статистику ввода/вывода диска (обновить каждые 1 секунду)

$ iostat 1

Перечислите все открытые файлы в системе

$ lsof

Списки файлов, открытые пользователем (например, root)

$ lsof -u USER

Списки файлов, открытые определенным процессом с PID (например, 1)

$ lsof -p PID

Отображение дискового пространства, занятого текущим каталогом (-h для читаемой на человеке, -s суммировать)

$ du -sh

Выполнить «df -h», показывающий периодические обновления каждые 1 секунду (Pro Tip: -d Flag показывает визуальные обновления)

$ watch -n1 df -h

Файл и каталог

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

$ ls -hal .

Показать настоящий рабочий каталог

$ pwd

Создайте один или несколько новых пустых файлов

$ touch file1 file2

Создать новый каталог

$ mkdir dir1

Создайте дерево каталога с помощью опции -p

$ mkdir -p dir1/dir2/dir3

Перечислите дерево каталогов, используя команду Tree

$ tree dir1

Примечание: Установите пакет дерева, если вы столкнетесь с следующей ошибкой: Bash: дерево: команда не найдена*

$ apt install tree

Копировать (дубликат) файлы (ы) из одного каталога в другой (—вариант для включения режима Verbose)

$ cp -v file1 dir1/file1-copy

Справочник копий и весь его контент в новом каталоге

$ cp -vr dir1 dir1-copy

Переименовать или переместить файл. Если File2 является каталогом, то файл 1 в переведен в этот каталог

$ mv -v file1 file1-rename
$ mv -v file1-rename dir1

Удалить файл или пустой каталог (-ф опция Удаляется без вопроса)

$ rm file1

Удалить каталог и его содержимое рекурсивно (вариант -v для включения режима Verbose)

$ rm -vr dir1

Создайте символическую ссылку (указатель) с файлом или каталогом

$ ln -s file1 file1-link

Напишите простой текст в файл

echo "hello, world!" > hello.txt

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

$ cat hello.txt

Странный через большой файл

$ less hello.txt

Отобразить первые 20 строк файла

$ head -n 20 hello.txt

Отобразить последние 20 строк файла

$ tail -n 20 hello.txt

Отобразите последние 10 строк файла и следуйте файлу при обновлении.

$ tail -f hello.txt

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

A процесс является управляющим экземпляром программы.

Отображение ваших в настоящее время запущены процессы

$ ps

Отобразить каждый процесс в системе.

$ ps auxf

Отображать информацию процесса для имени процесса

$ ps uf -C processname

Отображать интерактивное представление в реальном времени запуска процессов

$ top
$ htop

Идентификатор процесса поиска на основе имени

pgrep nginx

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

$ kill PID

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

$ kill -s SIGNAL_NUMBER pid

Перечислите все доступные сигналы

$ kill -l

Убейте процесс на основе имени

$ pkill nginx

Запустите команду как фоновое задание

$ (sleep 30; echo "woke up after 30 seconds") &

Перечислите фоновые работы

$ jobs

Дисплей остановлен или фоновые задания

$ bg

Выводит самую последнюю фоновую работу на передний план

$ fg

Выводит работу и на передний план

$ fg N

Убить работу n

$ kill %N

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

Дать все разрешение владельцу, прочитать выполнение в группу, и ничто не является другим другим

# Create a file
$ touch file1

# Set permission using either of the method
$ chmod 750 file1
$ chmod u=rwx,g=rx,o= file1

# List the file permission
$ ls -lh file1

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

$ chown user:group file1

Сеть

Отображать информацию всех доступных сетевых интерфейсов

$ ip addr
$ ifconfig -a          # deprecated

Отображать информацию интерфейса Eth0

$ ip addr show eth0
$ ifconfig eth0        # deprecated

Показать таблицу маршрутизации IP

$ ip route
$ route                # deprecated

Пинг имени хоста или IP -адрес

$ ping google.com
$ ping 8.8.8.8

Отображать регистрационную информацию домена

$ whois medium.com

DNS поиск домена

$ dig medium.com A     # IPv4 addresses
$ dig medium.com AAAA  # IPv6 addresses
$ dig medium.com NX    # Nameservers

$ host medium.com     # IPv4 addresses

Отображать имя хоста и IP -адрес локальной машины

$ hostname
$ hostname -i

Скачать файлы с удаленного HTTP -сервера

$ wget [http://ipv4.download.thinkbroadband.com/5MB.zip](http://ipv4.download.thinkbroadband.com/5MB.zip)
$ curl --output 5MB.zip [http://ipv4.download.thinkbroadband.com/5MB.zip](http://ipv4.download.thinkbroadband.com/5MB.zip)

Отображать все прослушивание процесса на TCP или UDP -порты

$ netstat -plunt
$ lsof -i
$ lsof -i tcp     # only TCP ports

Текстовый поиск

Поиск шаблона в текстовом файле

$ grep pattern file

# For example:
$ grep root /etc/passwd

Поиск рекурсивно для шаблона в текстовом файле внутри каталога

$ grep -R "/bin/bash" /etc

Поиск шаблона и вывода n линий до (b) или после (а) соответствия шаблона

$ grep -B 5 root /etc/passwd
$ grep -A 3 root /etc/passwd

Найти файлы в каталоге с соответствующим именем файла

find /etc -iname 'passwd'
find /etc -iname 'pass*'  # glob pattern

Найти файлы на основе файлов размером

find / -size +1M #  larger than 1MB
find / -size -1M # smaller than 1MB

Использование диска

Показать бесплатное и подержанное пространство сбора дисков

df -h

Показать пространство диска, потребляемое каталогом или файлом

du -sh /var/log
du -h 5MB.zip

Interactive Disk Explorer Explorer

apt install ncdu
ncdu

Трубы и перенаправление

Перенаправление

Перенаправить нормальный выход (stdout) из команды в файл

echo "hello" > hello.stdout.txt
echo "world" > hello.stdout.txt

Перенаправление ошибки (STDERR) из команды в файл

cat somefile 2> cat.stderr.txt

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

ps auxf >& processes.txt

Добавить обычный выход (stdout) из команды в файл, в отличие от>, который перезаписывает файл

echo "hello" >> hello2.stdout.txt
echo "world! >> hello2.stdout.txt

Добавить вывод ошибки (Stderr) из команды в файл

cat some-unknown-file 2>> cat2.stderr.txt

Добавить как нормальный, так и вывод ошибок (STDERR) из команды в файл

ps auxf &>> processes.txt

Трубы

Shell Tipe ** — это способ ** общаться между командами.

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

mkdir pipes-example
cd pipes-example
touch {1..10}.txt

Пример 1: Давайте использовать команду сортировки

ls -1 *.txt | sort -n    # sorts the output in ASC order
ls -1 *.txt | sort -nr   # sorts the output in DESC order

Пример 2: Давайте использовать команду Head & Tail

ls -1 *.txt | sort -n | head -n 5  # show the first 5 lines
ls -1 *.txt | sort -n | tail -n 5  # show the last 5 lines

Пример 3: Поиск шаблона в текстовом файле

cat /etc/passwd | grep root    # show lines containing string 'root'

Переменные среды

Перечислите все переменные среды

$ env

Значение отображения переменной среды

echo $HOME
echo $SHELL

Создать переменную среды

export PORT=80
export PLATFORM=medium.com

Удалить переменную среды

unset PORT

Путь является одним из общих и Важные переменные среды Анкет Что ты Думаю, произойдет Если вы это не выделили?

$ echo $PATH
$ unset PATH

… и это все!

Каждая команда Linux может быть энциклопедией вариантов на себя. Если вы хотите углубиться во все доступные варианты, автор, примеры, тогда используйте команду MAN, например: человек htop или Человек узнать о самом человеке.

Оригинал: «https://dev.to/ptuladhar3/linux-commands-for-developers-17j»