Комбінації клавіш і декілька корисних трюків

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, додаючи нові рядки в міру їх появи в файлі.
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 для рекурсивного видалення всього вмісту.

Права доступу і власники

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) з ім'ям 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.