Главная » 2017 » Август » 31 » tee
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Межпроцессное взаимодействие
Просмотров: 244 | Добавил: oooo_81 | Рейтинг: 0.0/0
Всего комментариев: 0
avatar