Пренасочване на входа и изхода от програмите в Linux и Windows
Пренасочването на входа и изхода на конзолните програми е абсолютно наложително в определени случаи. Например подаване на изхода на една команда директно като вход на друга (така нареченият piping), генериране на файлове с изхода за по-нататъшен преглед и други. Всяка програма има три стандартни потока за данни: един за четене на входните данни (STDIN), един за извеждане на резултата (STDOUT) и един за извеждане на грешките (STDERR). Това са няколко примера за постигане на това чрез командните интерпретатори на Linux (bash) и Windows (cmd prompt)
Bash
Пренасочване на изведеното от ls директно към grep:
ls -al . | grep -v notneeded
Четене на данните за grep от file.txt
grep word_to_find < file.txt
Пренасочване на изхода от gcc към out.txt, а грешките - към err.txt
gcc source.c >out.txt 2>err.txt
Пренасочване на изхода и грешките към out.txt
gcc source.c 2>&1 >out.txt
Добавяне на изхода и грешките към out.txt
gcc source.c 2>&1 >>out.txt
Извеждане на резултатите от find по страници чрез more
find / -name myfile* | more
Cmd
Пренасочване на изхода от dir към sortdir /b log.* | sort
Четене на входните данни за sort от file.txt
sort < file.txt
Пренасочване на изхода от cl.exe към out.txt, а грешките - към err.txt
cl.exe file.c >out.txt 2>err.txt
Добавяне на изхода и грешките към out.txt (обърнете внимание на обратния знак)
cl.exe file.c >>out.txt 2<&1
Извеждане по страници
dir /b c:\my_large_dir | more
Няма коментари
Обратно към списъка със статиите
Тази страница последно е променяна на 2025-04-30 12:37:41