4Sep

Kā saglabāt izejas komandu uz failu Bash( aka Linux un macOS Terminal)

click fraud protection

Kad 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. Bet bash arī ļauj jums "novirzīt" jebkuras komandas izvadi, saglabājot to teksta failā, lai jūs varētu vēlāk pārskatīt izlaidi.

Tas strādā jebkurā operētājsistēmā, sākot no Linux un MacOS līdz Windows 10 Ubuntu balstītajai bash videi.

Opcija One: Pārvirzīšanas izeja uz failu Tikai

Lai izmantotu bash redirection, jūs palaižat komandu, norādiet & gt;vai & gt; & gt;Operators un pēc tam norādiet faila ceļu, kurā vēlaties pārsūtīt produkciju.

  • & gt;novirza komandas izvadi uz failu, aizstājot esošo faila saturu.
  • & gt; & gt;novirza komandas izvadi uz failu, pievienojot izeju esošajam faila saturam.

Tehniski šī novirzīšana ir "stdout" - standarta izvade, kas ir ekrāna failā.

Šeit ir vienkāršs piemērs. Komandā ls tiek uzskaitīti pašreizējā direktorijā esošie faili un mapes. Tātadkad palaižat šādu komandu, ls uzskaitīs esošajā direktorijā esošos failus un mapes. Bet tas tos nepublicēs ekrānā - tas tos saglabās failā, kuru norādāt.

instagram viewer

ls & gt;/path/to/ fails

Jums nav nepieciešams norādīt ceļu uz esošu failu. Norādiet jebkuru derīgu ceļu un bash izveidos failu šajā atrašanās vietā.

Ja skatāt faila saturu, jūs redzēsiet ls komandas izvadi. Piemēram, kaķu komanda izdrukā faila saturu terminālī:

kaķis /path/to/ fails

Atcerieties, ka & gt;operators aizstāj esošo faila saturu ar komandas izvadi. Ja vēlaties vienā komandā saglabāt vairāku komandu izvadi, izmantojiet & gt; & gt;operatora vietā.Piemēram, šāda komanda pievieno sistēmas informāciju jūsu norādītajam failam:

uname -a & gt; & gt;/path/to/ fails

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.

Kad skatāties faila saturu, jūs redzēsiet, ka otrās komandas rezultāti tika pievienoti faila beigām:

Jūs varat to atkārtot tik reižu, cik vēlaties, lai izlaidumu pievienotu līdz beigāmfails

otrais variants: parasti izdrukā un novirzīt to uz failu

Iespējams, ka nevēlaties novirzīt izvadi ar & gt;vai & gt; & gt;operators, jo jūs neredzat komandas izvadi terminālā.Tas ir tas, kas ir komandai tee. Tīkla komanda izdrukā ievadīto informāciju uz ekrānu un to saglabā failā vienlaicīgi.

Lai ievadītu komandas izvadi uz ceļa, izdrukātu to uz ekrāna un saglabātu to failā, izmantojiet šādu sintaksi:

komanda |tee /path/to/ file

Tas aizstās jebko failu ar komandas izvadi tāpat kā & gt;operators.

Lai ievadītu komandas izvadi uz ceļa, drukājot uz jūsu 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ā & gt; & gt;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.