50 основных команд Linux для начинающих и системных администраторов
Для новичка в Linux его использование все еще может показаться сложным, даже с такими удобными дистрибутивами, как Ubuntu и Mint.
Несмотря на то, что эти дистрибутивы упрощают многие задачи, часто требуется некоторая ручная настройка, но для полного использования возможностей Linux важно понимать основные команды.
В Linux команды являются основным способом взаимодействия с системой и позволяют пользователям выполнять задачи, настраивать параметры и эффективно управлять системой.
Это руководство знакомит с 60 основными командами Linux, обеспечивая основу для начинающих и путь к тому, чтобы стать опытным системным администратором. Эти команды охватывают широкий спектр функций, от навигации по каталогам и управления файлами до выполнения расширенных системных операций.
Независимо от того, начинаете ли вы или стремитесь углубить свои знания, эти команды помогут вам раскрыть весь потенциал Linux.
Основные команды Linux и примеры для новичков
Независимо от того, являетесь ли вы новичком или опытным пользователем, освоение основных команд Linux имеет важное значение для навигации и управления операционной системой.
Ниже приведены некоторые часто используемые команды Linux, а также их описания и примеры:
1. Просмотр содержимого каталога
Команда ls используется для просмотра файлов и директорий в указанном каталоге, она может отображать как видимые, так и скрытые файлы (файлы, начинающиеся с .
по умолчанию скрыты).
Дополнительные параметры могут предоставлять подробную информацию, такую как права доступа к файлам, владение, размер и даты изменения.
ls -la
2. Просмотровые блоки, раздел HDD, внешний HDD
Команда lsblk отображает информацию о блочных устройствах, таких как жесткие диски, разделы и внешние диски, в древовидном формате.
lsblk
3. Проверка целостности загруженных/переданных пакетов
Команды sha256sum
или md5sum
генерируют и проверяют криптографические хэш-значения для файлов, что обеспечивает целостность файла после загрузки или передачи.
sha256sum file.tar.gz
4. Конвертация и копирование файла
Команда dd используется для низкоуровневого копирования и преобразования файлов, которые часто используются для создания загрузочных USB-накопителей или клонирования образов дисков.
dd if=input.img of=output.img bs=4M status=progress
5. Знайте имя своего компьютера, ОС и ядро
Команда uname предоставляет информацию о системе, включая версию ядра, архитектуру системы и имя хоста.
uname -a
6. Просмотр истории команд
Команда history выводит список ранее выполненных команд, что позволяет вызвать или повторно использовать их.
history
7. Выполняйте команды от имени пользователя root
Команда sudo позволяет пользователям выполнять команды с правами администратора. Используйте sudo -i
для переключения на корневую оболочку.
sudo -i
8. Создайте новый каталог
Команда mkdir создает новую директорию с указанным именем в текущем местоположении.
mkdir my_folder
9. Создание или обновление временных меток файлов
Команда touch создает пустые файлы или обновляет метку времени существующих.
touch my_file.txt
10. Изменение прав доступа к файлам
Команда chmod
изменяет права доступа к файлам, контролируя, кто может читать, записывать или выполнять файл.
chmod 644 my_file.txt
11. Смена владельца файла
Команда chown изменяет владельца файла и владельца группы.
sudo chown user:group my_file.txt
12. Установка, обновление и обслуживание пакетов
Команда apt управляет пакетами программного обеспечения в системах на базе Debian.
sudo apt update && sudo apt install package_name
13. Распаковка tar-файла
Команда tar извлекает сжатые файлы.
tar -xvzf file.tar.gz
14. Просмотр текущей даты, времени и календаря
Команды date и cal
отображают текущую дату, время и календарь.
date
cal
15. Распечатайте содержимое файла
Команда cat выводит содержимое файла в терминал.
cat my_file.txt
16. Копирование и перемещение файлов
Команды cp и mv копируют и перемещают файлы соответственно.
cp source.txt destination.txt
mv old_name.txt new_name.txt
17. Смотрите рабочий каталог для удобной навигации
Команда pwd выводит текущий путь к каталогу.
pwd
18. Измените рабочий каталог
Команда cd осуществляет навигацию между директориями.
cd /path/to/directory
Расширенные команды Linux для пользователей среднего уровня
После того, как вы освоите основные команды Linux, пришло время углубиться в более сложные команды, которые помогут вам управлять и оптимизировать вашу систему более эффективно.
19. Поиск файла в заданном каталоге
Команда find используется для поиска файлов и каталогов в указанном каталоге или во всей файловой системе.
find /path/to/directory -name "filename"
20. Поиск файла по заданным ключевым словам
Команда grep используется для поиска определенных шаблонов (ключевых слов) в файлах, что очень полезно, когда вы хотите найти конкретную информацию внутри файла или набора файлов.
grep "keyword" filename
21. Поиск документации в Интернете
Команда man отображает руководство или справочную документацию для конкретной команды, в которой содержится подробная информация о том, как использовать команду, ее параметрах и синтаксисе.
man ls
22. Список текущих запущенных процессов
Команда ps показывает снимок текущих процессов, запущенных в вашей системе, с такими деталями, как идентификаторы процессов (PID), использование памяти и загрузка процессора.
ps aux
Чтобы получить список всех процессов, связанных с Firefox, используйте grep
для фильтрации вывода.
ps aux | grep firefox
23. Завершение запущенного процесса
Команда kill используется для завершения запущенного процесса путем указания идентификатора процесса (PID) процесса, который вы хотите завершить.
kill 1234
24. Просмотр местоположения установленных двоичных файлов
Команда which
помогает найти путь к исполняемым файлам в системе PATH путем поиска в каталогах, перечисленных в переменной окружения PATH, и возвращает местоположение исполняемого файла.
which python3
25. Запуск, завершение, перезапуск службы
Команда systemctl используется для управления системными службами (также известными как демоны) в системах, использующих systemd.
systemctl start service_name
systemctl stop service_name
systemctl restart service_name
26. Создание и удаление псевдонимов команд
Псевдонимы — это ярлыки для команд, которые могут сэкономить время за счет уменьшения количества ввода, а команда псевдонима создает ярлык, в то время как unalias удаляет его.
alias shortcut_name='command'
unalias shortcut_name
Вы можете создать псевдоним для команды с пользовательским именем.
alias ll='ls -l'
unalias ll
При этом создается псевдоним ll
для команды ls -l
, которая выводит список содержимого каталога в длинном формате.
27. Просмотр использования диска и места
Команда df показывает использование дискового пространства для всех смонтированных файловых систем, предоставляя информацию об общем пространстве, используемом и доступном пространстве.
df -h
28. Удаление файла и/или каталога
Команда rm используется для удаления файлов и каталогов. Вы можете использовать опцию -r
для рекурсивного удаления каталогов и их содержимого.
rm filename
rm -r directory_name
29. Печать/эхо пользовательского вывода на стандартном выводе
Команда echo используется для вывода текста или значения переменной на терминал.
echo "Custom Message"
30. Смена пароля в Linux
Команда passwd
используется для изменения паролей текущего пользователя или других пользователей (если вы являетесь пользователем root).
passwd username
31. Просмотр очереди печати
Команда lpq
показывает состояние очереди печати, включая все ожидающие или завершенные задания печати.
lpq
32. Сравниваем два файла
Команда diff построчно сравнивает два файла и отображает различия между ними.
diff file1 file2
33. Скачайте файл в стиле Linux (wget)
Команда wget используется для скачивания файлов из интернета, поддерживает протоколы HTTP, HTTPS и FTP.
wget https://example.com/file.zip
34. Монтируем блок/раздел/внешний жесткий диск
Команда mount
используется для подключения блочного устройства (например, жесткого диска или USB-накопителя) к каталогу в файловой системе.
mount /dev/sdX /mnt
35. Компиляция и запуск кода на C, C++ и Java
Для компиляции и выполнения кода на языках C
, C++
и Java
используются соответствующие компиляторы и среды выполнения.
- C:
gcc
используется для компиляции программ на C.c. - C++:
g++
используется для компиляции программ на C++. - Java:
javac
используется для компиляции программ Java, а java используется для их запуска.
Чтобы скомпилировать и запустить код на C
:
gcc -o outputfile sourcefile.c
./outputfile
Чтобы скомпилировать и запустить код C++
, выполните следующие действия.
g++ -o outputfile sourcefile.cpp
./outputfile
Чтобы скомпилировать и запустить код Java
, выполните следующие действия.
javac filename.java
java filename
Расширенные команды Linux для системных администраторов Linux
В предыдущем разделе этой серии мы попытались рассмотреть команды, необходимые для администрирования сервера Linux.
36. Настройка сетевого интерфейса
Команда ifconfig используется для настройки, управления и отображения параметров сетевого интерфейса, который обычно используется для назначения IP-адресов, настройки сетевых интерфейсов и устранения неполадок в сети.
sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0 up
Эта команда присваивает IP-адрес 192.168.1.100
интерфейсу eth0
и выводит его на связь.
37. Просмотр пользовательской информации, связанной с сетью
Команда netstat предоставляет подробную информацию о сетевых соединениях, таблицах маршрутизации, статистике интерфейса и многом другом.
netstat -tuln
38. Получение данных с завитком
Команда curl используется для передачи данных с сервера или на сервер. Он поддерживает различные протоколы, включая HTTP, FTP и другие. Вы можете использовать его для получения данных с веб-сервера или тестовых ответов сервера.
curl -I https://www.example.com
39. Проверка информации DNS
Команда dig — это служебная программа поиска DNS, которая предоставляет подробную информацию о записях DNS, которая обычно используется для устранения неполадок DNS.
dig example.com
40. Знание времени безотказной работы вашей системы
Команда uptime показывает, как долго работает система, количество пользователей в системе, а также среднюю загрузку системы за последние 1, 5 и 15 минут.
uptime
41. Трансляция сообщений для вошедших в систему пользователей
Команда wall
используется для отправки сообщений всем пользователям, которые в данный момент вошли в систему.
echo "System Maintenance in 10 minutes" | wall
42. Отправляйте текстовые сообщения напрямую пользователю
Команда write
позволяет отправить сообщение другому вошедшему в систему пользователю.
write username
43. Объединение команд конвейера
Вы можете объединить несколько команд с помощью каналов (|)
, чтобы передать вывод одной команды другой.
ps aux | grep firefox
44. Наблюдение за процессами процессора
Команда top отображает динамическое представление системных процессов в режиме реального времени, включая использование процессора и памяти.
top
45. Создание нового отформатированного раздела ext4
Команда mkfs.ext4
используется для создания файловой системы ext4 на разделе.
sudo mkfs.ext4 /dev/sdb1
46. Редактирование файлов с помощью vi, emacs и nano
В Linux доступно несколько текстовых редакторов для редактирования файлов прямо из командной строки. Среди самых популярных — vi, emacs и nano.
Чтобы отредактировать файлы с помощью vi
:
vi filename.txt
Чтобы отредактировать файлы с помощью emacs
:
emacs myfile.txt
Чтобы редактировать файлы с помощью nano
:
nano myfile.txt
47. Копирование большого файла/папки с индикатором выполнения
Команда rsync используется для копирования файлов и каталогов. С опцией --progress
он показывает индикатор выполнения.
rsync -avh --progress source_directory/ destination_directory/
48. Проверьте доступную память
Команда free показывает объем свободной и используемой памяти в системе.
free -h
49. Резервное копирование базы данных MySQL
Команда mysqldump используется для создания резервных копий баз данных MySQL.
mysqldump -u root -p database_name > backup.sql
50. Сгенерируйте случайный пароль
Команда openssl
может сгенерировать случайный пароль.
openssl rand -base64 12
51. Объедините два текстовых файла
Команду cat
можно использовать для объединения двух текстовых файлов в один.
cat file1.txt file2.txt > mergedfile.txt
52. Список всех открытых файлов
Команда lsof выводит список всех открытых файлов и процессов, которые их открыли.
lsof
Эти команды являются основными инструментами для системных администраторов и пользователей для эффективного взаимодействия с системами Linux.