This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
перенаправление_потоков_ввода_вывода [2012/02/15 15:51] val |
перенаправление_потоков_ввода_вывода [2019/06/26 14:00] (current) val [Файловый дескриптор номер 2 - STDERR] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Перенаправление потоков ввода/вывода ====== | ====== Перенаправление потоков ввода/вывода ====== | ||
- | [[http://ru.wikipedia.org/wiki/Стандартные_потоки]] | + | * [[http://ru.wikipedia.org/wiki/Стандартные_потоки]] |
- | + | * [[http://ru.wikipedia.org/wiki/Перенаправление_(UNIX)]] | |
- | [[http://ru.wikipedia.org/wiki/Перенаправление_(UNIX)]] | + | * [[http://ru.wikipedia.org/wiki/Именованный_канал]] |
- | + | * [[http://en.wikipedia.org/wiki/Remote_Shell]] | |
- | [[http://ru.wikipedia.org/wiki/Именованный_канал]] | + | |
- | + | ||
- | [[http://en.wikipedia.org/wiki/Remote_Shell]] | + | |
===== Файловые дескрипторы ===== | ===== Файловые дескрипторы ===== | ||
Line 15: | Line 12: | ||
1 STDOUT > | 1 STDOUT > | ||
</code> | </code> | ||
- | ===== Операторы < > ===== | + | ===== Оператор > ===== |
<code> | <code> | ||
$ ps ax > ps.txt | $ ps ax > ps.txt | ||
+ | |||
$ > ps.txt ps ax | $ > ps.txt ps ax | ||
Line 23: | Line 21: | ||
$ grep init ps.txt | $ grep init ps.txt | ||
+ | </code> | ||
+ | ===== Оператор < ===== | ||
+ | |||
+ | * [[Сервис MySQL#Импорт данных]] MySQL | ||
+ | |||
+ | <code> | ||
$ grep init < ps.txt | $ grep init < ps.txt | ||
+ | |||
$ < ps.txt grep init | $ < ps.txt grep init | ||
</code> | </code> | ||
+ | |||
===== Оператор | ===== | ===== Оператор | ===== | ||
Line 35: | Line 41: | ||
$ ps ax | grep init | $ ps ax | grep init | ||
- | FreeBSD | + | $ du -s /usr/share/* | sort -n | tail -n 1 |
- | $ du -d1 /var | sort -n | + | |
- | Linux | + | |
- | $ du --max-depth=1 /var | sort -n | + | |
FreeBSD | FreeBSD | ||
$ tail -f /var/log/messages | grep auth | $ tail -f /var/log/messages | grep auth | ||
Linux | Linux | ||
- | $ sudo tail -f /var/log/auth.log | grep FAILED | + | $ tail -f /var/log/auth.log | grep FAILED |
- | $ ls -l /bin | sort -k5 | tail -n5 | cut -c48-60 | + | $ ls -l /bin | sort -n -k5 | tail -n5 | cut -c48-60 |
+ | </code> | ||
+ | |||
+ | ===== Команда tee ===== | ||
+ | |||
+ | <code> | ||
+ | $ find /usr/share -name '*.html' | tee find_res.txt | ||
+ | |||
+ | $ ls /bin /b1n 2>&1 | tee full_log.txt | ||
</code> | </code> | ||
Line 76: | Line 87: | ||
$ ls fhgfdgbdfhsd | $ ls fhgfdgbdfhsd | ||
- | $ ls errfilename > ls.txt | + | $ ls errfilename > ls_res.txt |
- | $ ls errfilename 2> ls.txt | + | $ ls errfilename 2> ls_err.txt |
- | $ ls /bin /errdirname > ls.txt 2>ls.txt | + | $ ls /bin /b1n 2>&1 | tee full_log.txt |
$ ls /bin /errdirname > ls.txt 2>&1 | $ ls /bin /errdirname > ls.txt 2>&1 | ||
$ ls /sdfgsdfgsd > /dev/null 2>&1 | $ ls /sdfgsdfgsd > /dev/null 2>&1 | ||
- | </code> | ||
- | ===== Запуск процессов в фоновом режиме ===== | + | $ ls /sdfgsdfgsd 2>/dev/null >&2 |
- | <code> | + | $ ls /sdfgsdfgsd &>/dev/null |
- | $ nohup find / -name index.html > search.result.txt 2>/dev/null & | + | |
- | Ctrl-D | + | |
</code> | </code> | ||
===== Перенаправление ввода/вывода между процессами, работающими на разных системах ===== | ===== Перенаправление ввода/вывода между процессами, работающими на разных системах ===== | ||
<code> | <code> | ||
- | $ tar -c -f etc.tar etc/ | + | # cd / |
- | $ tar -c -f - etc/ | cat > etc.tar | + | # tar -c -f etc.tar etc/ |
- | $ tar -c -f - etc/ | rsh -l user server 'cat > etc.tar' | + | # tar -c -f - etc/ | cat > etc.tar |
- | $ tar -c -f - etc/ | ssh -l user server 'cat > etc.tar' | + | # tar -c -f - etc/ | rsh -l userX backup 'cat > etc.tar' |
- | $ tar -c -f - etc/ | ssh user@server 'cat > etc.tar' | + | # tar -c -f - etc/ | ssh -l userX backup 'cat > etc.tar' |
+ | |||
+ | # tar -c -f - etc/ | ssh userX@backup 'cat > etc.tar' | ||
</code> | </code> | ||
===== Именованные каналы ===== | ===== Именованные каналы ===== | ||
+ | |||
+ | В файлах grep1.txt и grep2.txt не должно быть пустых строк в конце | ||
+ | |||
<code> | <code> | ||
$ cat grep1.txt | $ cat grep1.txt | ||
- | rtf | + | </code><code> |
- | doc | + | rtf$ |
+ | doc$ | ||
+ | </code><code> | ||
$ cat grep2.txt | $ cat grep2.txt | ||
- | jpg | + | </code><code> |
- | gif | + | gz$ |
+ | </code><code> | ||
$ mkfifo findresult.fifo | $ mkfifo findresult.fifo | ||
- | $ find /usr/share/ > findresult.fifo & | + | $ find /usr/share/ -type f > findresult.fifo & |
$ cat grep*.txt | grep -f - findresult.fifo | $ cat grep*.txt | grep -f - findresult.fifo |