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

Съдържание:

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

Видео: Как да запазите изхода на команда към файл в баш (известен още като терминал за Linux и MacOS)

Видео: Как да запазите изхода на команда към файл в баш (известен още като терминал за Linux и MacOS)
Видео: Мультики про машинки новые серии 2017 - Кто сильнее! Лучшие мультфильмы для детей /#мультик игра - YouTube 2024, Април
Anonim
Когато стартирате команда в прозореца bash, обикновено той отпечатва изхода на тази команда директно към терминала, за да можете да я прочетете веднага. Но bash също ви позволява да "пренасочите" изхода на всяка команда, като го запазите в текстов файл, за да можете да прегледате изхода по-късно.
Когато стартирате команда в прозореца bash, обикновено той отпечатва изхода на тази команда директно към терминала, за да можете да я прочетете веднага. Но bash също ви позволява да "пренасочите" изхода на всяка команда, като го запазите в текстов файл, за да можете да прегледате изхода по-късно.

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

Опция 1: Пренасочване на изхода към файл само

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

>

или

>>

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

  • >

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

  • >>

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

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

Ето един прост пример. Най-

ls

командата изписва файлове и папки в текущата директория. Така. когато изпълнявате следната команда,

ls

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

ls > /path/to/file

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

Ако видите съдържанието на файла, ще видите
Ако видите съдържанието на файла, ще видите

ls

изхода на командата. Например,

cat

команда отпечатва съдържанието на файл в терминала:

cat /path/to/file

Не забравяйте, че
Не забравяйте, че

>

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

>>

оператор вместо това. Например, следната команда ще добави системна информация към файла, който посочвате:

uname -a >> /path/to/file

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

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

Image
Image

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

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

Възможно е да не искате да пренасочвате продукцията с

>

или

>>

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

tee

командата е за. Командата "Ти" отпечатва входния сигнал, който получава на екрана и го записва едновременно в файл.

За да насочите изхода на команда към

tee

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

command | tee /path/to/file

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

>

оператор.

За да насочите изхода на команда към
За да насочите изхода на команда към

tee

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

command | tee -a /path/to/file

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

>>

оператор.

Препоръчано: