Kad jūs palaižat komandu ar bash uzvedni, tas parasti izdrukā šīs komandas izvadi tieši uz termināli, lai jūs varētu to uzreiz izlasīt. Taču bash arī ļauj jums nekavējoties izdot jebkuru komandu, saglabājot to teksta failā, lai jūs varētu vēlāk pārskatīt izlaidi.
Tas darbojas jebkurā operētājsistēmā, sākot no Linux un MacOS līdz Windows 10 Ubuntu balstītajai bash videi.
Lai izmantotu bash redirection, palaiž komandu, norādiet >
vai >>
Operators un pēc tam norādiet faila ceļu, kurā vēlaties pārsūtīt produkciju.
>
novirza komandas izvadi uz failu, aizstājot esošo faila saturu.>>
novirza komandas izvadi uz failu, pievienojot izeju esošajam faila saturam.Tehniski šī novirzīšana ir "standarta izvade, kas ir ekrāns uz failu.
Šeit ir vienkāršs piemērs. The ls
komandu uzskaitīti faili un mapes pašreizējā direktorijā. Tātad kad palaižat šādu komandu ls
uzskaitīs failus un mapes pašreizējā direktorijā. Bet tas tos nepublicēs ekrānā - tas tos saglabās failā, kuru norādāt.
ls> / path / to / file
Jums nav jānorāda esošā faila ceļš. Norādiet jebkuru derīgu ceļu un bash izveidos failu šajā atrašanās vietā.
Ja skatāt faila saturu, jūs redzēsit ls
komandas izlaide. Piemēram, kaķis
komanda izdrukā faila saturu terminālī:
cat / path / to / file
Atcerieties, ka
operators aizstāj esošo faila saturu ar komandas izvadi. Ja vēlaties vienā komandā saglabāt vairāku komandu izvadi, izmantojiet >
operatora vietā. Piemēram, šī komanda pievieno sistēmas informāciju jūsu norādītajam failam:>>
uname -a >> / path / to / file
Ja fails vēl neeksistē, bash izveidos failu. Pretējā gadījumā bash atstās esošo faila saturu un pievieno izvadi faila beigās.
Pārskatot faila saturu, jūs redzēsit, ka otrās komandas rezultāti tika pievienoti faila beigām:
Šo procesu varat atkārtot tik reižu, cik vēlaties, lai faila beigās saglabātu izvadi.
Iespējams, nepatīk produkcijas novirzīšana ar >
vai >>
operators, jo jūs neredzat komandas izvadi terminālā. Tas ir tas, ko tee
komanda ir par. Tīkla komanda izdrukā uz ekrāna saņemto ievadi un saglabā to failā vienlaikus.
Lai caurlaide komandas izvadi uz tee
, drukājot to uz ekrāna un saglabājot to failā, izmantojiet šādu sintaksi:
komanda | tee / path / to / file
Tas aizstās jebko failu ar komandas izvadi, tāpat kā >
operators.
Lai caurlaide komandas izvadi uz tee
, drukājot uz ekrāna un saglabājot to failā, bet pievienojot to faila beigām:
komanda | tee -a / path / to / file
Tas pievienos izvadi faila beigās tāpat kā >>
operators.
Bash apvalks ietver vairākus papildu operatorus, kas veic līdzīgas funkcijas. Tie būs īpaši noderīgi, ja jūs rakstāt bash skriptus. Sīkāku informāciju skatiet sadaļā Papildu uzbrukuma skriptu rokasgrāmatā nodaļa I / O novirzīšana.