Перенаправление и вывод
Перенаправление ввода/вывода
Вывод текста
echo - выводит строк текста
Очистка экрана
clear - очищает экра (Ctrl + L)
История
history - выводит содержимое истории команд
История команд хранится в фале .bash/history
Перенаправление стандартного вывода
команда > файл - вывод результата команды в файл
Пример:
[andrey@fedora ~]$ ll /usr/ > out.txt
[andrey@fedora ~]$ cat out.txt
итого 4
dr-xr-xr-x. 1 root root 33038 мая 20 14:54 bin
drwxr-xr-x. 1 root root 0 янв 20 06:04 games
drwxr-xr-x. 1 root root 2114 мая 15 16:21 include
dr-xr-xr-x. 1 root root 796 мая 15 20:06 lib
dr-xr-xr-x. 1 root root 98588 мая 20 14:24 lib64
drwxr-xr-x. 1 root root 9548 мая 20 14:23 libexec
drwxr-xr-x. 1 root root 90 янв 20 06:04 local
dr-xr-xr-x. 1 root root 12858 мая 20 14:54 sbin
drwxr-xr-x. 1 root root 4806 мая 17 20:44 share
drwxr-xr-x. 1 root root 24 янв 20 06:04 src
lrwxrwxrwx. 1 root root 10 янв 20 06:04 tmp -> ../var/tmpПеренаправление стандартного вывода ошибок
команда 2> файл - вывод ошибок в файл
Пример:
[andrey@fedora ~]$ ll /usr2/ 2> out.txt
[andrey@fedora ~]$ cat out.txt
ls: невозможно получить доступ к '/usr2/': Нет такого файла или каталогаПеренаправление стандартного вывода и стандартного вывода ошибок в один файл
команда &> файл - перенаправляет стандартный вывод и стандартный вывод ошибок с в файл
команда &>> файл - перенаправляет стандартный вывод и стандартный вывод ошибок с добавлением в конец одного и того же файла
Пример:
[andrey@fedora ~]$ ll test/ &>> out.txt
[andrey@fedora ~]$ ll test1/ &>> out.txt
[andrey@fedora ~]$ cat out.txt
итого 0
drwxrwxr-x. 1 andrey andrey 0 мая 20 16:00 dir1
drwxrwxr-x. 1 andrey andrey 0 мая 20 16:00 dir2
d---------. 1 andrey andrey 0 мая 20 16:06 dir3
ls: невозможно получить доступ к 'test1/': Нет такого файла или каталогаУдаление нежелательного вывода
команда 2> /dev/null - удалит нежелательный вывод переслав его на специальное системное устройство битоприемник (bit bucket) /dev/null
Пример:
[andrey@fedora ~]$ ll test1/ 2> /dev/nullПеренаправление стандартного ввода
cat [файл...] - читает содержимое одного или нескольких файлов и копирует его в стандартный вывод
cat - начнет читать ввод с клавиатуры
cat > файл - запишет ввод с клавиатуры в файл (для окончания ввода необходимо нажать Ctrl + D)
Пример:
[andrey@fedora ~]$ cat > in.txt
Строка текста введенная с клавиатуры и записанная в файл
[andrey@fedora ~]$ cat in.txt
Строка текста введенная с клавиатуры и записанная в файлКонвейеры
команад1 | команда2 - стандартный вывод одной команды связывает со стандартным вводом другой
[andrey@fedora ~]$ ls -l /usr/bin/ | less[andrey@fedora ~]$ ls -l test/ test/dir1 | cat
test/:
итого 0
drwxrwxr-x. 1 andrey andrey 48 мая 20 17:01 dir1
drwxrwxr-x. 1 andrey andrey 0 мая 20 16:00 dir2
d---------. 1 andrey andrey 0 мая 20 16:06 dir3
test/dir1:
итого 12
-rw-rw-r--. 1 andrey andrey 878 мая 20 17:00 out1.txt
-rw-rw-r--. 1 andrey andrey 878 мая 20 17:00 out2.txt
-rw-rw-r--. 1 andrey andrey 878 мая 20 17:00 out3.txtФильтры
Сортировка
sort - сортировка
[andrey@fedora ~]$ ls test/ | sort | cat
dir1
dir2
dir3sort -r - сортировак в обратном порядке
[andrey@fedora ~]$ ls test/ | sort -r | cat
dir3
dir2
dir1Поиск или удаление повторяющихся строк
[andrey@fedora ~]$ cat in.txt
Строка1
Строка2
Строка2
Строка3uniq - удаление повторяющихся строк
[andrey@fedora ~]$ cat in.txt | uniq | cat
Строка1
Строка2
Строка3uniq -d - поиск повторяющихся строк
[andrey@fedora ~]$ cat in.txt | uniq -d | cat
Строка2Вывод числа строк, слов, байт
wc [файл...] - (word count - счетчик слов) подсчитывает число строк, слов, байт
[andrey@fedora ~]$ wc out.txt in.txt
5 40 289 out.txt
4 4 56 in.txt
9 44 345 итого
[andrey@fedora ~]$ cat in.txt | uniq | cat
Строка1
Строка2
Строка3
[andrey@fedora ~]$ cat in.txt | uniq | cat | wc
3 3 42
[andrey@fedora ~]$ # Количество строк
[andrey@fedora ~]$ cat in.txt | uniq | cat | wc -l
3
[andrey@fedora ~]$ # Количество символов
[andrey@fedora ~]$ cat in.txt | uniq | cat | wc -m
24
[andrey@fedora ~]$ # Количество байт
[andrey@fedora ~]$ cat in.txt | uniq | cat | wc -c
42при отсутствии аргументов читает данные из стандартного потока ввода (клавиатуры)
[andrey@fedora ~]$ wc
1234
5678
9101
3 3 15Поиск строк соответствующих шаблону
grep шаблон [файл...] - находит в файле совпадение с "шаблоном" и выводит строки с найденным совпадением
[andrey@fedora ~]$ cat out.txt
zip1
zip2
cat1
cat2
zip3cat3
[andrey@fedora ~]$ cat out.txt | grep zip
zip1
zip2
zip3cat3
[andrey@fedora ~]$ cat out.txt | grep cat
cat1
cat2
zip3cat3
[andrey@fedora ~]$ cat out.txt | grep -v cat
zip1
zip2ключ -v выводит строки где совпадений с шаблоном не найдено
ключ -i игнорирует регистр символов в процессе сравнения
Вывод первых/последних строк из файла
head [файл...] - выводит первые 10 строк из файла
head -n N [файл...] - выводит первые N строк из файла
tail [файл...] - выводит последние 10 строк из файла
tail -n N [файл...] - выводит последние N строк из файла
[andrey@fedora ~]$ cat in.txt
Строка1
Строка2
Строка2
Строка3
[andrey@fedora ~]$ head -n 3 in.txt
Строка1
Строка2
Строка2
[andrey@fedora ~]$ tail -n 3 in.txt
Строка2
Строка2
Строка3Команда tail позволяет наблюдать, как изменяетcя содержимое файла в режиме реального времени
[andrey@fedora ~]$ tail -f /var/log/messagesЧтение со стандартного ввода и запись в стандартный вывод и в файл
tee [файл...] - копирует стандартный ввод в каждый ФАЙЛ, а также в стандартный вывод
[andrey@fedora ~]$ ll test/
итого 0
drwxrwxr-x. 1 andrey andrey 0 мая 20 18:51 cat4zip
drwxrwxr-x. 1 andrey andrey 48 мая 20 17:01 dir1
drwxrwxr-x. 1 andrey andrey 0 мая 20 18:42 dir1zip
drwxrwxr-x. 1 andrey andrey 0 мая 20 16:00 dir2
drwxrwxr-x. 1 andrey andrey 0 мая 20 18:40 dir2zip
drwxrwxr-x. 1 andrey andrey 0 мая 20 18:41 dir3
d---------. 1 andrey andrey 0 мая 20 18:40 dir3zip
[andrey@fedora ~]$ ll test/ | tee full_list.txt | grep zip | tee zip_list.txt | grep cat
drwxrwxr-x. 1 andrey andrey 0 мая 20 18:51 cat4zip
[andrey@fedora ~]$ cat full_list.txt
итого 0
drwxrwxr-x. 1 andrey andrey 0 мая 20 18:51 cat4zip
drwxrwxr-x. 1 andrey andrey 48 мая 20 17:01 dir1
drwxrwxr-x. 1 andrey andrey 0 мая 20 18:42 dir1zip
drwxrwxr-x. 1 andrey andrey 0 мая 20 16:00 dir2
drwxrwxr-x. 1 andrey andrey 0 мая 20 18:40 dir2zip
drwxrwxr-x. 1 andrey andrey 0 мая 20 18:41 dir3
d---------. 1 andrey andrey 0 мая 20 18:40 dir3zip
[andrey@fedora ~]$ cat zip_list.txt
drwxrwxr-x. 1 andrey andrey 0 мая 20 18:51 cat4zip
drwxrwxr-x. 1 andrey andrey 0 мая 20 18:42 dir1zip
drwxrwxr-x. 1 andrey andrey 0 мая 20 18:40 dir2zip
d---------. 1 andrey andrey 0 мая 20 18:40 dir3zip
[andrey@fedora ~]$ Last updated