Основные команды Linux
Краткое руководство по пониманию команд Linux.
Эта статья поможет разобраться в большинстве важных и широко используемых команд Linux, которые потребуются инженеру DevOps.
Для выполнения этих команд можно использовать любую Linux-машину / виртуальную машину / онлайн-терминал Linux, чтобы быстро начать работу с командами.
Команды информации о системе
hostname – показывает имя хоста системы.
hostid – показывает идентификатор хоста системы, назначенный операционной системой.
date – показывает текущую дату и время в формате UTC.
whoami – показывает имя пользователя терминала, вошедшего в систему в данный момент.
uptime – показывает время, прошедшее с момента входа в систему компьютера.
uname – название ядра системы.
clear – очищает экран.
history – перечисляет все команды, история ваших команд.
sudo – выполнения от имени суперпользователя.
echo $? – показывает статус завершения последней выполненной команды (0 – успех, 1-255 – ошибка / сбой).
shutdown -r now – немедленно перезагрузите компьютер (-r restart).
printenv – отображает все переменные среды системы Linux.
last – показывает предыдущие входы в систему Linux.
Команды каталогов
pwd – показывает текущий рабочий каталог (сокращенно. Распечатать рабочий каталог).
cd – изменить каталог.
cd ..– изменения в родительском каталоге (т.е. на один уровень выше).cd (имя или путь к каталогу)– перейдите в указанный каталог.cd ~илиcd– изменения в домашнем каталоге пользователя, вошедшего в систему в данный момент.cd ../..– изменяет каталог на два уровня выше.cd -– изменения в последнем рабочем каталоге.
mkdir – создать каталог.
mkdir (имя каталога)– создает каталог.mkdir -p (путьк каталогу и имя)– создает каталог с его родительскими каталогами, если он не существует (-p parent).
ls – перечисляет файлы и папки каталога, в котором вы находитесь.
ls -a– выводит список всех файлов и папок вместе со скрытыми файлами (-a все).ls -al– выводит список всех файлов и папок вместе со скрытыми файлами в форматированном виде (формат длинного списка-l).
Файловые команды
touch – создает пустой файл или обновляет временную метку существующего файла.
touch (file)– создает один пустой файл.touch (file1 file2)– создает пустые файлы file1, file2.
cat – объединяет и отображает содержимое файлов.
cat (путь/имя файла)– отображает содержимое файла.cat (путь/имя файла)– создает новый файл, позволяет вводить содержимое в интерактивном режиме и перенаправляет введенное содержимое в созданный файл.
head – по умолчанию отображает первые 10 строк файла.
head (имя файла)– по умолчанию отображает первые 10 строк файла.head -n 5– отображает первые 5 строк файла (-номер n)
tail -просмотреть последние 10 строк файла.
tail -n 5 (имя файоа)– отображает последние 5 строк файла (номер-n).tail -F (имя файла)– отображает содержимое файла в режиме реального времени, даже когда файл повернут или заменен (используется для мониторинга файла журнала).
less – используется для просмотра файлов.
less (имя файла)– используется для просмотра больших файлов (файлов журналов) в разбивке на страницы.
rm – удалить команду.
rm (имя файла)– удаляет файл.rm -r (путь/имя файла)– рекурсивно удаляет файлы и папки из каталога (-r recursive).rm -rf (путь/имя файла)– принудительно удалите файлы и папки каталога рекурсивно (-f принудительно).
cp – скопировать команду.
cp (source) (destination)– скопируйте файлы и папки из источника в место назначения.cp -r (dir1) (dir2)– рекурсивно скопируйте каталог dir1 в каталог dir2 (-r recursive).
mv – переместить или переименовать команду.
mv (fileName) (newFileName)– переименовывает файл на новое имя.mv (oldFilePath) (newFilePath)– перемещает файл по новому пути.
Команды разрешения файлов
ls -l (pathOfFileName) – показывает права доступа к файлу.
ls -ld (dirNamePath) – показывает разрешения каталога.
chmod (octalNumber) (fileName) – изменяет режим / разрешения файла.
chmod (octalNumber) -R (dirName) – рекурсивно изменяет режим / разрешения каталога.
chown (newUser) (fileName) – изменяет права пользователя на файл.
chown (newUser):(newGroup> (fileName) – изменяет права собственности пользователей и групп на файл.
chgrp (groupName) (fileName/dirName) – обновляет название группы для файла / каталога.
getfacl (fileName/dirName) – показывает список управления доступом к файлам / каталогам.
setfacl -m u:(userName):rwx (fileName/dirName) – изменяет текущий acl файла / каталога.
setfacl -x u:(userName): (fileName/dirName) – удаляет разрешения acl для файла / каталога.
setfacl -m g:(groupName):rwx (fileName/dirName) – изменяет списки управления доступом группы для файла / каталога.
setfacl -x g:(groupName): (fileName/dirName) – удаляет разрешения acl группы для файла / каталога.
Восьмеричные числа прав доступа к файлам
чтение (r) — 4, запись (w)- 2, выполнение (x) — 1
- Суммируйте числа, чтобы создать восьмеричное число для предоставления прав доступа к файлу / каталогу.
Команды управления пользователями
useradd – создает учетную запись пользователя.
useradd (userName)– создает учетную запись пользователя без каталогов home и mail spool.useradd -m (userName)– создает учетную запись пользователя с каталогами home и mail spool.passwd (userName)– создает пароль для пользователя и сохраняет его в файле /etc/shadow.
userdel – удаление пользователя.
userdel (userName)– удаляет пользователя из системы.userdel -r (userName)– удаляет пользователя из системы вместе с каталогами home и mail spool (-r удалить).
/etc/passwd – хранит информацию об учетных записях пользователей.
cat /etc/passwd– отображает полный список пользователей на этом компьютере.
/etc/shadow – сохраняет пароль для пользователей в зашифрованном формате.
cat /etc/shadow– отображает полный список паролей пользователей на этом компьютере.
su – заменить пользователя.
su (userName)– переключается на указанного пользователя.exit– для выхода из системы от этого пользователя.
usermod – изменить пользователя.
usermod -aG (groupName) (userName)– добавляет пользователя в другую группу (-aG добавляет пользователя в группу, не удаляя из других групп).
chsh – сменить оболочку.
chsh -s /bin/bash (user)– изменяет оболочку для пользователя на bash.chsh -s /bin/sh (user)– изменяет оболочку для пользователя на sh.
Команды управления группами
groupadd (groupName) – создает группу.
groupdel (groupName) – удалить группу.
/etc/group – сохраняет информацию о группах.
cat /etc/group– отображает полный список групп на этом компьютере.
gpasswd (groupName) – создает пароль для группы.
gpasswd -a (userName) (groupName)– добавляет пользователя в группу.gpasswd -d (userName) (groupName)– удаляет пользователя из группы.gpasswd -M (userName1),(userName2),(userName3) (groupName)– добавляет нескольких пользователей в группу и удаляет существующих из группы.
Команды поиска
locate – используются для поиска файлов / каталогов на основе имен.
sudo updatedb– обновляет базу данных, чтобы результаты были актуальными.locate (fileName/dirName)– находит файл / каталог и отображает путь.
Команда GREP — поиск регулярного выражения в файлах
grep (textToSearch) (fileName) – используются для поиска текстовых шаблонов в файлах.
grep -i (textToSearch) (fileName) – используется для поиска текстовых шаблонов в файле, игнорируя регистр (-i игнорирую регистр).
grep -v (textToSearch) (fileName) – используется для поиска несоответствующих строк текстовых шаблонов (-v инвертировать-сопоставлять).
grep -l (textToSearch) (fileNames) – используется для отображения соответствующих строковых имен файлов.
grep -r (textToSearch) (catalog) – рекурсивный поиск регулярного выражения в файлах указанного каталога.
Найти файл, команда find
find . -name (fileName) – находит указанный файл, если он доступен в текущем каталоге (.(точка) обозначает текущий каталог).
find (dirName) -name (fileName) – находит указанный файл в каталоге.
find (dirName) -perm 754 – находит файлы в каталоге с разрешением 754.
Команды информирования об оборудовании
free -h – отображает информацию о системной памяти (формат -h, читаемый человеком).
df -h – показывает использование дискового пространства смонтированными файловыми системами.
du – использование диска.
du -h– отображает информацию об использовании диска (в удобочитаемом формате-h).du -sh– отображает общий размер каталога вместо отдельных файлов в удобочитаемом формате (-s summary).du -sh (fileName/dirName)– отображает общий размер файла / каталога.
Сетевые команды
ping (hostName) – проверяет доступность и отзывчивость удаленного хоста.
dig (domainName) – показывает DNS-информацию домена.
wget (url) – используются для извлечения / загрузки файлов из Интернета.
curl (url) – используются для извлечения / загрузки файлов из Интернета.
ifconfig – отображение доступных сетевых интерфейсов.
ip addr – отображение информации о сетевом интерфейсе и управление ею.
curl ifconfig.me – показывает общедоступный IP-адрес компьютера.
netstat -antp – показывает все открытые порты tcp (-a все, t-tcp, n-активный, p протокол).
traceroute (url) – отслеживает маршрут с использованием пакетов от источника до узла назначения.
Команды обработки информации о запущенных процессах
ps – показывает текущий запущенный процесс.
ps -u (userName)– показывает процесс ввода имени пользователя
ps -ef – показывает все процессы системы.
top – показывает динамическое представление запущенных процессов системы в реальном времени.
kill (pid) – корректно завершает pid процесса.
pgrep (processName) – показывает идентификатор процесса процессов на основе имени / других критериев.
bg – фоновый, переводит процесс в фоновый режим и продолжает выполнение без прерывания.
fg – передний план, выводит процесс на передний план и делает его активным процессом.
nohup – без зависаний, запускает команду / скрипт в фоновом режиме даже после закрытия терминала или выхода пользователя из системы.
Команды архивирования файлов tar
tar -cvf (fileName> <directory) – создает файл tar с именем файла для указанного каталога (-c create, -v verbose, f – имя выходного файла).
tar -xvf (sourceTarFileName) -C (destinationDir) – помещает извлеченные файлы в каталог назначения (-x extract, v verbose, -f имя исходного файла tar).
Дополнительные команды
echo "sample text" | grep text – выходные данные первой команды передаются в качестве входных данных для второй команды с использованием символа канала (|).
ls -l | tee file.txt – перенаправляет список на file.txt и одновременно отображает его в терминале.
echo "sample text" > (fileName) – запишите содержимое в указанный файл, перезаписав существующее содержимое (> оператор перенаправления).
echo "new sample text" >> (fileName) – добавляет содержимое к указанному файлу без перезаписи существующего содержимого (>> операция перенаправления).
stat (fileName/dirName) – показывает подробную информацию о файле или каталоге.
cron – системный демон для управления запланированными задачами.
tree – древовидное представление файлов и каталогов определенного каталога.