Cu fiecare fișier deschis este un descriptor de fișier. [1] descriptorii fișierul stdin. stdout și stderr - 0, 1 și 2, respectiv. Când deschideți mai multe fișiere descriptori trei-nouă rămân neocupate. Uneori, descriptori suplimentari pot face un serviciu bun prin stocarea temporară a unei trimiteri la stdin. stdout sau stderr. [2] Acest lucru simplifică Returns descriptor la normal după manipulare complexă cu redirecționare și permutări (vezi. Exemplul 16-1).
Operațiuni de redirecționare și / sau transportoare pot fi combinate într-o singură comandă.
Permise redirecționeze mai multe fluxuri într-un singur fișier.
Închiderea descriptorii de fișier
Închide mâner fișier de intrare n.
Închideți fișierul de ieșire descriptor n.
procese pentru copii moștenesc descriptori de fișiere deschise. Din acest motiv, lucru continuu. Pentru a preveni moștenirea de descriptori - închideți-le înainte de a începe procesul de copil.
Pentru mai multe informații despre I / O redirecționare pot fi găsite în Anexa D.
Exemplul 16-1. Redirecționarea stdin folosind Exec
În mod similar, Exec> design de nume de fișier redirecționează ieșire la stdout într-un fișier specificat. După aceea, întreaga producție de comenzi, care este de obicei direcționat către stdout. Acesta este acum afișat în fișierul.
Exemplul 16-2. Redirecționarea stdout folosind Exec
Exemplul 16-3. Dispozitive de expediere simultană, stdin și stdout. folosind comanda exec