Начална » как да » Как да запазите изхода на командата във файл в Bash (известен още като Linux и macOS терминал)

    Как да запазите изхода на командата във файл в Bash (известен още като Linux и macOS терминал)

    Когато изпълните команда в bash подканата, тя обикновено отпечатва изхода на тази команда директно към терминала, така че можете да го прочетете веднага. Но bash също ви позволява да пренасочите изхода на всяка команда, като я запазите в текстов файл, за да можете да прегледате изхода по-късно..

    Това работи в bash на всяка операционна система, от Linux и macOS до средата на Ubuntu базирана на Windows 10.

    Вариант едно: Пренасочване на изход към файл само

    За да използвате bash пренасочване, изпълнете команда, укажете > или >> оператор, и след това предоставете пътя на файл, към който искате да се пренасочва изходът.

    •  > пренасочва изхода на команда към файл, като заменя съществуващото съдържание на файла.
    •  >> пренасочва изхода на команда към файл, като добавя изхода към съществуващото съдържание на файла.

    Технически това пренасочва „стандартния изход“ - стандартния изход, който е екран-към файл.

    Ето един прост пример. Най- LS Командата показва файловете и папките в текущата директория. Така. когато изпълните следната команда, LS ще изведе файлове и папки в текущата директория. Но няма да ги отпечата на екрана - ще ги запише във файла, който сте посочили.

    ls> / път / до / файл

    Не е необходимо да указвате пътя до съществуващ файл. Задайте валиден път и bash ще създаде файл на това място.

    Ако видите съдържанието на файла, ще видите LS изхода на командата. Например, котка команда отпечатва съдържанието на файл в терминала:

    cat / path / to / file

    Не забравяйте, че >  операторът заменя съществуващото съдържание на файла с изхода на командата. Ако искате да запишете изхода на няколко команди в един файл, трябва да го използвате >> вместо това. Например следната команда ще добави системна информация към зададения от вас файл:

    uname -a >> / път / към / файл

    Ако файлът вече не съществува, bash ще създаде файла. В противен случай, bash ще остави съществуващото съдържание на файла сам и ще добави изхода към края на файла.

    Когато прегледате съдържанието на файла, ще видите, че резултатите от втората ви команда са добавени към края на файла:

    Можете да повторите този процес толкова пъти, колкото искате, за да запазите добавянето на изход към края на файла.

    Вариант 2: Печат на изход Обикновено и пренасочване към файл

    Може да не ви харесва да пренасочвате изхода с > или >> оператори, тъй като няма да виждате изхода на командата в терминала. Ето какво мишена командата е за. Командата Tee отпечатва входа, който получава, на екрана и запазва го във файл едновременно.

    За да прехвърлите изхода на команда към мишена, да го отпечатате на екрана и да го запишете във файл, използвайте следния синтаксис:

    команда | / път / към / файл

    Това ще замени всичко в файла с изхода на командата, точно както > оператор.

    За да прехвърлите изхода на команда към мишена , печатате на екрана си и я запазвате във файл, но го добавяте в края на файла:

    команда | tee -a / път / към / файл

    Това ще добави изхода към края на файла, точно както >> оператор.

    Баш черупката включва някои допълнителни, напреднали оператори, които изпълняват подобни функции. Те ще бъдат особено полезни, ако пишете bash скриптове. Консултирайте се с глава I / O Redirection (Пренасочване на I / O) в Advanced Bash-Scripting Guide (Ръководство за напреднали Bash-Scripting) за по-подробна информация.