Программы Unix обычно записывают свой вывод в «стандартное», также известное как stdout. Используя функцию shell для перенаправления, stdout может быть отправлен в файл вместо терминала. Чтобы отправить его в имя файла file, используйте:
ps aux >file
Символ > указывает на перенаправление и за ним следует имя файла. Если файл уже существует, он будет перезаписан. Если вы хотите добавить к существующему файлу вместо этого, используйте символ >>, как в:
ps aux >>file
. Кстати, очень частое использование для перенаправления заключается в том, чтобы отключить команду verbose. Для этого можно перенаправить свой вывод в файл /dev/null. Это специальный файл, который отбрасывает все входящие в него данные.
Перенаправление может использоваться в скрипте:
#!/bin/sh
ps aux >file
[d5 ] Альтернативно, перенаправление может быть применено к выходу скрипта в целом: myscript >file
Вы также можете передать имя файла в качестве аргумента. Предположим, что myscript состоит из:
#!/bin/sh
ps aux >"$1"
($1 является скриптом для первого аргумента в командной строке.) Затем вы можете запустить:
myscript somefile
, а команда ps aux будет перенаправлена на somefile.