Первоначальная настройка linux

Вот наконец-то мы установили выбранный дистрибутив и попали в командную строку. Если вы купили или арендовали сервер с установленной операционной системой, то начинаем работать тоже отсюда. Перед нами наконец-то командная строка, которая требует ввести имя пользователя и пароль.

SUDO

И тут вам предстоит узнать о том, что работать из под рута не принято. Для работы используется команда sudo и другой пользователь. Принцип работы таков, что перед каждой командой, которая требует прав рута, вам нужно писать sudo и вводить пароль. В случае, когда мы сами разворачиваем виртуалку, вам придётся самостоятельно создать этого пользователя:

  • adduser admin — создаём пользователя admin;
  • passwd admin — задаём пароль для пользователя admin;
  • yum install sudo — установка sudo;
  • visudo — открываем sudo в стандартном текстовом редакторе;
  • Ищем в тексте строку «root    ALL=(ALL)       ALL»;
  • Добавляем следующей строкой «admin   ALL=(ALL)       ALL» (Для того, чтобы начать вводить текст в выбранном месте нажмите i. Для сохранения результата нажмите Esc. Далее нажмите Shift+W, потом, Shift+Q и когда увидите внизу двоеточие введите туда wq);

В случае с арендой сервера вам может сразу не выдаваться доступ к пользователю root.

Обновление ядра

Очень важно, чтобы на сервере было обновлённое ядро. Команда: sudo yum update
Обновлять ядро требуется время от времени. Помните об этом.

Текстовый редактор

Не люблю стандартный редактор и рекомендую установить что-нибудь другое. Множество админов любят «nano», но мне по душе «mcedit». Этот редактор устанавливается вместе с Midnight Commander (MC):
sudo yum install mc
Смена редактора файлов по умолчанию на встроенный в Midnight Commander редактор MCedit:
export EDITOR=mcedit
Проверить какой редактор сейчас:
echo $EDITOR
MC, кстати, удобный файловый менеджер, поддерживающий все основные операции с файлами: копирование, перемещение, архивация, изменение прав доступа, создание ссылок, каталогов и другие. Как раз для тех, кто пока не запомнил основные команды.

Locale

Когда я установил Linux, то он, к моему сожалению, был англоязычной версией. Настоящий системный администратор, конечно, должен читать и понимать английский язык, но я решил русифицировать Linux на своём сервере. Для этого введите команду locale и если там английский, то его можно сменить для удобства. Команда для смены:
sudo localectl set-locale LANG=ru_RU.UTF8
Изменения вступят в силу после перезагрузки.

Iptables

iptables — это фаервол для линукса.
Разбираюсь с настройкой.

Клавиатурные сочетания

Ctrl+C — завершить текущую команду
Ctrl+Z — остановить текущую команду, продолжть с fg
на переднем плане или bg в фоне
Ctrl+D — разлогиниться, тоже самое, что и exit
Ctrl+W — удалить одно слово в текущей строке
Ctrl+U — удалить строку
!! — повторить последнюю команду
Alt+Insert — вставить
exit — разлогиниться

Файловые команды

ls — список файлов и каталогов
ls -al — форматированный список со скрытыми
каталогами и файлами
cd dir — сменить директорию на dir
cd — сменить на домашний каталог
pwd — показать текущий каталог
mkdir dir — создать каталог dir
rm file — удалить file
rm -r dir — удалить каталог dir
rm -f file — удалить форсированно file
rm -rf dir — удалить форсированно каталог dir *
cp file1 file2 — скопировать file1 в file2
cp -r dir1 dir2 — скопировать dir1 в dir2; создаст
каталог dir2, если он не существует
mv file1 file2 — переименовать или переместить file1 в file2. Если file2 существующий каталог – переместить file1 в каталог file2
ln -s file link — создать символическую ссылку link к файлу file
touch file — создать file
cat > file — направить стандартный ввод в file
more file — вывести содержимое file
head file — вывести первые 10 строк file
tail file — вывести последние 10 строк file
tail -f file — вывести содержимое file по мере роста, начинает с последних 10 строк

Управление процессами

ps — вывести ваши текущие активные процессы
top — показать все запущенные процессы
kill pid — убить процесс с id pid
killall proc — убить все процессы с именем proc *
bg — список остановленных и фоновых задач
fg — выносит на передний план последние задачи
fg n — вынести задачу n на передний план

Поиск

grep pattern files — искать pattern в files
grep -r pattern dir — искать рекурсивно pattern в dir
command | grep pattern — искать pattern в выводе command
locate file — найти все файлы с именем file

Системная информация

date — вывести текущую дату и время
cal — вывести календарь на текущий месяц
uptime — показать текущий аптайм
w — показать пользователей онлайн
whoami — имя, под которым вы залогинены
finger user — показать информацию о user
uname -a — показать информацию о ядре
cat /proc/cpuinfo — информация ЦПУ
cat /proc/meminfo — информация о памяти
man command — показать мануал для command
df — показать инф. о использовании дисков
du — вывести “вес” текущего каталога
free — использование памяти и swap
whereis app — возможное расположение программы app
which app — какая app будет запущена по умолчанию

Архивация

tar cf file.tar files — создать tar-архив с именем
file.tar содержащий files
tar xf file.tar — распаковать file.tar
tar czf file.tar.gz files — создать архив tar с сжатием Gzip
tar xzf file.tar.gz — распаковать tar с Gzip
tar cjf file.tar.bz2 — создать архив tar с сжатием Bzip2
tar xjf file.tar.bz2 — распаковать tar с Bzip2
gzip file — сжать file и переименовать в file.gz
gzip -d file.gz — разжать file.gz в file

Сеть

wget file — скачать file
wget -c file — продолжить остановленную закачку