Горячие клавиши и пара полезных трюков

EnterВыполняет команду.
Показывает предыдущую команду.
Ctrl+rПозволяет искать команду в истории.
Ctrl+сОстанавливает выполнение текущей команды.
Ctrl+aПереводит курсор в начало строки.
Ctrl+eПереводит курсор в конец строки.
Ctrl+lОчищает экран.
Ctrl+uВырезает всё от начала строки до курсора и помещает в специальный буфер.
Ctrl+kВырезает всё от курсора до конца строки и помещает в специальный буфер.
Ctrl+yВставляет содержимое специального буфера.
Ctrl+wУдаляет слово/аргумент слева от курсора в текущей строке.
Ctrl+dЗавершает текущую сессию, аналогично команде exit.
Alt+<Переходит к первой команде в истории.
Alt+>Переходит к последней команде в истории.
Alt+Удаляет всё от начала слова до курсора.
TabTabПоказывает возможные дополнения текущей команды.
*TabTabПоказывает директории, содержащиеся в текущей директории (за исключением скрытых).
~TabTabВыводит список пользователей из /etc/passwd.
!!
Повторяет последнюю команду.
&&
Объединяет несколько команд.
command | less
Выводит результат работы команды command постранично. Переходить между страницами можно с помощью Shift+ и Shift+.

Помощь

Все описаные ниже команды имеют значительно больше параметров, чем указано на этой странице. Для того, чтобы узнать полный список возможностей как раз и нужна команда man

man command
Показывает страницу мануала для команды command.
man -k something

или

apropos something
Показывает список страниц мануала, связанных с something.

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

date
Показывает системную дату.
cal
Показывает календарь на текущий месяц.
uptime
Показывает текущий аптайм.
w
Показывает залогиненых пользователей.
whoami
Показывает имя, под которым вы залогинены.
uname -a
Показывает информацию о ядре.
whereis app
Показывает пути возможного нахождения программы app.
which app
Показывает путь, по которому программа app будет запущена по умолчанию.
df
Отображает информацию об использовании HDD на основе файловой системы.
df -h
Отображает ту же информацию, но в более читабельном виде (флаг -h буквально означает "human readable").
du
Отображает информацию об использовании диска для каждого файла и директории в текущей директории.
free
Показывает информацию об использовании памяти и swap.

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

Листинг содержимого текущей директории

ls
Показывает содержимое текущей директории.
ls -l
Форматирует вывод в виде списка с более детализированным представлением содержимого текущей директории.
ls -a
Показывает также скрытые файлы, соответственно:
ls -la
Показывает детализированный список со всем содержимым текущей директории.
pwd
Показывает полный путь к текущей директории.

Вывод файла на экран

cat /some/file/path
Показывает содержимое файла /some/file/path. Можно перенаправить вывод не на экран, а в другой файл, с помощью символа '>'. Если нужно ограничить вывод каким-то количеством строк, используем опцию -n [количество строк].
Также команду cat можно использовать для просмотра определенной системной информации, например:
cat /proc/cpuinfo
Показывает информацию о CPU.
cat /proc/meminfo
Показывает информацию о памяти.
more /some/file/path
Показывает содержимое файла /some/file/path постранично. Переход на следующую страницу с помощью Space bar
less filename
Более продвинутая вариация команды more, которая также постранично показывает содержимое файла filename, но добавляет возможность листать в обе стороны, поиск по содержимому и т.п.
head -5 filename
Показывает первые 5 строк файла filename.
tail -f /some/log/path
Показывает последние 10 строк файла /some/log/path, добавляя новые строки по мере их появления в файле (опция -f).
tail -f /some/log/path | grep -i -P "(error|warning)"
Показывает те строки из последних 10 строк файла /some/log/path, которые содержат error или warning.

Смена директории

cd

или

cd ~
Переходит в домашнюю директорию текущего пользователя.
cd ~user
Переходит в домашнюю директорию пользователя user.
cd /some/dir/path
Переходит в директорию /some/dir/path.
cd ..
Переходит в директорию уровнем выше.
cd -
Переходит в предыдущую посещённую директорию.

Создание файлов и директорий

touch filename
Создаёт файл с именем filename.
touch -t 1702270000 filename
Изменяет дату и время создания файла filename на 27.02.2017 00:00. Если файла не существует, то он создаётся с указанными датой и временем создания (в формате YYMMDDhhmm).
mkdir dirname1
Создаёт директорию с именем dirname1.
mkdir dirname1 dirname2
Создаёт сразу 2 директории — dirname1 и dirname2.
mkdir -p /dir1/dir2/dir3
Создаёт сразу 3 директории, вложенные друг в друга (создаёт дерево директорий).
mkdir -m 755 dirname1
Создаёт директорию dirname1 и устанавливает ей права доступа 755.

Копирование, перемещение и удаление файлов и директорий

cp /some/file/path1 /some/file/path2
Копирует файл /some/file/path1 в /some/file/path2.
cp -p /some/file/path1 /some/file/path2
Копирует файл /some/file/path1 в /some/file/path2 с сохранением атрибутов (время изменения, права доступа).
cp -r /some/dir/path1 /some/dir/path2
Рекурсивно копирует директорию /some/dir/path1 в /some/dir/path2. Если директории /some/dir/path2 не существует, она будет создана.
mv filename1 filename2
Переименовывает (перемещает содержимое) файла filename1 в filename2.
mv filename /some/dir/path
Перемещает файл filename в директорию /some/dir/path.
rm something
Удаляет файл или директорию с названием something.
rm -r /some/dir/path
Удаляет директорию /some/dir/path и всё её содержимое (рекурсивное удаление). В случае, если директория, которую мы собираемся удалить, не пуста, простая команда rm /some/dir/path выдаст ошибку и нам понадобиться опция -r для рекурсивного удаления всего содержимого.
О некоторых особенностях работы команд cp, mv и rm со скрытыми файлами можно узнать в заметке.

Права доступа и владельцы

chmod mode something
Устанавливает права доступа к файлу или директории something на mode.
mode может быть указан в числовом или в символьном виде и определяет права для владельца (файла или директории), группы и всех остальных, например:
chmod 754 /some/dir/path

или

chmod rwxr-xr-- /some/dir/path
Устанавливает для директории /some/dir/path следующие права: владелец (7 в 754 или rwx в rwxr-xr--) может читать, записывать и выполнять (r - Read; w - Write; x - eXecute); группа может читать и выполнять; все остальные (world) могут только читать.
chown user:group something
Назначает владельцем файла или директории something пользователя user и группу group.
chmod -R 754 /some/dir/path && chown -R user:group /some/dir/path
Рекурсивно устанавливает права и владельца для директории /some/dir/path.

Поиск

find / -name dirname1 -type d
Производит поиск директорий (-type d) c именем dirname1, начиная с корневой директории (/).
find /some/dir/path -name "*.php" -type f
Ищет все php файлы в директории /some/dir/path.
find some/dir/path -type f -mtime -10
Ищет все файлы в директории some/dir/path, измененные за последние 10 дней.
Кроме того команда find позволяет выполнять другие команды для найденных файлов, например:
find . -name "*.tmp" -type f -exec rm -rf {} \;
Ищет все tmp файлы в текущей и дочерних директориях и удаляет их.
grep "something" filename
Ищет вхождения something в файл filename.
grep -i "something" filename1 filename2
Ищет вхождения something в файлы filename1 и filename2 без учета регистра (опция -i).
grep --include=\*.log -r "some_ip_address" /some/dir/path
Рекурсивно (опция -r) ищет some_ip_address (понятно, что это не обязательно должен быть ip адрес) во всех *.log файлах, находящихся в директории /some/dir/path.
history | grep "some_previous_command"
Ищет вхождения some_previous_command в выводе команды history. Полученную информацию можно использовать, например, для повторного запуска какой-нибудь команды с помощью команды !n, где n - номер строки в истории.
ps auxf | grep nginx
Ищет вхождения nginx в списке активных процессов (вывод команды ps auxf).

Другие файловые команды

ln filename linkname
Создаёт жёсткую ссылку с именем linkname на файл filename.
ln -s /some/dir/path /some/dest/dir/path/linkname
Создаёт в директории /some/dest/dir/path/ символическую ссылку с именем linkname на директорию /some/dir/path. Если в пути встречаются пробелы, их нужно экранировать обратным слешем.
Символические (программные, мягкие) ссылки указывают на файл или директорию, но не содержат никаких метаданных (они чем-то похожи на ярлыки в Windows). Жёсткие же ссылки указывают на физический адрес области диска.

Работа с процессами

top
Показывает список запущенных процессов и потребляемые ими ресурсы (процессорное время, память и т.д.). Информация автоматически обновляется.
pstree
Показывает дерево процессов.
ps
Показывает активные процессы.
ps auxf
Показывает активные процессы в виде дерева.
kill 5555

или

kill -TERM 5555
Отправляет процессу с PID (ID процесса) 5555 сигнал о завершении работы (-TERM).
kill -9 5555

или

kill -KILL 5555
Отправляет процессу с PID 5555 сигнал -KILL о немедленном завершении работы без сохранения данных.
lsof -p 5555
Показывает список файлов, открытых процессом с PID 5555.

Пользователи и группы

useradd username
Создаёт аккаунт пользователя с именем username.
useradd -g some_group -d /home/users/username -s /bin/bash username
Создаёт аккаунт пользователя с именем username, помещает его в группу some_group, устанавливает ему в качестве домашнего каталога директорию /home/users/username и назначает ему в качестве shell'а /bin/bash.
usermod -s /bin/nologin username
Изменяет в аккаунте пользователя username атрибут shell, устанавливая его в /bin/nologin
userdel -r username
Удаляет аккаунт пользователя username и его домашний каталог.
passwd
Позволяет изменить пароль. Для суперпользователя доступна команда passwd username, которая позволяет менять пароль аккаунту пользователя username.

Другие полезные команды

wget -r www.example.com
Рекурсивно загружает содержимое сайта www.example.com.
wget -c www.example.com/filename.iso
Продолжает загрузку файла filename.iso с сайта www.example.com.
alias ngr="service nginx restart"
Назначает команде service nginx restart алиас ngr.