Продвижение: организуйте свои ярлыки Gmail как вкладки
Туладхар/Gmail-Labels-As-Tabs
Расширение Chrome с открытым исходным кодом для организации ваших меток Gmail как вкладки.
Введение в базовые команды Linux для разработчиков
Linux это операционная система с открытым исходным кодом, которая поддерживает Android Phone , Общественное облако , Smart TV, IoT -устройства, спутники — это везде; От ваших смартфонов до Большой адронный коллайдер (LHC).
Линус Торвальдс является создателем ядра Linux. Он также создал систему управления распределенной версией «GIT», которую разработчики используют каждый день.
Знание того, как использовать команды Linux, является важным навыком для разработчиков.
Таблица содержания
Установка игровая площадка
Комментарий
Менеджер пакетов
Навигация по каталогу
Системная информация
Аппаратная информация
Мониторинг системы, статистика и отладка
Файл и каталог
Управление процессом
Разрешения на файл
Сеть
Текстовый поиск
Использование диска
Трубы и перенаправление
Переменная среды
Установка игровая площадка
Чтобы выучить и попробовать команды 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»