Вывод текста
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
dir3
sort -r
- сортировак в обратном порядке
[andrey@fedora ~]$ ls test/ | sort -r | cat
dir3
dir2
dir1
Поиск или удаление повторяющихся строк
[andrey@fedora ~]$ cat in.txt
Строка1
Строка2
Строка2
Строка3
uniq
- удаление повторяющихся строк
[andrey@fedora ~]$ cat in.txt | uniq | cat
Строка1
Строка2
Строка3
uniq -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 ~]$