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

Satura rādītājs:

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

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

Video: Kā saglabāt izejas komandu uz failu Bash (aka Linux un macOS Terminal)
Video: Making Custom Length Ethernet Cables - YouTube 2024, Aprīlis
Anonim
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. 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.
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. 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 darbojas jebkurā operētājsistēmā, sākot no Linux un MacOS līdz Windows 10 Ubuntu balstītajai bash videi.

Pirmais variants: Pārsūtīt produkciju tikai uz failu

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 "stdout" - standarta izvade, kas ir ekrāns - failam.

Š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
Ja skatāt faila saturu, jūs redzēsit

ls

komandas izlaide. Piemēram,

cat

komanda izdrukā faila saturu terminālī:

cat /path/to/file

Atcerieties, ka
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.
Šo procesu varat atkārtot tik reižu, cik vēlaties, lai faila beigās saglabātu izvadi.

Otrā opcija: parasti izdrukā un pārsūta to uz failu

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:

command | tee /path/to/file

Tas aizstās jebko failu ar komandas izvadi, tāpat kā

>

operators.

Lai caurlaide komandas izvadi uz
Lai caurlaide komandas izvadi uz

tee

drukājot uz ekrāna un saglabājot to failā, bet pievienojot to faila beigām:

command | tee -a /path/to/file

Tas pievienos izvadi faila beigās tāpat kā

>>

operators.

Ieteicams: