Командная строка Linux
Книга Уильяма Шоттса «Командная строка Linux: Полное руководство» представляет обширный обзор «жизни» в командной строке Linux. В отличие от других книг, посвященных одной программе, такой как командный интерпретатор bash, в этой книге автор попытается рассказать, как поладить с интерфейсом командной строки в более широком аспекте. Как он работает? Что можно сделать с его помощью? Как лучше его использовать? Эта книга не об администрировании системы Linux. Эта книга исключительно о Linux. В книге материал излагается в тщательно выверенной последовательности, как в школе, где учитель руководит вами и направляет вас по правильному пути. Многие авторы грешат тем, что подают материал в «систематическом» порядке, имеющем определенный смысл для писателя, но способном вызывать путаницу у начинающих пользователей. Цель данной книги — познакомить вас с идеологией Unix, которая отличается от идеологии Windows.
На нашем сайте можно скачать бесплатно книгу «Командная строка Linux» в формате epub, fb2 или читать онлайн. Рейтинг книги составляет 3.25 из 5. Здесь так же можно перед прочтением обратиться к отзывам читателей, уже знакомых с книгой, и узнать их мнение. В интернет-магазине нашего партнера вы можете купить и прочитать книгу в бумажном варианте.
Отзывы читателей
В книге есть ряд неточностей, например при описании синтаксиса sed, автор пишет, что указывая sed команды i и a редактор добавит текст в начало и конец строки, хотя на деле редактор добавляет новые строки выше/ниже указанной. Не знаю, кто виноват — автор или переводчик, но там таких шалостей полно. А вот манера написания и порядок изложения великолепны.
Список основных команд Linux + PDF
ls -al Список файлов и директорий
pwd Отобразить текущую рабочую директорию
mkdir ‘directory_name’ Создать новую директорию
rm file_name Удалить файл
rm -f filename Принудительно удалить файл
rm -r directory_name Удалить директорию рекурсивно
rm -rf directory_name Удалить принудительно и рекурсивно
cp file1 file2 Копировать содержимое файла file1 в файл file2
cp -r dir1 dir2 Рекурсивное копирование директории dir1 в dir2. dir2 будет создана, если не существует.
mv file1 file2 Переименовать file1 в file2
ln -s /path/to/file_name link_name Создать символическую ссылку к файлу file_name
touch file_name Создать пустой файл file_name
cat > file_name Поместить STDIN в файл
more file_name Выводить содержимое файла частями
head file_name Вывод первых 10 строк файла
tail file_name Вывод последних 10 строк файла
gpg -c file_name Зашифровать файл
gpg file_name.gpg Расшифровать файл
wc Вывести число байт, слов и строк файла
xargs Выполнить команду с тем что пришло из STDOUT
Система
uname Информация о системе
uname -r Информация о ядре Linux
uptime Как долго система запущена и загрузка (load average)
hostname Имя хоста
hostname -i IP адрес хоста
last reboot История перезагрузок
date Дата и время
timedatectl Вывод и изменение даты и времени
cal Вывод календаря
w Отобразить пользователей работающих в системе
whoami Отобразить свое имя пользователя
finger username Информация о пользователе
Процессы
ps Вывести текущие запущенные процессы
ps aux | grep ‘telnet’ Поиск id процесса ‘telnet’
pmap Карта памяти процесса
top Все запущенные процессы
kill pid Завершить процесс по pid
killall proc Завершить все процессы с именем proc
pkill process-name Отправить сигнал процессу
bg Отправить приостановленный процесс в фоновое выполнение
fg Вывести из фона выполняющийся процесс
fg n Процесс n вывести из фонового выполнения
lsof Список файлов, которые используют процессы
renice 19 PID Установить самый низкий приоритет процессу
pgrep firefox find Firefox process ID
pstree Древовидное представление процессов
Пользователи
id Подробности о пользователе (uid, gid, и группы)
last Последний вход в систему
who Просмотр авторизованных пользователей
groupadd «admin» Добавить группу ‘admin’
adduser «Sam» Добавить пользователя Sam
userdel «Sam» Удалить пользователя Sam
usermod Изменение данных пользователя, состава групп
Права файлов или директорий
chmod octal filename Изменить права файла или директории
Примеры
chmod 777 /data/test.c Права rwx для всех, кто имеет доступ к серверу (владельца, группу, остальные)
chmod 755 /data/test.c Права rwx на владельца и r_x на группу и остальных
chmod 766 /data/test.c Права rwx для владельца, rw для групп и остальных
chown owner user-file Изменить владельца для файла
chown owner-user
wner-group file_name Изменить владельца и группу-владельца для файла
chown owner-user
wner-group directory Изменить владельца и группу-владельца для директории
Сеть
ip addr show Показать IP адреса всех доступных сетевых интерфейсов
ip address add 192.168.0.1/24 dev eth0 Назначить адрес 192.168.0.1 на интерфейс eth0
ifconfig Показать IP адреса всех доступных сетевых интерфейсов
ping host Команда отправляет ICMP echo запрос на соединение с хостом
whois domain Информация о доменном имени
dig domain Получить DNS информацию о домене
dig -x host Обратное разрешение имени
host google.com Разрешение адреса хоста
hostname -i Локальные адреса
wget file_name Скачать файл
netstat -pnltu Показать все порты, которые слушаются на хосте
Архивация
tar -cf home.tar home Создать архив ‘home.tar’ из файла ‘home’
tar -xf files.tar Распаковать файл ‘files.tar’
tar -zcvf home.tar.gz source-folder Создать архив из директории
gzip file Сжать файл (будет с расширением .gz)
Установка из пакетов
rpm -i pkg_name.rpm Установка из rpm пакета (CentOS, RHEL…)
rpm -e pkg_name Удалить rpm пакет (CentOS, RHEL…)
dnf install pkg_name Установить пакет с помощью dnf из репозитория. Ранее использовался YUM, но недавно YUM заменили на DNF. (CentOS, RHEL…)
apt update Обновить репозитории (Debian, Ubuntu, Mint…)
dpkg -i pkg_name Установить из deb пакета (Debian, Ubuntu, Mint…)
dpkg -r pkg_name Удалить пакет (Debian, Ubuntu, Mint…)
apt install pkg_name Установить пакет из репозитория (Debian, Ubuntu, Mint…)
apt remove pkg_name Удалить пакет (Debian, Ubuntu, Mint…)
apt upgrade Обновить пакеты в системе (Debian, Ubuntu, Mint…)
Установка из исходников (компиляция)
./configure Проверить наличие всех необходимых компонентов в системе для успешной компиляции
make Начать процесс компиляции
make install Установить скомпилированное ПО в систему
Железо
dmesg Вывод сообщений системы при загрузке
cat /proc/cpuinfo Информация о CPU
cat /proc/meminfo Информация об ОЗУ
lshw Информация об аппаратной части (железе)
lsblk Информация о блочных устройствах
free -m Свободная память: озу и swap (ключ -m вывод в MB)
lspci -tv Информация о PCI устройствах в виде дерева
lsusb -tv Информация о USB устройствах в виде дерева
dmidecode Информация об устройствах из BIOS
hdparm -i /dev/xda Информация о диске
hdparm -tT /dev/xda Скорость чтения-записи на устройство xda
badblocks -s /dev/xda Тест на нечитаемые блоки
Поиск
grep ‘pattern’ files Поиск по паттерну в файлах
grep -r pattern dir Искать рекурсивно во всех файлах, которые находятся в директории dir
locate file Показать все местонахождения файла
find /home/ -name «index» Найти файлы с именем, которое начинается с ‘index’ в директории /home folder
find /home -size +10000k Найти файлы больше 10000k в директории /home
Удаленное подключение
ssh [email protected] Подключиться к удаленному хосту по ssh под пользователем user
ssh -p port_number [email protected] Подключиться к удаленному хосту, если используется иной (не 22) ssh порт
ssh host Подключение с параметрами по-умолчанию под текущим пользователем
telnet host Подключиться по telnet (порт 23)
Передача файлов
scp file1.txt server2/tmp Securely copy file1.txt to server2 in /tmp directory
rsync -a /home/apps /backup/ Synchronize contents in /home/apps directory with /backup directory
Использование диска
df -h Отобразить свободное место на смонтированных разделах (в байтах)
df -i Показать свободные inodes на файловой системе
fdisk -l Информация о дисках, разделах и файловых системах
du -sh Отобразить свободное место на смонтированных разделах с размерами переведенными в МБ, ГБ, ТБ
findmnt Отобразить все точки монтирования
mount /dev/sdb1 /mnt Примонтировать раздел 1 диска sdb к директории /mnt
Переход по директориям
cd .. Перейти на один уровень выше
cd Перейти в домашнюю директорию (переменная $HOME)
cd /test Перейти в директорию /test
Шпаргалка (Сheat sheet) по необходимым командам операционной системы Linux в формате PDF.