Cum să salvați ieșirea din linia de comandă în fișiere pe Windows, Mac și Linux
Când rulați o comandă într-o fereastră Terminal, ieșirea comenzii este tipărită în mod normal pe Terminal sau pe ecran, astfel încât să puteți citi imediat. De asemenea, puteți tipări ieșirea unei comenzi într-un fișier, dacă doriți să o salvați.
Salvarea rezultatului unei comenzi într-un fișier este utilă dacă încercați să diagnosticați o problemă. Pentru a obține ajutor de la asistența tehnică, este posibil să fiți nevoit să executați anumite comenzi pe computerul dvs. și să trimiteți rezultatele echipei de asistență. Acest lucru este ușor prin redirecționarea ieșirii pe linia de comandă.
Astăzi vom acoperi cum să trimitem ieșirea unei comenzi unui fișier text în shell-ul bash pe Windows, Mac și Linux.
Notă: Vom folosi terminalul Mac Aceste 6 comenzi minunate ale terminalelor vor spori MacBook-ul dvs. Aceste 6 comenzi terminale minunate vă vor spori MacBook-ul Puteți doar să vă înghesuți atât de mult în interfața grafică a utilizatorului înainte de a deveni aglomerat, deci nu ar trebui să fie o mare surpriză puteți face unele lucruri foarte cool folosind terminalul Mac. Citiți mai multe în exemplul nostru, dar funcționează la fel în shell-ul bash pe Linux 40+ Cele mai utilizate comenzi pentru terminale Linux 40+ Cele mai utilizate comenzi terminale Linux Fie că sunteți doar începători sau pur și simplu curioși despre terminalul Linux, aici sunt cele mai frecvente comenzi care vă vor purta tot timpul pe Linux. Citiți mai multe și în noua shell bash în Windows 10 Un ghid rapid pentru Linux Bash Shell în Windows 10 Un ghid rapid pentru Linux Bash Shell în Windows 10 Acum puteți rula Linux pe Windows. Aflați mai multe despre Bash pe Windows, despre cum și de ce ar trebui să îl instalați, despre funcții ascunse despre care probabil nu știați. Citeste mai mult .
Redirecționați ieșirea la un fișier numai
Există doi operatori pentru redirecționarea ieșirii unei comenzi la un fișier în locul ecranului.
> simbolul creează un fișier nou dacă nu este prezent sau suprascrie fișierul dacă acesta există deja. >> creează, de asemenea, un fișier nou dacă nu este prezent, dar adaugă textul la sfârșitul fișierului dacă există deja, mai degrabă decât suprascrierea fișierului.
Notă pentru sine: când redirecționați o ieșire de script shell într-un fișier, acesta nu va fi afișat pe consola :-) #StupidMe
- Xavier Mertens? (@xme) 5 august 2017
Pentru a redirecționa ieșirea unei comenzi într-un fișier, tastați comanda, specificați > sau >> operator și apoi furnizați calea către un fișier la care doriți ieșirea redirecționată. De exemplu, comanda ls afișează fișierele și folderele din directorul curent. Când executați următoarea comandă, lista fișierelor și a dosarelor va fi scrisă la ls_output.txt fișier în TerminalOutput pliant.
A inlocui / Calea / spre / fișier cu calea completă la fișierul pe care doriți să îl utilizați.
ls> / path / to / file
Aceasta este comanda pentru exemplul nostru.
ls> /Users/lorikaufman/TerminalOutput/ls_output.txt
Pentru a vizualiza conținutul fișierului în fereastra Terminal, utilizați pisică comanda după cum se arată în următoarea comandă. Din nou, înlocuiți-vă / Calea / spre / fișier cu calea completă spre fișierul pe care doriți să îl vedeți.
pisică / cale / către / fișier
> operatorul înlocuiește conținutul unui fișier existent de fiecare dată când îl utilizați pentru a redirecționa ieșirea. Dacă doriți să salvați ieșirea din mai multe comenzi într-un singur fișier, utilizați >> operator. Aceasta adaugă ieșirea unei comenzi la sfârșitul fișierului specificat, dacă există deja. Dacă fișierul nu există, acesta creează unul nou.
De exemplu, vom adăuga informații despre sistem la sfârșitul fișierului pe care l-am creat mai sus. Deci, în următorul rând, uname -a este comanda, urmată de >> operator de redirecționare. Apoi, calea completă la fișierul la care vrem să adăugăm ieșirea din uname comanda.
-A parametru în uname comandă imprimă toate informațiile disponibile despre sistem.
uname -a >> /Users/lorikaufman/TerminalOutput/ls_output.txt
Pentru a vizualiza fișierul cu informațiile atașate în fereastra Terminal, introduceți următoarea comandă, cu calea completă la fișierul dvs..
pisica /Users/lorikaufman/TerminalOutput/ls_output.txt
Repetați acest proces de câte ori trebuie să păstrați adăugarea comenzii la finalul fișierului.
Iată un alt exemplu de trimitere a rezultatelor ls comandă ca arbore director, cu subdirectoare listate recursiv ( R parametru) și un fișier pe linie ( 1 parametru).
ls -1R> /Users/lorikaufman/TerminalOutput/dir_tree.txt
Apoi, folosim pisică comanda, așa cum sa menționat anterior, pentru a vizualiza conținutul fișierului în fereastra Terminal.
pisica /Users/lorikaufman/TerminalOutput/dir_tree.txt
Imprimați ieșirea pentru afișare și redirecționați-o către un fișier
> și >> operatorii nu afișează ieșirea unei comenzi pe ecran. Ieșirea este trimisă doar unui fișier.
Dacă doriți să trimiteți ieșirea într-un fișier și să îl vedeți pe ecran, utilizați reper comandă în loc de > și >> operatori.
Nerd alertă! Astăzi am descoperit comanda "tee", care conduce atât la un dosar, cât și la un standard. Unix continuă să se bucure. pic.twitter.com/aClIT8AdJB
- Zeke Sikelianos (@zeke) 29 august 2017
Pentru a utiliza reper comanda trebuie să conduceți ieșirea din comanda pe care o executați, cum ar fi ls, la reper comandă, folosind operatorul conductei, o bară verticală (|). De exemplu, următoarea comandă are ieșirea din ls comandă și o conduce în reper comanda. reper comanda trimite apoi ieșirea pe ecran și într-un fișier pe care îl specificați folosind calea completă la fișier.
ls | tee /Users/lorikaufman/TerminalOutput/ls_output.txt
Comanda de mai sus înlocuiește întregul conținut din fișier sau creează unul nou dacă nu există, la fel ca și > operator. Am folosit următoarele pisică comanda pentru a vizualiza conținutul fișierului nostru în fereastra Terminal.
pisica /Users/lorikaufman/TerminalOutput/ls_output.txt
Pentru a utiliza reper comanda pentru a imprima ieșirea pe ecran și a adăuga-o la sfârșitul unui fișier, introduceți următoarea comandă. Aici, adăugăm informații complete despre sistem la sfârșitul fișierului utilizând uname -a comandă, la fel ca și noi >> operator, dar trimite și ieșirea pe ecran.
uname -a | tee -a /Users/lorikaufman/TerminalOutput/ls_output.txt
Următoarea comandă este reper versiunea de imprimare a unui arbore director într - un fișier și pe ecran, un fișier pe fiecare linie, la fel ca în cazul > operator.
ls -1R | tee /Users/lorikaufman/TerminalOutput/dir_tree.txt
Apoi, folosim pisică comanda din nou pentru a vizualiza conținutul fișierului.
pisica /Users/lorikaufman/TerminalOutput/dir_tree.txt
Dar așteptați, sunt mai multe
Există mai multe modalități de a redirecționa ieșirea, inclusiv erorile, la un fișier. Puteți citi despre diferiți operatori și comenzi utilizate pentru redirecționarea ieșirii în capitolul Redirecționare I / O din Ghidul avansat de scripting Bash. De asemenea, puteți afla mai multe despre utilizarea liniei de comandă Un ghid rapid pentru a începe cu linia de comandă Linux Un ghid rapid pentru a începe cu linia de comandă Linux Puteți face o mulțime de lucruri uimitoare cu comenzi în Linux și nu este cu adevărat dificil de învățat . Citeste mai mult .
Am învățat o lecție bună astăzi. Nu redirecționați ieșirea de jurnal a unei iterații de 10 milioane pentru buclă într-un fișier txt. Rezultat: fișier txt de 5 gb.
- Lloyd (@ lcarswell1) 21 mai 2017
Ce folosiți pentru redirecționarea ieșirii? Ce metodă folosiți? Ați învățat alte modalități de redirecționare a ieșirii? Împărtășiți-vă gândurile și experiențele cu noi în comentariile de mai jos.
Explorați mai multe despre: Linux Bash Shell, Terminal.