Лого сайта
Bash

bash - Одна из наиболее удобных и популярных современных разновидностей командной оболочки UNIX; особенно популярна в среде Linux, где она часто используется в качестве предустановленной командной оболочки.


Стандартные потоки и работа с ними
В bash существует особая система потоков: 0 (stdin), 1 (stdout), 2 (stderr).
Для операций с этими потоками, существуют специальные символы: > (перенаправление вывода), < (перенаправление ввода). Символ & означает указатель на 1 (stdout).
1>filename Перенаправление вывода в файл «filename», файл перезаписывается поступающими данными
1>>filename Перенаправление вывода в файл «filename», данные добавляются в конец файла
2>filename Перенаправление стандартного вывода ошибок в файл «filename»
2>>filename Перенаправление стандартного вывода ошибок в файл «filename», данные добавляются в конец файла
&>filename Перенаправление вывода и ошибок в файл «filename»
2>&1 Перенаправление вывода ошибок на стандартный вывод


Как один из вариантов грамотного применения перенаправления ввода/вывода, можно назвать разбор и "сшивание" вывода от команд. Это позволяет создавать файлы отчетов и журналов регистрации событий.
Создает файл, содержащий список дерева каталогов.
ls -lR > dir-tree.list

Отдельно следует упомянуть такое понятие, как конвейр.
Конвейеры (еще их называют каналами) - это классический способ взаимодействия процессов, с помощью которого stdout одного процесса перенаправляется на stdin другого.
Обычно используется совместно с командами вывода, такими как cat или echo, от которых поток данных поступает в "фильтр" (команда, которая на входе получает данные, преобразует их и обрабатывает).

Сшивается 2 файла, после чего по их содержанию осуществляется поиск
cat file1 file2 | grep some_word

Рассмотрим дополнительно некоторые спец.символы

символсмысл
;разделение последовательности команд
$вызов содержания переменной
./текущий рабочий каталог
../каталог уровнем выше
/корень сервера
~/личная директория пользователя
?какой-либо символ
*множество символов
#строка-коментарий
\экранирование следующего символа
''экранирование содержимого, полностью
""экранирование содержимого, почти полностью
[]подстановка команды
:пустая команда
{}создание списка команд
символсмысл

А теперь перейдем к списку освоенных команд с опианиями и пояснениями:
Команда Описание Часто применяемые флаги Пример использования
wc wc по умолчанию подсчитывает число строк, слов и байтов в указанном файле.
Если указано более одного значения для файла, то результатом подсчёта является общее количество строк.
Если файл не указан или указано значение -, то команда считывает стандартный ввод. Словом команда считает последовательность ненулевой длины, состоящую из символов, отделённых пробелами от других слов.
-c, подсчитывает количество байтов
-m, подсчитывает количество символов
-l, подсчитывает количество строк
-L,подсчитывает длину самой длинной строки
-w,подсчитывает количество слов
wc aba
1 1 3
find ищет указаное, возвращает путь до искомого -name, искать по имени файла find ~ -name 'somthing'
/somwhere/somthing
echo возвращает поданое команде echo "123"
123
pwd показывает абсолютный путь к рабочей директории pwd
/somwhere
ls показывает спискок чего-нибудь (изначально список файлов) -R, рекурсивный обход дерева каталогов
-S -- сортировка по размеру файлов
-t -- сортировка по времени последней модификации
-d показыает директории
mkdir сотворить папку
rm удалить что-либо
cat сшить что-либо
rmdir удалить директорию
less просмотреть содержание файла
more просмотреть содержание файла с большим функционалом
head просмотреть заголовок файла
nano просмотреть содержание файла при помощи текстового редактора
grep осуществить построчный поиск
man просмотр мануала
cd сменить рабочую директорию
ping узнать пинг до чего-нибудь
cp скопировать что-то куда-то
scp зайти куда-нибудь по этому протоколу