linux笔记2(查看文件)

cat

这里是覆盖原有内容。只能看到最后一页。注意行号显示命令。

在Linux shell脚本和命令行中,<>> 是重定向操作符,它们用于控制输入输出流的方向。尽管它们都涉及文件和数据流,但它们的功能和用途是不同的。

<

< 操作符用于重定向标准输入(stdin)。当你使用 < 时,你实际上是在告诉 shell 从指定的文件读取输入,而不是从键盘(默认的标准输入)。例如:

1cat < myfile.txt

这条命令会读取myfile.txt的内容,并将其传递给cat命令处理,而不是等待用户从键盘输入。

>>

>> 操作符用于追加重定向标准输出(stdout)。当你使用 >> 时,你是在告诉 shell 将命令的输出附加到指定的文件末尾,而不是覆盖文件内容或输出到终端。例如:

1echo "Hello, world!" >> myfile.txt

这条命令会在myfile.txt文件的末尾追加一行文本 "Hello, world!"。如果myfile.txt文件不存在,它会被创建。如果文件已存在,文本将被添加到文件的末尾,不会删除现有的内容。

<<

是一种称为“here document”(这里文档)或“heredoc”的特殊重定向操作符,在Shell脚本中非常有用。它允许你定义一段文本或一系列命令,然后将这段文本作为命令的标准输入。这种用法常见于需要大量文本输入或复杂格式输入的场景,比如发送电子邮件、生成配置文件等。

<< 的基本语法如下:

1command << delimiter
2    # 这里可以写入任意多行文本或命令输入
3    # 所有内容直到遇到 'delimiter' 行才会停止读取
4    # 注意,delimiter 行本身不会作为输入的一部分

例如,如果你想使用cat命令打印一大段文本,你可以这样做:

1cat << EOF
2这是第一行文本。
3这是第二行文本。
4这是第三行文本。
5EOF

在这个例子中,EOF 是分隔符,你可以在任何地方选择任何未在文本中出现的字符串作为分隔符。所有从 << EOF 下一行开始直到 EOF 出现的文本都会被当作 cat 命令的输入。

here document 对于编写脚本时需要插入多行文本或配置是非常方便的,因为它允许你在脚本中直接嵌入这些内容,而不需要使用外部文件。

1#!/bin/bash
2my_var="Hello, World!"
3echo << EOF
4This is a line.
5And this is another line with a variable: $my_var
6EOF

以上脚本会正确地将 $my_var 替换为其值,输出包含变量值的文本。这是 here document 的另一个强大特性。

总结:

  1. > (简单重定向)

    • 功能:改变命令的输出方向,将命令的输出重定向到指定的文件中。
    • 特性:如果目标文件已存在,其内容将被覆盖;如果文件不存在,则会创建新文件。
  2. >> (追加重定向)

    • 功能:与>类似,但不会覆盖文件内容。
    • 特性:如果目标文件已存在,命令的输出将被追加到文件的末尾;如果文件不存在,则会创建新文件。
  3. < (输入重定向)

    • 功能:改变命令的输入来源,使命令从指定的文件读取输入,而不是从标准输入(通常为键盘)读取。
    • 特性:适用于需要文件内容作为输入的命令。
  4. << (Here Document)

    • 功能:允许在脚本中直接定义一段文本或多行输入,作为命令的输入。
    • 特性:使用分隔符(delimiter)来界定文本的开始和结束,适合构造多行文本或复杂格式的输入。

 more

less

  • 10
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值