谨慎使用输出重定向(>)
来源:互联网 发布:mac管理桌面图标 编辑:程序博客网 时间:2024/06/05 04:04
今天在使用重定向<的时候,不小心把一个空的文件重定向到刚写完的程序中,导致白写了;想在网上找挽回的措施,结果linux没有办法可以挽回;就看到这篇文章,分享出来!避免“悲剧重演”
转资51CTO:http://cuchadanfan.blog.51cto.com/9940284/1670308
一、问题描述
我们在进行文件操作时经常会用到覆盖输出重定向(>),追加输出重定向(>>),很明显的看出两种输出重定向的符号相差不是很大,但是两种的意义却又很大的差别:前者是会覆盖文件的内容的,而后者并不会覆盖文件的内容!我们在使用追加输出重定向时极有可能由于自己的不小心而使用覆盖重定向,从而导致文件内容的丢失,但是linux系统还是可以解决这种问题的。
二、问题演示
[root@hpf-linux~]# echo "cangls" > /root/test.txt [root@hpf-linux~]# cat /root/test.txt cangls[root@hpf-linux~]# echo "longls" > /root/test.txt [root@hpf-linux~]# cat /root/test.txt longls[root@hpf-linux~]# echo "cangls" >> /root/test.txt [root@hpf-linux~]# cat /root/test.txt longlscangls
通过上例可以很明显的看到使用>覆盖输出重定向会把文件test.txt的内容给删除,而使用>>追加输出输出重定向并不会把文件的内容给弄丢失,下面介绍如何使用小技巧把这种问题尽可能的杜绝。
三、技巧使用
set -C:禁止覆盖重定向至已经存在的文件
set +C:关闭上述特性:
>|:在-C 特性下,强制使用覆盖重定向
[root@hpf-linux~]# set -C [root@hpf-linux~]# echo "xiaozels" > /root/test.txt -bash: /root/test.txt: cannot overwrite existing file[root@hpf-linux~]# echo "xiaozels" >> /root/test.txt [root@hpf-linux~]# cat /root/test.txt longlscanglsxiaozels[root@hpf-linux ~]# echo "xiaozels" >| /root/test.txt [root@hpf-linux ~]# cat /root/test.txt xiaozels[root@hpf-linux ~]# set +C [root@hpf-linux ~]# echo "bols" > /root/test.txt [root@hpf-linux ~]# cat /root/test.txt bols
通过上面的例子可以看到使用set -C命令就可以把覆盖输出重定向的功能给关闭,但有时候还是要使用这功能咋办?显然可以用set +C 命令就可以了,但若我们又忘记关闭了咋办?显然系统还是有相应的办法的,就是在使用覆盖重定向时在后面加个|符号就可以继续使用覆盖重定向的功能了。最后今后在遇到类是可以改变文件内容的命令一定要小心!不要因为自己的一时大意而酿成不必要的后果!
原始出处:http://cuchadanfan.blog.51cto.com/9940284/1670308
- 谨慎使用输出重定向(>)
- linux重定向(shell重定向,输入重定向,输出重定向)
- 如何使用匿名管道输出重定向
- VC下使用命令行重定向输出
- Linux输入/输出重定向的使用
- linux shell数据重定向(输入重定向与输出重定向)详细分析
- linux shell数据重定向(输入重定向与输出重定向)详细分析
- linux shell数据重定向(输入重定向与输出重定向)详细分析
- linux shell数据重定向(输入重定向与输出重定向)详细分析
- linux shell数据重定向(输入重定向与输出重定向)详细分析
- linux shell数据重定向(输入重定向与输出重定向)详细分析
- linux shell数据重定向(输入重定向与输出重定向)详细分析
- linux shell数据重定向(输入重定向与输出重定向)详细分析
- linux shell数据重定向(输入重定向与输出重定向)详细分析
- linux shell数据重定向(输入重定向与输出重定向)详细分析
- linux shell数据重定向(输入重定向与输出重定向)详细分析
- linux shell数据重定向(输入重定向与输出重定向)详细分析
- linux shell数据重定向(输入重定向与输出重定向)详细分析
- linux 制作U盘启动,和定制系统
- C++抽象类
- http://dl-ssl.google.com/android上不去解决方案
- 你是不是 可替代的Linux运维工程师?
- Day 11 常用正则表达式
- 谨慎使用输出重定向(>)
- 最新版VMare安装Ubuntu和fedora失败问题
- LeetCode OJ 7 Reverse Integer [easy]
- 关于 equals 和 == 的一些思考
- 训练赛---分球
- 费马小定理及MR素数判断
- 修改MySql root用户密码
- IBM Minus One
- 首页轮播图片实现