4Sep

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

click fraud protection

Amikor parancsot futtat a bash-parancssorban, akkor általában a parancs kimenetét közvetlenül a terminálra nyomtatja, 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 működik bash bármely operációs rendszeren, Linux és macOS a Windows 10 Ubuntu alapú bash környezetben.

1. opció: Redirect kimenet csak fájlra

A bash-átirányítás használatához parancsot futtat, adja meg a & gt;vagy> & gt;operátor, majd adja meg a fájl elérési útját, ahová a kimenetet átirányítja.

  • & gt;átirányítja a parancs kimenetét egy fájlba, és helyettesíti a fájl meglévő tartalmát.
  • & gt;á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, amely a képernyőnek egy fájl.

Egy egyszerű példa. Az ls parancs az aktuális könyvtárban lévő fájlokat és mappákat sorolja fel.Így.amikor a következő parancsot futtatja, az ls felsorolja az aktuális könyvtárban lévő fájlokat és mappákat. De nem nyomtatja ki őket a képernyőre - menteni fogja őket a megadott fájlra.

instagram viewer

ls & gt;/path/to/ fájl

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 megtekinted a fájl tartalmát, megjelenik az ls parancs kimenete. Például a cat parancs kinyomtatja a fájl tartalmát a terminálra:

macska /path/to/ fájl

Ne feledje, a & gt;az operátor a fájl meglévő tartalmát a parancs kimenetével helyettesíti. Ha több parancs kimenetét egyetlen fájlra szeretné menteni, a & gt; & gt;helyett. Például az alábbi parancs hozzáfűzi a rendszerinformációt a megadott fájlhoz:

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

fájl 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 a második parancs eredménye megjelenik a fájl végére:

Megismételheti ezt a folyamatot annyiszor, amennyit szeretne, hogy a melléklet végéhez csatolja a kimenetetfájlba.

2. opció: Normál nyomtatási kimenet és átirányítás

fájlra Lehet, hogy nem szeretné átirányítani a kimenetet a & gt;vagy> & gt;mivel a parancs kimenetét nem fogja látni a terminálon. Ez a tee parancs. A tee parancs kinyomtatja az képernyőre érkező bemenetet, és az egyidejűleg egy fájlt ment.

A parancs kimenetének pipálásához, nyomtatáshoz a képernyőre és fájlba mentéshez használja a következő szintaxist:

parancs |tee /path/to/

fájl Ez a parancs kimenetén minden olyan fájlt helyettesít, mint a & gt;operátor.

A parancs kimenetének piperezéséhez nyomtatás a képernyőre és fájl mentése, de a fájl végéhez csatolásához:

parancs |tee -a /path/to/ fájl

Ez a fájlt a fájl végéhez csatolja, mint a & gt; & gt;operátor.

A bash héj tartalmaz néhány további, fejlett operátort, amelyek hasonló funkciókat látnak el. Különösen hasznosak lesznek, ha bash parancsfájlokat írnak. További részletekért tekintse meg az Advanced Bash-Scripting Guide I / O átirányítási fejezetét.