Что делает эта командная строка?

Что делает эта командная строка?

Пожалуйста, объясните это так, чтобы я мог понять:

ps ax >mytemp; more <mytemp … same as … ps ax | more
cat mytemp | grep barrymp … same as … ps ax | grep “barrymp”

решение1

Разбираем по одной строке за раз, разделяя каждую строку пополам:

ps ax >mytemp; more <mytemp

Берет вывод ps axи помещает его в файл с именем mytemp. Точка с запятой отмечает начало отдельной команды в той же строке. Вторая команда берет содержимое mytempи передает его в more(пейджер, который отображает файл экран за экраном). Затем ваши заметки говорят, что это то же самое, что и , ps ax | moreза исключением того, что он не создает временный mytempфайл. Оба фактически берут вывод ps axи в конечном итоге делают его стандартным вводом дляmore

Вторая линия:

cat mytemp | grep barrymp

Выводит содержимое файла, вызываемого mytempна stdout, который затем перенаправляется на стандартный ввод для grepкоманды, которая была задана barrympдля фильтрации вывода.

В примечаниях затем говорится, что это то же самое, что и ps ax | grep "barrymp". Я предполагаю, что это потому, что это должно быть то же самое mytempиз первой строки. Вторая половина этой строки также пропускает временный файл и просто переходит прямо к перенаправлению вывода команды в канал для grep.

Постарался разложить все по полочкам, если что-то все еще непонятно, дайте знать.

Связанный контент