Что делает команду find / -name gcc 2>/dev/null
?
Давайте разобьем его для лучшего понимания:
find / -name gcc
перерывает корневой каталог ( /
dir, который содержит /etc
, /home
и т.д) для файла с именем gcc
. Этот поиск сделан рекурсивно, означая подкаталоги, подподкаталоги и так далее ищутся также.
>
оператор перенаправляет вывод. В этом случае, 2>
перенаправляет вывод стандартного канала для сообщений об ошибках, stderr
.
ls > the_list.txt # writes the output of ls to a file
ls 2> the_list.txt # writes the output of ls on stderr to a file
/dev/null
псевдоустройство, которое в основном выбрасывает все, что записано в него. Можно использовать его, если необходимо записать материал где-нибудь, но в основном просто хотеть, который уводят.
Так ls > /dev/null
означает, "перенаправляют вывод ls к/dev/null", или просто "не беспокоят меня выводом". Как выше, ls 2>/dev/null
отправляет то, что записано на stderr
кому: /dev/null
.
Полная команда
find / -name gcc 2>/dev/null
поэтому означает "поиск в целой системе для названного файла gcc
, но не показывайте мне сообщения об ошибках, которые происходят при выполнении так".