Базовые знания ОС Linux и командной строки
ОС Linux — это операционная система с открытым исходным кодом, которая широко используется на серверах, в мобильных устройствах и на персональных компьютерах. Основные знания о Linux и командной строке включают в себя понимание структуры файловой системы, базовых команд и принципов работы.
1. Структура файловой системы Linux
Файловая система Linux организована в виде иерархического дерева. Основные директории:
- / — корневая директория.
- /bin — основные исполняемые файлы (команды).
- /etc — конфигурационные файлы системы.
- /home — домашние директории пользователей.
- /var — переменные данные (логи, кэш).
- /usr — пользовательские программы и библиотеки.
- /tmp — временные файлы.
- /dev — файлы устройств.
- /proc — виртуальная файловая система, предоставляющая информацию о процессах и системе.
2. Основные команды командной строки
Командная строка (терминал) — это основной способ взаимодействия с Linux. Вот основные команды:
Работа с файлами и директориями:
- ls — список файлов и директорий.
ls /home
- cd — смена текущей директории.
cd /var/log
- pwd — показать текущую директорию.
pwd
- mkdir — создать директорию.
mkdir myfolder
- rm — удалить файл или директорию.
rm file.txt
rm -r myfolder # удалить директорию рекурсивно
- cp — копировать файл или директорию.
cp file.txt /backup/
cp -r myfolder /backup/ # копировать директорию рекурсивно
- mv — переместить или переименовать файл/директорию.
mv file.txt newfile.txt
mv file.txt /backup/
- touch — создать пустой файл или обновить время его модификации.
touch newfile.txt
Просмотр и редактирование файлов:
- cat — вывести содержимое файла.
cat file.txt
- less или more — постраничный просмотр файла.
less file.txt
- nano или vim — текстовые редакторы.
nano file.txt
vim file.txt
Поиск:
- find — поиск файлов и директорий.
find /home -name "*.txt"
- grep — поиск текста в файлах.
grep "error" logfile.txt
Права доступа:
- chmod — изменить права доступа к файлу.
chmod 755 script.sh # rwxr-xr-x
- chown — изменить владельца файла.
chown user:group file.txt
Системные команды:
- ps — список запущенных процессов.
ps aux
- top или htop — мониторинг процессов и ресурсов системы.
top
- kill — завершить процесс.
kill 1234
kill -9 1234 # принудительное завершение
- df — информация о свободном месте на диске.
df -h
- du — информация о размере файлов и директорий.
du -sh /home
Сеть:
- ping — проверить доступность хоста.
ping google.com
- ifconfig или ip — информация о сетевых интерфейсах.
ifconfig
ip addr show
- ssh — подключение к удаленному серверу.
ssh user@hostname
- scp — копирование файлов между компьютерами по SSH.
scp file.txt user@hostname:/path/
3. Переменные окружения
Переменные окружения используются для хранения настроек и параметров системы. Основные команды:
- echo — вывести значение переменной.
echo $HOME
- export — установить переменную окружения.
export MY_VAR="Hello"
4. Перенаправление ввода/вывода
- > — перенаправление вывода в файл (перезапись).
echo "Hello" > file.txt
- >> — перенаправление вывода в файл (добавление).
echo "World" >> file.txt
- < — перенаправление ввода из файла.
cat < file.txt
- | — передача вывода одной команды на вход другой.
ls -l | grep ".txt"
5. Пакетные менеджеры
Для установки и управления программным обеспечением в Linux используются пакетные менеджеры:
- APT (Debian/Ubuntu):
sudo apt update
sudo apt install package_name
sudo apt remove package_name
- YUM/DNF (CentOS/Fedora):
sudo yum install package_name
sudo dnf remove package_name
- Pacman (Arch Linux):
sudo pacman -S package_name
sudo pacman -R package_name
6. Скрипты на Bash
Bash — это командная оболочка, которая позволяет писать скрипты для автоматизации задач. Пример простого скрипта:
#!/bin/bash
echo "Hello, World!"
Для запуска скрипта:
chmod +x script.sh
./script.sh
7. Полезные ресурсы
- man — встроенная справка по командам.
man ls
- —help — краткая справка.
ls --help
- Онлайн-документация и форумы, такие как Stack Overflow.
Эти базовые знания помогут вам начать работать с Linux и командной строкой. По мере углубления в систему вы сможете изучать более сложные темы, такие как управление процессами, настройка сети, работа с сервисами и автоматизация задач.