一、问题描述      
        我们在进行文件操作时经常会用到覆盖输出重定向(>),追加输出重定向(>>),很明显的看出两种输出重定向的符号相差不是很大,但是两种的意义却又很大的差别:前者是会覆盖文件的内容的,而后者并不会覆盖文件的内容!我们在使用追加输出重定向时极有可能由于自己的不小心而使用覆盖重定向,从而导致文件内容的丢失,但是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 
longls
cangls
        通过上例可以很明显的看到使用>覆盖输出重定向会把文件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 
longls
cangls
xiaozels
[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 命令就可以了,但若我们又忘记关闭了咋办?显然系统还是有相应的办法的,就是在使用覆盖重定向时在后面加个|符号就可以继续使用覆盖重定向的功能了。最后今后在遇到类是可以改变文件内容的命令一定要小心!不要因为自己的一时大意而酿成不必要的后果!

转载于:https://blog.51cto.com/12133924/1861631

如何关闭linux系统中的覆盖输出重定向()功能相关推荐

  1. 关闭linux系统中读写页缓存,Linux文件系统FAQ

    Linux文件系统FAQ 2010年03月25日 最近实验室搞了一些列讲座,阿福师兄关于文件系统的讲座帮我弄清楚了一些以前不清楚的问题,以问答的形式对文件系统常见的问题进行了总结. Q: 文件系统如何 ...

  2. linux系统中如何关闭后台运行的进程

    在linux系统中,关闭某个进程的命令是kill,后边需要加进程的进程号. 但是关闭进程需要知道进程的进程号,那么怎样才能知道进程的进程号呢?可以使用下面的命令来查看. ps aux 执行了这个命令之 ...

  3. Linux系统中关闭google浏览器更新提示

    如果Linux系统中使用了google浏览器提示更新又不想更新,与windows中方式类似也是使用--disable-background-networking. 使用vim google-chrom ...

  4. Linux系统中的权限详解

    我们linux服务器上有严格的权限等级,如果权限过高导致误操作会增加服务器的风险.所以对于了解linux系统中的各种权限及要给用户,服务等分配合理的权限十分重要. 一.文件基本权限 首先看下linux ...

  5. linux给目录赋访问权限_【Linux】Linux系统中的权限详解

    我们linux服务器上有严格的权限等级,如果权限过高导致误操作会增加服务器的风险.所以对于了解linux系统中的各种权限及要给用户,服务等分配合理的权限十分重要. 一.文件基本权限 首先看下linux ...

  6. mysql隐藏密码_MySQL在Linux系统中隐藏命令行中的密码的方法

    在命令行中输入命令并不是一个好主意,会造成安全问题.但是如果你决定去写一个应用,而这个应用需要在命令行中使用密码或者其他敏感信息.那么,你能通过以下方法禁止系统的其他用户轻易的看到这些敏感数据 呢?, ...

  7. linux系统中的日志管理

    Linux系统中的日志管理 1 实验环境 2 journald日志服务 2.1 journalctl命令的用法 2.2 用journald服务永久存放日志 3 rsyslog日志服务 3.1 自定义日 ...

  8. 对Linux系统中的时钟和时间的探讨

    2019独角兽企业重金招聘Python工程师标准>>> 概要 1)介绍Linux系统中时钟的基本概念 2)探讨hwclock命令的工作方式. 3)系统启动过程中Linux系统对系统时 ...

  9. linux mysql cpu 高,Linux系统中关于Mysql数据库导致CPU很高的问题解决

    Linux系统中关于Mysql数据库导致CPU很高的问题解决 发布时间:2007-11-19 00:01:12来源:红联作者:spworks 服务器环境 Liunx AS4 + PHP5 + Mysq ...

最新文章

  1. iOS UICollectionView实现瀑布流(3)
  2. 【转】K-SVD简述——字典学习,稀疏编码
  3. 无法连接共享打印机处理办法
  4. bat批处理启动QQ、微信、企业微信
  5. 酒桌上,领导将酒泼到你脸上......
  6. Google面试题—有四个线程1、2、3、4。线程1的功能就是输出1,线程2的功能就是输出2,以此类推.........现在有四个文件ABCD...
  7. 虚拟机中Linux克隆后相关配置-1
  8. 21. 包含min函数的栈(C++版本)
  9. Kerio Network Monitor
  10. php api接口怎么写,php如何写api接口?
  11. 基于原生js且非canvas实现的中国象棋(第一版)
  12. 文字栅格化剪切蒙版——创建文字遮罩效果的两种方法——梦幻游乐园
  13. 服务器扩容思路及问题分析
  14. c语言错误 cout不明确,C++ error: cout 不明确的符号
  15. gluster集群服务器IP地址更改后导致服务无法启动的一个解决方法
  16. Java书签 #MyBatis之setMapperLocations配置多个mapper路径的两种方法详解
  17. 苹果浏览器显示打不开改网页无法连接服务器,为什么苹果浏览器老是显示safari打不开该网页答案...
  18. 量子计算机算爱情,量子纠缠或许才是世间最伟大的爱情
  19. 分布式发号器——Vesta
  20. Jacobi迭代与SOR迭代求解希尔伯特矩阵

热门文章

  1. int** 赋值_Python的赋值、浅拷贝、深拷贝之间的区别
  2. android安装类型,Android 获得已安装的程序并且区分类型
  3. HTML怎么限制每行字数,JS实现每行固定字数,自动换行
  4. 电气工程师学python_Python 在电气工程及其自动化上有哪些应用?
  5. 鸿蒙os2.0公测结束了,鸿蒙OS2.0系统公测版发布时间-鸿蒙OS2.0系统公测版适配机型推荐...
  6. 高端网站建设css3动画响应式模板_网站建设中整站定制与模板建站存在着什么差异...
  7. win7计算机管理对话框功能,win7鼠标设置在哪里|win7打开鼠标属性对话框方法
  8. java entity公共属性_java – 如何从Entity Manager获取jpa数据源属性
  9. c 指针地址 突然改变_开发笔记 - Cpp - 指针 - 1.1 如何理解指针
  10. 深度学习tensorflow框架的会话