linux命令中大于号 linux大于符号

&1'>Linux 重定向符号以及2>&1 一个进程默认会打开标准输入、标准输出、错误输出三个文件描述符
文件描述符为0,小于号表示数据由文件流入命令
usage:
命令file
#加入输入重定向 , 对输入文件进行计数
wc -l/etc/passwd
文件描述符为1,大于号表述数据由命令流入文件
所以: echo "hello"t.log 也可以写成 echo "hello" 1t.log
会把文件的内容清空,再输入到新的文件
会把当前内容保持不变,然后在下一行进行追加
2错误重定向,如果当前命令产生了错误 , 会把错误重定向到文件中,而不会打印到屏幕
无论内容正确还是错误都会把文件输出到文件中 。
stderr的文件描述符为2,Unix程序会向stderr流中写入错误信息 。
默认情况下,commandfile 将stdout 重定向到 file,commandfile 将stdin 重定向到 file 。
如果希望 stderr 重定向到 file,可以这样写:
$ command 2file
如果希望 stderr 追加到 file 文件末尾,可以这样写:
$ command 2file2 表示标准错误文件(stderr)
如果希望将 stdout 和 stderr 合并后重定向到 file,可以这样写:
$ commandfile 21 或者 $ commandfile 21
如果希望对 stdin 和 stdout 都重定向,可以这样写:
$ commandfile1 file2
command 命令将 stdin 重定向到 file1,将 stdout 重定向到 file2 。
含义:将标准错误输出 重定向到 标准输出 。
符号是一个整体,不可分开 , 分开后就不是上述含义了 。
比如有些人可能会这么想:2是标准错误输入,1是标准输出,是重定向符号,那么"将标准错误输出重定向到标准输出"是不是就应该写成"21"就行了?是这样吗? 如果是尝试过 , 你就知道21的写法其实是将标准错误输出重定向到名为"1"的文件里去了
Linux中>>和>和<的区别1、输入输出的区别:
和都属于输出重定向 , 属于输入重定向 。
2、文件内容的区别:
会覆盖目标的原有内容 。当文件存在时会先删除原文件,再重新创建文件 , 然后把内容写入该文件;否则直接创建文件 。
会在目标原有内容后追加内容 。当文件存在时直接在文件末尾进行内容追加,不会删除原文件;否则直接创建文件 。
输出重定向:将一条命令执行结果(标准输出,或者错误输出,本来都要打印到屏幕上面的)重定向其它输出设备(文件,打开文件操作符,或打印机等等) 。
输入重定向:命令默认从键盘获得的输入,改成从文件 , 或者其它打开文件以及设备的输入 。
扩展资料
当执行shell命令时,会默认打开3个文件,每个文件有对应的文件描述符来方便我们使用:
当使用输出重定向和前面如果不加数字则默认为1,即和1 , 和1分别相同 。如果使用数字2可以将错误的输出写入到文件中 。使用2或者2时前面必须是错误的命令 。
linux命令中的“”” 表示的是输入重定向的意思linux命令中大于号,就是把后面跟的文件取代键盘作为新的输入设备 。
”| ”则表示一个管道的意思linux命令中大于号,可以理解为东西从管道的一边流向另外一边 。
程序呢? 简单的说shell程序就是一个包含若干行
shell或者linux命令的文件.
象编写高级语言的程序一样,编写一个shell程序需要一个文本编辑器.如VI等 。
在文本编辑环境下,依据shell的语法规则,输入一些shell/linux命令行,形成一个完整
的程序文件.
执行shell程序文件有三种方法
(1)#chmod +x file(在/etc/profile中,加入export PATH=$:~/yourpath,就可以在命令行下直接运行,像执行普通命令一样)

推荐阅读