21:00 tee | |
[править | править вики-текст] Материал из Википедии — свободной энциклопедии Перейти к: навигация, поиск Применение команды tee: Результат команды ls пересылается в tee, который копирует его в файл file.txt и в команду less. Название tee происходит от схожести между схематическим отображением работы команды и заглавной буквой Т. tee — команда, выводит на экран, или же перенаправляет выходной материал команды и копирует его в файл или в переменную. В первую очередь, команда используется в привязке с перенаправлениями и фильтрами. Используется во множестве оболочек операционных систем, таких как Unix shells, 4DOS (англ.)русск./4NT (англ.)русск. и Windows PowerShell. Содержание [скрыть] 1 Назначение и синтаксис 1.1 В UNIX 2 Примеры 2.1 В UNIX Назначение и синтаксис[править | править вики-текст] tee используется для разделения выводимых программой данных, таким образом данные могут быть использованы для вывода на дисплей и сохранены в файл. Также команда может быть использована для получения промежуточных данных, до того как они будут изменены другой программой или командой. Команда tee считывает стандартный ввод (stdin), после чего записывает его в стандартный вывод (stdout) и одновременно копирует его в подготовленный файл или переменную. Синтаксис различается в соответствии с местом использования команды. В UNIX[править | править вики-текст] tee [ -a ] [ -i ] [ File ... ] Переменные: File Один, или более, файл который примет данные от tee. Флаги: -a Дописать выходящие данные в конец файла, не переписывая его содержимого. -i Игнорировать ошибки. По окончании команда возвращает следующие значения состояния выхода: 0 Стандартный поток ввода (stdin) был успешно записан во все принимающие файлы. >0 В случае ошибки. Примечание: Если при записи в любой, удачно открытый файл, операнд не удался, данные записываются в следующий удачно открытый файл, операнд и стандартный поток вывода (stdout) завершаются, но состояние выхода будет >0. Примеры[править | править вики-текст] В UNIX[править | править вики-текст] Чтобы одновременно увидеть и сохранить выходные данные: lint program.c | tee program.lint Эта команда покажет стандартные выходящие данные команды lint program.c на средстве вывода, в то же самое время она сохранит полученные данные в файл program.lint. Если такой файл уже существует, он будет переписан. Чтобы получить данные от команды и дописать их в существующий файл: lint program.c | tee -a program.lint Как и в предыдущем примере, на экран будут выведены данные от команды lint program.c, после чего эти данные будут дописаны в конец файла program.lint. Если такой файл не существует, он будет создан. Использование совместно с sudo: echo "Body of file..." | sudo tee root_owned_file > /dev/null В этом примере демонстрируется, как при помощи tee обойти ограничения команды sudo, за счёт которых она не может перенаправлять вывод (stdout) в файл. А дальнейшее перенаправление в /dev/null позволит избежать вывода текста на консоль. Перенаправление STDERR: ls ./ qwerty 2>&1 | tee ls.log По умолчанию команда tee записывает в файл только данные от STDOUT, поэтому, если файл «qwerty» отсутствует в текущем каталоге, в файле ls.log будет перечень имеющихся файлов и каталогов и не будет записи о не найденном файле. На экране же будут отображаться выводы как STDOUT, так и STDERR. Если в файл нужно включить так же и данные из STDERR, то необходимо, как в примере выше, перенаправить STDERR на STDOUT. [показать] Команды Unix [показать] Утилиты POSIX.1-2008 admin alias ar asa at awk basename batch bc bg c99 cal cat cd cflow chgrp chmod chown cksum cmp comm command compress cp crontab csplit ctags cut cxref date dd delta df diff dirname du echo ed env ex expand expr false fc fg file find fold fort77 fuser gencat get getconf getopts grep hash head iconv id ipcrm ipcs jobs join kill lex link ln locale localedef logger logname lp ls m4 mailx make man mesg mkdir mkfifo more mv newgrp nice nl nm nohup od paste patch pathchk pax pr printf prs ps pwd qalter qdel qhold qmove qmsg qrerun qrls qselect qsig qstat qsub read renice rm rmdel rmdir sact sccs sed sh sleep sort split strings strip stty tabs tail talk tee test time touch tput tr true tsort tty type ulimit umask unalias uname uncompress unexpand unget uniq unlink uucp uudecode uuencode uustat uux val vi wait wc what who write xargs yacc zcat [показать] GNU Coreutils Файловые утилиты chgrp chown chmod cp dd df dir dircolors install ln ls mkdir mkfifo mknod mv rm rmdir shred sync touch vdir Текстовые утилиты cat cksum comm csplit cut expand fmt fold head join md5sum nl od paste ptx pr sha1sum sort split sum tac tail tr tsort unexpand uniq wc Shell-утилиты basename chroot date dirname du echo env expr factor false groups hostid id link logname nice nohup pathchk pinky printenv printf pwd readlink seq sleep stat stty tee test true tty uname unlink users who whoami yes Источник — «https://ru.wikipedia.org/w/index.php?title=Tee&oldid=73728489» Категории: Инструменты Unix для обработки текстаАдминистрирование WindowsМежпроцессное взаимодействие | |
|
Всего комментариев: 0 | |