Bash — это командная оболочка или по-другому — интерпретатор команд.
Оболочка Bash обладает огромным количеством возможностей.
Это больше чем интерпретатор, в умелых руках Bash может превратиться в полноценный язык программирования.
Перечень наиболее часто используемых команд.

Команды для работы с файлами и каталогами

pwd - отобразить путь текущего каталога
cd - перейти в указанный каталог
ls - отобразить список файлов каталога, с ключом -l показывает дополнительные сведения о файлах.
cp - копирование файлов/папок
mv - перемещение файлов/папок
mkdir - создать папку
rm - удалить файлы/папки, с ключом -r удаляет и все вложенные папки, с ключом -f - удаляет открытые файлы или каталоги
rmdir - удаление пустой папки
chmod - изменить права доступа к файлу
chown - сменить владельца файла или каталога
find - найти файл. Задается исходный путь для поиска и шаблон поиска, find / -name .X* - искать от корневого каталога файлы, содержащие в имени символы .X
which - отобразить полный путь исполняемого файла, доступного в данной оболочке, например which ifconfig
touch - изменить временные отметки файла. Удобно использовать для создания пустых файлов – touch myfile создаст пустой файл myfile .

Системные команды обычно используется от имени суперпользователя (с командой sudo).

reboot - перезагрузка системы
poweroff - выключение компьютера
reset - очищает окно терминала
passwd - сменить свой пароль, а суперпользователю - поменять пароль любого пользователя
users - отобразить список пользователей, вошедших в систему.
yum - установка, удаление или обновление программного обеспечения в дистрибутивах Fedora, RedHat и т.п.
dpkg - установка, удаление или обновление программного обеспечения в дистрибутивах Debian, Ubuntu и т.п.
apt (или устаревшее apt-get) - установка, удаление или обновление программного обеспечения

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

ps - отобразить список текущих активных процессов
lsof - отобразить список открытых файлов процесса или пользователя
strace - отобразить список системных вызовов
last - отобразить историю перезагрузок и регистраций пользователей в системе
kill - послать сигнал процессу, обычно используется для принудительного завершения работы процесса.
killall - завершение работы всех процессов, имена которых заданы параметром командной строки
top - отображение списка текущих процессов и интерактивное управление ими.

Сетевые команды

ifconfig - конфигурация сетевых интерфейсов
route - таблица маршрутизации
ifup / ifdown - включить /выключить сетевой интерфейс
ip - просмотр или изменение параметров конфигурации протокола IP

netstat - отобразить состояние сетевых соединений
arp, ping, nslookup, traceroute - наиболее часто используемые команды сетевой диагностики.

Служебные символы используемые в shell скриптах
#
;
;;
.
"
'
,
\
/
`
:
!
*
?
$
${}
$*, $@
$?
$$
()
{xxx,yyy,zzz,...}
{}
{} \;
[ ]
[[]]
(( ))
>,&>,>&,>>,<,<<
<, >
\<, \>
|
>|
||
&
&&
-
=
+
%
~
~+
~-
^

Начало комментария
Разделитель команд
Разделитель в команде case
Оператор точка
Экранирование
Строгое экранирование
Запятая
Экранирование отдельного специального символа
Префикс пути
Подстановка команды
Пустая команда
Логическое отрицание
Групповой шаблон
Проверка условия
Подстановка переменной
Подстановка переменной
Аргументы командной строки
Код завершения операции
PID процесса
Группа команд
Фигурные скобки
Блок кода ( вложенный блок )
Путь к файлу и его имя
test
Двойные квадратные скобки
Двойные круглые скобки
Перенаправление на встроенный документ
Посимвольное ASCII-сравнение
Граница слова
Конвейер
Принудительное перенаправление
Логическое ИЛИ
Выполнить процесс в фоновом режиме
Логическое И
Дефис
Символ равно
Плюс
Модуль
Домашний каталог ( тильда )
Текущий рабочий каталог
Предыдущий рабочий каталог
Начало строки
Символ пробела