Când rulați o comandă la promptul bash, în mod normal, se imprimă ieșirea acelei comenzi direct la terminal, astfel încât să o puteți citi imediat. Dar bash vă permite, de asemenea, să "redirecționați" ieșirea oricărei comenzi, salvând-o într-un fișier text, astfel încât să puteți revizui mai târziu rezultatele.
Acest lucru funcționează în bash pe orice sistem de operare, de la Linux și MacOS la Windows 10 bazate pe Ubuntu bash mediu.
Pentru a utiliza redirecționarea bash, executați o comandă, specificați >
sau >>
operator și apoi furnizați calea unui fișier în care doriți redirecționarea ieșirii.
>
redirectează ieșirea unei comenzi unui fișier, înlocuind conținutul existent al fișierului.>>
redirectează ieșirea unei comenzi unui fișier, adăugând ieșirea la conținutul existent al fișierului.Din punct de vedere tehnic, aceasta redirecționează, "starea" - ieșirea standard, care este ecranul - la un fișier.
Iată un exemplu simplu. ls
comandă listează fișierele și folderele din directorul curent. Asa de. când executați următoarea comandă, ls
va lista fișierele și folderele din directorul curent. Dar nu le va imprima pe ecran - le va salva în fișierul pe care îl specificați.
ls> / path / to / file
Nu trebuie să specificați calea către un fișier existent. Specificați orice cale validă și bash va crea un fișier în acea locație.
Dacă vizualizați conținutul fișierului, veți vedea ls
comandă. De exemplu, pisică
comandă imprimă conținutul unui fișier la terminal:
pisică / cale / către / fișier
Amintiți-vă,
operatorul înlocuiește conținutul existent al fișierului cu ieșirea comenzii. Dacă doriți să salvați ieșirea din mai multe comenzi într-un singur fișier, utilizați >
operator. De exemplu, următoarea comandă va adăuga informații despre sistemul la fișierul pe care îl specificați:>>
uname -a >> / cale / către / fișier
Dacă fișierul nu există deja, bash va crea fișierul. În caz contrar, bash va lăsa numai conținutul existent al fișierului și va adăuga ieșirea la sfârșitul fișierului.
Când vizualizați conținutul fișierului, veți vedea că rezultatele celei de a doua comenzi au fost adăugate la sfârșitul fișierului:
Puteți repeta acest proces de câte ori doriți să continuați să adăugați ieșire la sfârșitul fișierului.
Este posibil să nu vă placă redirecționarea ieșirii cu >
sau >>
operatori, deoarece nu veți vedea ieșirea comenzii în terminal. Asta e ceea ce reper
comanda este pentru. Comanda tee imprimă intrarea pe care o primește pe ecran și o salvează simultan într-un fișier.
Pentru a conduce ieșirea unei comenzi la reper
, tipăriți-l pe ecran și salvându-l într-un fișier, utilizați următoarea sintaxă:
comandă | tee / path / to / fișier
Aceasta va înlocui orice din fișierul cu ieșirea comenzii, la fel ca și >
operator.
Pentru a conduce ieșirea unei comenzi la reper
, imprimarea pe ecranul dvs. și salvarea acestuia într-un fișier, dar adăugarea acestuia la sfârșitul fișierului:
comandă | tee -a / calea / către / fișier
Aceasta va adăuga ieșirea la sfârșitul fișierului, la fel ca și >>
operator.
Carcasa bash include și câțiva operatori suplimentari, avansați, care efectuează funcții similare. Vor fi deosebit de utile dacă scrii scripturi bash. Consultați capitolul de redirecționare I / O din Ghidul avansat de bash-scripting pentru informații mai detaliate.