目录
一、逻辑符号
1.1&&
1.2||
二、连接符号
2.1|
2.2>
2.3>>
2.4<
三、分隔符号
3.1 ;
在Linux中,逻辑符号和连接符号常用于构建命令行中的逻辑操作和管道操作。下面对这两种符号进行总结描述。
一、逻辑符号
1.1&&
逻辑与符号,用于在一个命令成功执行后执行另一个命令,如果前面的命令失败了,后面的命令不执行。例如,command1 && command2表示只有当command1成功执行后,才会执行command2。
用法示例:
mkdir A1 && cd A1
这个命令是会先创建一个名为A1的目录,然后如果创建成功,才会进入该目录。
执行结果如下:

观察图中结果:
在p4的目录下只有一个A2的文本文件,当执行命令后发现命令提示符已经切换到A1目录,证明目录A1已经创建成功,再次检查p4目录,结果为A1和A2。
1.2||
逻辑或符号,用于在一个命令执行失败后执行另一个命令,如果前面的命令成功了,后面的命令不执行。例如,command1 || command2表示只有当command1执行失败后,才会执行command2。
用法示例:
rmdir B3 || cat > A3
- 如果目录 B3 存在并且成功被删除,则不执行后续命令。
- 如果目录 B3 不存在或无法删除,则将用户的输入保存到文件 A3 中。
因为目录 B3 不存在,所以rmdir 命令将会失败,执行 cat > A3 命令。
然后编辑A3文件内容,保存退出。
执行结果如下:

观察图中结果:
p4的目录下没有B3空目录,因此执行命令失败进行提示;然后编辑A3文件内容:asdf保存退出,再次查看p4目录发现已经存在A3文件,查看A3文件内容和上面编辑一样。
二、连接符号
2.1|
管道符号,用于将前一个命令的输出作为后一个命令的输入。例如,command1 | command2表示将command1的输出作为command2的输入进行处理。
或者换种理解:
| 是在当多个命令作用在同一个文件上时,可以使用,是先把第一个命令执行,然后在执行得到的结果上,再执行第二个命令。
只需要在第一个命令后加文件名;
该符号相当于oracle把子查询的结果集当成数据来源。
用法示例:
ls -l|grep ".txt"
ls -l:列出当前目录下的文件和文件夹详细信息。grep ".txt":在ls -l的输出中搜索包含 ".txt" 的行。
执行结果如下:

- 执行
ls -l命令,列出当前目录下的文件和文件夹的详细信息。 - 将
ls -l的输出作为输入传递给grep命令。 - 在
ls -l的输出中,通过grep过滤出包含 "file.txt" 的行,并将其打印出来。
2.2>
重定向符号,用于将命令的输出重定向到文件中。例如,command > file表示将command的输出写入到文件file中,如果文件不存在则创建,如果文件已存在则覆盖原有内容。
用法示例:
echo "hi,树先生" > c.txt
- 执行
echo "hi,树先生"命令,将字符串 "hi,树先生" 输出到标准输出(通常是终端)。 - 将标准输出的内容通过重定向操作符
>保存到文件c.txt中。
执行结果如下:
文件 c.txt 已经存在,使用 > 操作符会覆盖文件中的内容。
如果c.txt不存在,运行该命令后,文件 c.txt 将被创建,并且其中的内容将包含字符串 "hi,树先生"。 例如重定向到d.txt中:

注意:
假如遇到下图这种情况:
![]()
通常是由于 Bash Shell 的历史扩展功能导致的。在 Bash 中,
!符号被用作历史命令扩展的起始符号。可以按照下面方法解决:
- 使用单引号:将命令包裹在单引号中可以禁用历史命令扩展功能。例如,使用
'!'而不是!echo 'Hello, World!' > d.txt如上面例子中的 hi,老板!
- 使用反斜杠转义:使用反斜杠
\对!进行转义,以防止其被识别为历史命令扩展。echo hi,\!树先生 > e.txt执行结果如下:
2.3>>
追加重定向符号,用于将命令的输出追加到文件中。例如,command >> file表示将command的输出追加到文件file的末尾,如果文件不存在则创建。
用法示例:
2.2示例中讲到 假如文件 c.txt 已经存在,使用 > 操作符会覆盖文件中的内容。
如果只是想要追加内容而不是覆盖,请使用 >> 操作符。
echo '
Hello, World!
This is an example file.
It contains some text for demonstration. ' >> c.txt
执行结果如下:
该命令将会追加内容到现有的 c.txt 文件末尾。
2.4<
输入重定向符号,用于将文件的内容作为命令的输入。例如,command < file表示将文件file的内容作为command的输入进行处理。
三、分隔符号
3.1 ;
分号符号 --命令分隔符; 用于指定多个命令在同一行上依次执行,不考虑前一个命令的执行结果。即连接多个命令,命令之间互不影响;会把前后两个命令的结果一次都显示出来。
用法示例:
cat c ; cat d ; cat -n g
执行结果如下:
进行连续的 cat 操作,并使用 -n 选项对最后一个文件进行行号编号。
每个 cat 命令之间使用分号 ; 进行分隔。这样,命令将按顺序执行,并在终端上连续显示各个文件的内容。



















