Существует ли Linux-эквивалент Windows> log.txt для регистрации вывода команды в файл? - PullRequest
1 голос
/ 23 сентября 2010

Символ> (или >>) может использоваться с командой в Windows для записи результатов команды в файл. Есть ли у Linux эта возможность? Как ты делаешь это?

Пример: $ find /?>find.txt

Эта команда создаст файл с именем find.txt в текущем каталоге. Этот файл будет содержать именно то, что находится в окне термина после ввода команды:

Searches for a text string in a file or files.

FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "string" [[drive:][path]filename[ ...]]

  /V         Displays all lines NOT containing the specified string.
  /C         Displays only the count of lines containing the string.
  /N         Displays line numbers with the displayed lines.
  /I         Ignores the case of characters when searching for the string.
  /OFF[LINE] Do not skip files with offline attribute set.
  "string"   Specifies the text string to find.
  [drive:][path]filename
             Specifies a file or files to search.

If a path is not specified, FIND searches the text typed at the prompt
or piped from another command.

Ответы [ 4 ]

8 голосов
/ 23 сентября 2010

Так же работает в Linux.> перезапишет выходной файл, >> добавит к нему.Некоторые программы будут печатать ошибки в STDERR, которые вы можете записать, используя 2>.Иногда вы увидите, что STDERR перенаправлен в то же место, что и STDOUT, используя 2>&1, так что весь вывод может быть захвачен одновременно.

2 голосов
/ 23 сентября 2010

Да, и выглядит так же:

find --help > find.txt  # write to a new file
find --help >> find.txt # append to the file
2 голосов
/ 23 сентября 2010

Да, вы также можете перенаправить вывод команды, используя > или >> в оболочке Linux.См. Раздел перенаправление в документации по оболочке (ссылка ведет на стандарт POSIX, другие оболочки могут поддерживать более продвинутые типы перенаправления).

echo "This is a test" > file.txt

Если вы хотите напечатать выводи файл, и терминал, вы можете использовать tee:

echo "This is a test" | tee file.txt

Обратите внимание, что, учитывая документ, на который вы ссылаетесь, grep, вероятно,ближайший эквивалент к перечисленной команде find.find в Linux / Unix будет рекурсивно искать файлы с заданными именами или другими условиями соответствия метаданных;grep будет искать в одном файле строки, соответствующие заданному шаблону.

0 голосов
/ 23 сентября 2010

Работает так же.

find / > log.txt

Дополнительный бонус можно найти с помощью команды tee, это сохранит в файл и покажет результат одновременно.

find / | tee log.txt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...