笔记:Linux Shell (五):标准输入输出重定向

6 篇文章 0 订阅

1. 标准输出重定向 “>”

1)command [arguments] > filename

将command命令的执行结果输出至filename

2)cat > filename

直接在终端输入内容保存至filename中,输入的任何内容只能用ctrl+h(删除字符)和ctrl+u(删除行)来修改内容,输入Enter换行后,此行不再能修改,用ctrl+d结束退出

3)cat filename1 filename2 filenamen > newfile

将filename1 filename2 和filenamen的内容逐个地连接成一个新文件newfile

 

2. 标准输入重定向 “<”

command [arguments] < filename

将命令的输入重定向到来自指定的文件,eg

cat < filename

等价于cat filename

 

3. 重定向输出时避免重写文件 noclobber

set -o noclobber

cat filename > newfile

set +o noclobber

首先禁止重定向到已存在的文件,

如果文件已存在,便会提示错误,并且不执行重定向命令,如果文件不存在,则成功重定向

然后关闭 禁止重定向到已存在文件 这一功能。

但建议先查看并备份现有文件,不要依赖noclobber

 

管道符号 | 会使set -o noclobber 功能失效

$ ls > tmpi.txt
$ set -o noclobber
$ ls > tmpi.txt
-bash: tmpi.txt: cannot overwrite existing file
$ ls >| tmpi.txt
$

 

4. 追加文件内容 >>

 

输出重定向会销毁原来文件,shell遇到输出重定向符号>时,首先做的是先删除与目标文件同名的文件。

 

5. 位垃圾桶 /dev/null

echo "hello" > /dev/null

将不想看到或者不想保存的数据重定向到/dev/null

cat /dev/null > filename

将文件filename的内容清空,保留文件的所有者和权限

 

6. 双输出 tee

date | tee tmpout.txt

将date命令的输出一份复制到标准输出(例如终端),另一份复制到文件tmpout.txt中

$ date | tee tmpout.txt
Wed May  8 14:35:34 CST 2013
$ cat tmpout.txt
Wed May  8 14:35:34 CST 2013

tee -a 将信息追加到文件中,而不重写文件

$ date | tee -a tmpout.txt
Wed May  8 14:36:44 CST 2013
$ cat tmpout.txt
Wed May  8 14:35:34 CST 2013
Wed May  8 14:36:44 CST 2013

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值