知识大全 关于shell命令的定向输出 2;&1
Posted 命令
篇首语:当筵意气临九霄,星离雨散不终朝。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 关于shell命令的定向输出 2;&1相关的知识,希望对你有一定的参考价值。
mymand >mylog txt >& 应该是最经典的用法了
命令的结果可以通过 %> 的形式来定向输出 %表示文件描述符 为标准输出stdout 为标准错误stderr 系统默认%值是 也就是 > 而 >可以简写为> 也就是默认为> stdout的默认目标是终端 stderr的默认目标为也是终端 我们在批处理中执行 echo text >result txt 我们就可以在屏幕上会看到 echo text >result txt 即是这个道理
其中&需要直接与重定向符号结合使用
参考 % > >% ibrary/ServerHelp/ a a bdc dc ce b mspx?mfr=true
应用实例
将结果输出到result txtnet stop myservices >>result >&
隐藏程序输出结果net stop myservices >nul >nul
微软关于重定向的文章 使用命令重定向操作符
更新日期 / /
使用命令重定向操作符可以使用重定向操作符将命令输入和输出数据流从默认位置重定向到其他位置 输入或输出数据流的位置称为句柄
下表将列出可用的句柄
cellPadding= > > 句柄 句柄的数字代号 BORDER RIGHT: #cccccc px solid >描述
STDIN
BORDER RIGHT: #cccccc px solid >
键盘输入
STDOUT
BORDER RIGHT: #cccccc px solid >
输出到命令提示符窗口
STDERR
BORDER RIGHT: #cccccc px solid >
错误输出到命令提示符窗口
UNDEFINED
BORDER RIGHT: #cccccc px solid >
句柄由应用程序单独定义 它们是各个工具特有的
数字 到 代表前 个句柄 可以使用命令 Cmd exe 运行程序 并对该程序前 个句柄中的任何一个句柄进行重定向 要指定要用的句柄 请在重定向操作符之前键入该句柄的数字 如果未定义句柄 则默认的 < 重定向输入操作符是 而默认的 > 重定向输出操作符是 键入 < 或 > 操作符之后 必须指定数据的读写位置 可以指定文件名或其他现有的句柄
要指定重定向到现有句柄 请使用与 (&) 字符 后面接要重定向的句柄号(即 &句柄号) 例如 下面的命令可以将句柄 (即 STDERR)重定向到句柄 (即 STDOUT)
>&
下表列出了可用于重定向输入和输出数据流的操作符
E cellSpacing= cellPadding= > > 重定向操作符 BORDER RIGHT: #cccccc px solid >描述
>
BORDER RIGHT: #cccccc px solid >将命令输出写入到文件或设备(如打印机) 而不是命令提示符窗口或句柄
<
BORDER RIGHT: #cccccc px solid >从文件而不是从键盘或句柄读入命令输入
>>
BORDER RIGHT: #cccccc px solid >将命令输出添加到文件末尾而不删除文件中已有的信息
>&
BORDER RIGHT: #cccccc px solid >将一个句柄的输出写入到另一个句柄的输入中
<&
BORDER RIGHT: #cccccc px solid >从一个句柄读取输入并将其写入到另一个句柄输出中
|
BORDER RIGHT: #cccccc px solid >从一个命令中读取输出并将其写入另一个命令的输入中 也称作管道
默认情况下 可以从键盘将命令输入(即 STDIN 句柄)发送到 Cmd exe 然后由 Cmd exe 将命令输出(即 STDOUT 句柄)发送到命令提示符窗口
重定向输入 (<)要通过键盘将输入重定向到文件或设备 请使用 < 操作符 例如 要从 File txt 获取 sort 命令的输入 请键入
sort<file txt
File txt 的内容将以字母顺序列表的方式显示在命令提示符窗口中
< 操作符可以打开具有只读访问权限的指定文件名 因此 不能在使用该操作符时向文件中写入信息 例如 如果以 <& 启动程序 则所有试图读取句柄 的操作都将失败 因为句柄 最初是以只写访问方式打开的
注意
cellPadding= border= > &# ;
是 < 重定向输入操作符的默认句柄
重定向输出 (>)几乎所有的命令都将输出发送到命令提示符窗口 即使将输出发送到驱动器或打印机的命令也会在命令提示符窗口显示消息和提示
要将输出从命令提示符窗口重定向到文件或设备 请使用 > 操作符 可以在许多命令中使用该操作符 例如 要将 dir 输出重定向到 Dirlist txt 请键入
dir>dirlist txt
如果 Dirlist txt 不存在 Cmd exe 将创建该文件 如果 Dirlist txt 存在 Cmd exe 将使用 dir 命令的输出替换文件中的信息
要运行 netsh routing dump 命令 然后将输出发送到 Route cfg 请键入
netsh routing dump>c:\\route cfg
> 操作符可以打开具有只写访问权限的指定文件 因此 不能使用该操作符读取文件 例如 如果使用重定向操作符 >& 启动程序 则写入句柄 的所有尝试操作都将失败 因为句柄 最初是以只读访问方式打开的
注意
cellPadding= border= > &# ;
是 > 重定向输出操作符的默认句柄
复制句柄重定向操作符 & 可以将输出或输入从一个指定句柄复制到另一个指定的句柄 例如 要将 dir 输出发送到 File txt 并将错误输出发送到 File txt 请键入
dir>c:\\file txt >&
复制句柄时 可以复制该句柄原状态的所有特性 例如 如果一个句柄具有只读访问的属性 则该句柄的所有副本都具有只读访问属性 不能将一个具有只读访问属性的句柄复制到另一个具有只写访问属性的句柄
使用 & 操作符重定向输入和副本要将重定向输入操作符 (<) 与复制操作符 (&) 结合使用 指定的文件必须已经存在 如果输入文件存在 Cmd exe 将以只读方式打开该文件 然后将文件包含的字符作为输入发送到此命令(如同从键盘输入一样) 如果指定了句柄 Cmd exe 将指定的句柄复制到系统现有的句柄中
例如 要以句柄 输入读取(即 STDIN)的方式打开 File txt 请键入
<file txt
要打开 File txt 并在内容排序后将输出发送到命令提示符窗口(即 STDOUT) 请键入
sort<file txt
要查找 File txt 然后将句柄 (即 STDOUT)和句柄 (即 STDERR)重定向到 Search txt 请键入
findfile file txt>search txt <&
要以句柄 输入读取(即 STDIN)的方式复制用户定义的句柄 请键入
<&
使用 & 操作符重定向输出和复制如果将输出重定向到文件且指定了现有的文件名 Cmd exe 将以只写方式打开文件并覆蓋该文件内容 如果指定了句柄 Cmd exe 将文件复制到现有句柄中
要将用户定义的句柄 复制到句柄 请键入
>&
要将包括句柄 (即 STDERR)的所有输出从 ipconfig 命令重定向到句柄 (即 STDOUT) 然后将输出重定向到 Output log 请键入
ipconfig exe>>output log >&
使用 >> 重定向操作符附加输出要从命令中将输出添加到文件末尾而不丢失文件中已存在的任何信息 请使用两个连续的大于号(即 >>) 例如 使用下列命令可以将 dir 命令生成的目录列表附加到 Dirlist txt 文件
dir>>dirlist txt
要将 netstat 命令的输出附加到 Tcpinfo txt 的末尾 请键入
netstat>>tcpinfo txt
使用管道操作符 (|)管道操作符 (|) 可以提取一个命令的输出(默认情况下是 STDOUT) 然后将其定向到另一个命令的输入(默认情况下是 STDIN)中 例如 使用下面的命令可以对目录进行分类
dir | sort
在本例中 将同时启动两个命令 但随后 sort 命令会暂停 直到它接收到 dir 命令的输出为止 sort 命令使用 dir 命令的输出作为输入 然后将输出发送到句柄 (即 STDOUT)
合并带重定向操作符的命令通过合并带有其他命令和文件名的筛选器命令 可以创建自定义命令 例如 可以使用以下命令存储包含 LOG 字符串的文件名:
dir /b | find log loglist txt
dir 命令的输出是通过 find 筛选器命令进行发送的 包含字符串 LOG 的文件名作为文件名列表(例如 NetshConfig log Logdat svd 和 Mylog bat)存储在文件 Loglist txt 中
要在相同命令中使用多个筛选器 请使用管道 (|) 分隔筛选器 例如 下面的命令将搜索 C 盘上的每个目录以查找包含 LOG 字符串的文件名 并且在命令提示符窗口中每次显示一屏
dir c:\\ /s /b | find log | more
cha138/Article/program/qrs/201401/30221相关参考
Java标准输出重定向到GUI 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 实现输出从控制台到
System类中的out成员变量是java的标准输出流通常用它来输出调试信息out成员变量被定义为final类型无法直接重新复制但是可以通过setOut()方法来设置新的输出流本例通过该方法实现了
问题: 用shell写一个脚本用来监控mysql进程运行状态测试一下能不能连上mysql不能的话则发邮件报警至于怎么监控其实有很多命令比如大部分在mysql/bin目录下的命令都可以用来测试my
Run>RunConfigurations>Common>File &nbs
获取规范的系统类型 下列的宏使得configure脚本可以获得系统类型它们运行shell脚本configguess以确定用户在命令行中没有给出的它们需要的关于主机目标和创建类型的所有值它们运行c
这个问题来自社区提问代码保留一份用来以后回答 usingSystem;usingSystemComponentModel;usingSystemWindowsForms;namespac
C#截取DOS命令输出流取得网卡MAC地址 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nb
大部分人在写Shell过滤进程的时候都会使用grep在psaux的输出结果中查找指定的进程但此时也会把grep进程也显示出来比如查找pptpd进程会匹配出来两条 复制代码代码如下: [root@s
10:40面的。流程大致是:hrjj自我介绍信息核对(因为我的网申履历是英文的,要核对中文姓名写法,专业,毕业时间)话题讨论:交通。强调只有十分钟1,定义2,优缺点3,深远影响深远影响没准备,讲的很烂
定向增发的法律规定《公司法》、《证券法》等均对非公法发行做出了类似股份有限公司一般性的规定,主要针对非公开发行的两个文件如下:(1)2002年,中国证券监督管理委员会发布的关于上市公司增发新股的有关条