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 .

Системные команды
reset-очищает окно терминала
passwd-сменить свой пароль, а суперпользователю - поменять пароль любого пользователя
users-отобразить список пользователей, вошедших в систему.
apt-get <или>
apt
-установка, удаление или обновление программного обеспечения
reboot-перезагрузка системы
poweroff-выключение компьютера
эти две команды заменены на новые и чтоб не путаться делаем алиасы
в файле ~.bashrc пользователя root запишем:
alias reboot='systemctl reboot'
alias poweroff='systemctl poweroff'

# alias rm='rm -i'
# alias cp='cp -i'
# alias mv='mv -i'
Установка, удаление или обновление программного обеспечения в дистрибутивах
yum- Fedora, RedHat и т.п.
dpkg-Debian, Ubuntu и т.п.

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

Сетевые команды
ifconfig-конфигурация сетевых интерфейсов
ifup / ifdown-включить /выключить сетевой интерфейс
ip-просмотр или изменение параметров конфигурации протокола IP
netstat-отобразить состояние сетевых соединений
наиболее часто используемые команды сетевой диагностики:
arp, ping, nslookup, traceroute.

Служебные символы используемые в shell скриптах
#Начало комментария
;Разделитель команд
;;Разделитель в команде case
.Оператор точка
"Экранирование
'Строгое экранирование
,Запятая
\Экранирование отдельного специального символа
/Префикс пути
`Подстановка команды
:Пустая команда
!Логическое отрицание
*Групповой шаблон
?Проверка условия
$Подстановка переменной
${}Подстановка переменной
$*, $@Аргументы командной строки
$?Код завершения операции
$$PID процесса
()Группа команд
{xxx,yyy,zzz...}Фигурные скобки
{}Блок кода ( вложенный блок )
{} \;Путь к файлу и его имя
[ ]test
[[]]Двойные квадратные скобки
(( ))Двойные круглые скобки
>,&>,>&,>>,<,<<Перенаправление на встроенный документ
<, >Посимвольное ASCII-сравнение
\<, \>Граница слова
|Конвейер
>|Принудительное перенаправление
||Логическое ИЛИ
&Выполнить процесс в фоновом режиме
&&Логическое И
-Дефис
=Символ равно
+Плюс
%Модуль
~Домашний каталог ( тильда )
~+Текущий рабочий каталог
~-Предыдущий рабочий каталог
^Начало строки
Символ пробела