Hogyan mentse el a parancs kimenetét egy fájlt a bash-ban (más néven a Linux és a macOS terminál)

Tartalomjegyzék:

Hogyan mentse el a parancs kimenetét egy fájlt a bash-ban (más néven a Linux és a macOS terminál)
Hogyan mentse el a parancs kimenetét egy fájlt a bash-ban (más néven a Linux és a macOS terminál)

Videó: Hogyan mentse el a parancs kimenetét egy fájlt a bash-ban (más néven a Linux és a macOS terminál)

Videó: Hogyan mentse el a parancs kimenetét egy fájlt a bash-ban (más néven a Linux és a macOS terminál)
Videó: Making Custom Length Ethernet Cables - YouTube 2024, Április
Anonim
Amikor parancsot futtat a bash parancssorban, akkor általában a parancs kimenetét nyomtatja közvetlenül a terminálra, hogy azonnal elolvashassa. De a bash lehetővé teszi, hogy bármely parancs kimenetét "átirányítsuk", mentse el egy szövegfájlba, így később megtekintheti a kimenetet.
Amikor parancsot futtat a bash parancssorban, akkor általában a parancs kimenetét nyomtatja közvetlenül a terminálra, hogy azonnal elolvashassa. De a bash lehetővé teszi, hogy bármely parancs kimenetét "átirányítsuk", mentse el egy szövegfájlba, így később megtekintheti a kimenetet.

Ez minden operációs rendszerben bash, Linux és MacOS, a Windows 10 Ubuntu alapú bash környezetéhez.

Az első lehetőség: átirányítja a kimenetet egy fájlra

A bash átirányítás használatához futtat egy parancsot, adja meg a

>

vagy

>>

operátor, majd adja meg a fájl elérési útját, ahová a kimenetet átirányítja.

  • >

    átirányítja a parancs kimenetét egy fájlba, és helyettesíti a fájl meglévő tartalmát.

  • >>

    átirányítja a parancs kimenetét egy fájlba, és a kimenetet a fájl meglévő tartalmához csatolja.

Technikailag ez átirányítja a "stdout" -t - a szabványos kimenetet, ami a képernyőnek egy fájl.

Íme egy egyszerű példa. A

ls

A parancs a fájlok és mappák listáját sorolja fel az aktuális könyvtárban. Így. ha a következő parancsot futtatja,

ls

felsorolja a fájlokat és mappákat az aktuális könyvtárban. De nem nyomtatja ki őket a képernyőre - menteni fogja őket a megadott fájlra.

ls > /path/to/file

Nem kell megadnia egy meglévő fájl elérési útját. Határozza meg az érvényes útvonalat és a bash fogja létrehozni egy fájlt ezen a helyen.

Ha megtekinti a fájl tartalmát, akkor megjelenik a
Ha megtekinti a fájl tartalmát, akkor megjelenik a

ls

parancs kimenetét. Például a

cat

parancs kiadja a fájl tartalmát a terminálhoz:

cat /path/to/file

Ne feledje, a
Ne feledje, a

>

az operátor a fájl meglévő tartalmát a parancs kimenetével helyettesíti. Ha több parancs parancsát egy fájlba szeretné menteni, akkor a

>>

helyett. Például az alábbi parancs hozzáfűzi a rendszerinformációkat a megadott fájlhoz:

uname -a >> /path/to/file

Ha a fájl még nem létezik, a bash létrehozza a fájlt. Máskülönben a bash hagyja el a fájl meglévő tartalmát, és csatolja a kimenetet a fájl végére.

A fájl tartalmának megtekintésekor megjelenik a második parancs eredményei a fájl végéhez:

Ismételheti ezt a folyamatot annyi alkalommal, amennyit szeretne tartani a fájl végéhez.
Ismételheti ezt a folyamatot annyi alkalommal, amennyit szeretne tartani a fájl végéhez.

Második lehetőség: Normál esetben nyomtassa ki a kimenetet és átirányítja a fájlra

Lehet, hogy nem szereted a kimenetet a

>

vagy

>>

mivel a parancs kimenetét nem fogja látni a terminálon. Ez az, amit a

tee

parancs van. A tee parancs kinyomtatja a beérkező bemenetet a képernyőre és egyidejűleg egy fájlba ment.

Egy parancs kimenetének pipálása

tee

nyomtatva a képernyőre, és fájlba mentve, használja a következő szintaxist:

command | tee /path/to/file

Ez a parancs kimenetével helyettesít minden fájlt, mint a

>

operátor.

Egy parancs kimenetének pipálása
Egy parancs kimenetének pipálása

tee

a képernyőre való nyomtatáshoz és fájl mentéséhez, de a fájl végéhez csatolva:

command | tee -a /path/to/file

Ez csatolja a kimenetet a fájl végéhez, mint a

>>

operátor.

Ajánlott: