Какая переменная содержит список переданных параметров?
Anonymous Quiz
12%
$#
30%
$*
13%
$?
28%
$$
17%
Посмотреть ответ
Какая команда используется для печати файлов (на принтере)?
Anonymous Quiz
23%
print
18%
ptr
28%
lpr
30%
Ничто из перечисленного
Пароль пользователя в зашифрованном виде хранится в:
Anonymous Quiz
42%
/etc/shadow
4%
/etc/enpasswwd
18%
/etc/.passwd
27%
/etc/passwd
9%
Посмотреть ответ
Это про стандартные потоки вывода. Они имеют файловые дескрипторы:
stdout — 1 (общий поток вывода)
stderr — 2 (поток с ошибками)
Получается (2>&1) = stderr > stdout — направляем поток с ошибками в стандартный поток вывода. Ошибки будут выводиться на экран в терминале.
Для этого и требуется указать символ
& (амперсанд) перед stdout. Это будет интерпретировано как файловый дескриптор, а не обычный файл.Символ
& интерпретируется как файловый дескриптор только в контексте перенаправления.Операция
command &2>&1 анализируется следующим образом. command & 2>&1 — команда command будет выполнятся в фоновом режиме. А затем начнет выполнятся команда 2 с перенаправлением на стандартный вывод stdout.Есть альтернатива с оператором |&.
|& это сокращенный вариант от 2>&1 |Пример:
script.sh |& tee -a /var/log/script.log
Все что
script.sh выведет в потоки stdout и stderr, будет перенаправлено в файл script.log.В официальной документации можно подробнее изучить эту штуку.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23
Сколько ссылок создается при создании директории?
Anonymous Quiz
33%
1
38%
2
6%
3
1%
4
22%
Посмотреть ответ
Обычно для удаления файлов в Linux используется команда
rm. Но файлы, удаленные с помощью этой команды, не удаляются окончательно с диска. Их содержимое остается на диске до тех пор, пока занятое ими пространство не будет перезаписано другими данными. Поэтому информацию возможно восстановить.Но что, если нам нужно удалить файлы так, чтобы их никто не восстановил? Для этого существует команда
shred.Она перезаписывает содержимое файла случайными данными несколько раз, а затем по желанию удаляет его. Это делает восстановление практически невозможным.
shred [опции] файл
Опции:
-n — перезаписать файл n раз-z — делает финальную перезапись нулями, чтобы скрыть сам факт использования shred.-u, --remove — после перезаписи удаляет файл (по умолчанию файл не удаляется).-v — выводит прогресс в терминал-f — принудительно снимает защиту от записи (если файл read-only).shred secret.txt
shred -n 5 -u secret.txt
shred -n 1 -z -u secret.txt
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤2👀1
Демоны, или "daemons", в операционных системах работают в фоновом режиме и следят за различными аспектами системы для обеспечения ее нормальной работы.
Они могут контролировать различные подсистемы, такие как печать или сеть.
В Linux они подобны службам в Windows и выполняют определенные задачи в определенное время или в ответ на события.
Демоны могут быть запущены при старте системы и продолжают работу в качестве системных служб.
Они не требуют вмешательства пользователя для своего запуска и работают в фоновом режиме.
Создаются они процессом инициализации системы при загрузке с помощью метода fork(), создавая копию существующего процесса.
Демоны могут быть идентифицированы в системе по их процессам, их имена обычно заканчиваются на "d".
Их можно отслеживать с помощью различных команд, таких как
ps, top, htop и pstree. Команда pstree отображает процессы в виде древовидной диаграммы, что помогает лучше понять, какие демоны работают в системе.Please open Telegram to view this post
VIEW IN TELEGRAM
❤7
Please open Telegram to view this post
VIEW IN TELEGRAM
Эта команда находит 10 наиболее часто встречающихся IP-адресов в файле access.log:
Покажет топ IP по количеству обращений. Незаменимо для анализа веб-серверов.
#вопросы
grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' access.log | sort | uniq -c | sort -nr | headПокажет топ IP по количеству обращений. Незаменимо для анализа веб-серверов.
#вопросы
👍7
Please open Telegram to view this post
VIEW IN TELEGRAM
Каким будет результат, если выполнить команду
cat file1 file2 1>2 2>&1
cat file1 file2 1>2 2>&1
Anonymous Quiz
20%
cat: file1: No such file or directory hello
15%
cat: 1>2: No such file or directory
9%
hello
31%
Никакой вывод не будет показан на экране
24%
Посмотреть ответ
Вам знакома ситуация, когда ждешь чего-то важного, будь то подключение пользователя или копирование файлов по FTP? Постоянно приходится вводить одну и ту же команду для проверки результата. А это порой бывает утомительно.
Для таких случаев и пригодится команда
watch. Она используется для периодического запуска другой команды и отображения её вывода в терминале с обновлением через заданный интервал времени. Это удобно для "живого мониторинга" изменений в системе.watch [опции] команда
По умолчанию
watch запускает команду каждые 2 секунды.-n <сек> — задать интервал обновления в секундах (по умолчанию 2).-d — подсвечивать изменения между обновлениями.-t — убрать заголовок (без отображения времени и команды).-g — завершить выполнение, когда вывод изменится.watch -n 5 df -h
watch -n 2 ps aux | grep apache
watch -d cat /proc/meminfo
watch -n 1 "ps -C firefox -o %cpu,%mem,cmd"
watch -g ls -l file.txt
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Фигурные скобки
{} в Bash позволяют разворачивать выражения в последовательность аргументов.Простой пример:
echo {1..10}
# 1 2 3 4 5 6 7 8 9 10Можно в обратную сторону:
echo {10..1}
# 10 9 8 7 6 5 4 3 2 1Третий параметр задаёт шаг:
echo {1..501..100}
# 1 101 201 301 401 501Можно и в обратную сторону:
echo {501..1..100}
# 501 401 301 201 101 1В отличие от
seq, фигурные скобки умеют работать с буквами:echo {A..P}
# A B C D E F G H I J K L M N O PШаг тоже поддерживается:
echo {A..P..2}
# A C E G I K M OСоздать сразу несколько директорий:
mkdir ~/Sources/{test1,test2,test3}Сравнить оригинал и патч одной командой:
diff {orig,patched}/path/to/prog.cСделать бэкап файла:
cp -p file.txt{,.bak}
# создаст file.txt и file.txt.bak⚠️ Важно: пробелы внутри
{} ломают расширение!echo file{1.. 2}.txt # не сработаетМожно убрать пробелы из вывода, передав вывод в
tr:echo {A..P..2} | tr -d " "
# ACEGIKMOСоздадим псевдоним для получения n-й буквы алфавита:
alias nth="echo {A..Z} | tr -d ' ' | cut -c"
nth 10
# JКвадратные скобки
[] — это сопоставление с шаблоном имён файлов, а фигурные {} — просто генерация последовательности.ls file[1-9].txt
# отберёт существующие файлы
ls file{1..9}.txt
# попытается вывести все файлы последовательности, даже если их нетКомбинация наборов:
touch {a,b,c}.{hpp,cpp}
# создаст a.cpp a.hpp b.cpp b.hpp c.cpp c.hppВложенные расширения:
mkdir -p {source,help{/pages,/yelp,/images}}Структура получится такая:
.
├── help
│ ├── images
│ ├── pages
│ └── yelp
└── source
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥4😱1
Ответ через час.
#вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
Для замены, замещения или удаления символов из стандартного ввода используется консольная команда
Опции:
🔴
🔴
Диапазон символов для выборки:
🔴
🔴
В результате команда оставит только стандартные печатные символы, табы и переводы строк.
#вопросы
tr. С ее помощью можно удалить нечитаемые символы:tr -cd '\11\12\15[:print:]' < bad.txt > clean.txt
Опции:
-c — инвертирует набор, т.е. все символы, не входящие в указанный диапазон, будут выбраны-d — удаляет выбранные символы (вместо замены)Диапазон символов для выборки:
\11, \12, \15 — это табуляция (\t), перевод строки (\n) и возврат каретки (\r), записанные в восьмеричном (octal) виде. Каждое число — это ASCII-код символа.[:print:] — все видимые символы.В результате команда оставит только стандартные печатные символы, табы и переводы строк.
#вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
Выберите НЕвалидное имя переменной в bash.
Anonymous Quiz
38%
__ (двойное подчеркивание)
11%
_1var
8%
_var_
31%
some-var
12%
Посмотреть ответ