是否有一个等同于Windows> log.txt的Linux用于将命令输出记录到文件中?

时间:2010-09-23 14:59:20

标签: linux logging

字符> (或>>)可与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 个答案:

答案 0 :(得分:8)

它在Linux中的工作方式相同。 >将覆盖输出文件,>>将附加到该文件。某些程序会将错误打印到STDERR,您可以使用2>进行捕获。有时您会看到STDERR使用2>&1重定向到与STDOUT相同的位置,因此可以立即捕获所有输出。

答案 1 :(得分:2)

是的,你也可以在Linux上的shell中使用>>>重定向命令的输出。请参阅shell文档中的redirection部分(链接转到POSIX标准,其他shell可能支持更高级的重定向类型)。

echo "This is a test" > file.txt

如果要将输出打印到文件和终端,可以使用tee

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

请注意,鉴于您链接到的文档,grep可能是与列出的find命令最接近的等效项。 Linux / Unix上的find将递归搜索具有名称或其他元数据匹配条件的文件; grep将在单个文件中搜索与给定模式匹配的行。

答案 2 :(得分:2)

是的,它看起来一样:

find --help > find.txt  # write to a new file
find --help >> find.txt # append to the file

答案 3 :(得分:0)

它的工作方式相同。

find / > log.txt

使用tee命令可以找到额外的奖励, 这将保存到文件并同时显示输出。

find / | tee log.txt