shell提供了一种称为noclobber(如set noclobber 明确声明不覆盖,clobber的单词有殴打,击打的意思)的特性,该特性可防止重定向时不经意地重写了已存在的文件。通过设置变量noclobber可以将此特性打开。打开后若将输出重定向到某个已存在文件,则shell将报告错误消息,并且不执行重定向命令。如果前面的示例产生了下面的消息之一,则设置了 noclobber特性。下面的示例首先打开noclobber特性,然后是将echo的输出重定向到已存在文件,最后是关闭noclobber特性。
$ set -o noclobber
$ echo "kick" > tmp
-bash: tmp: Cannot overwrite existing file
$ set +o noclobber
$ echo "kick" > tmp
我们也可以写一个简单的if语句的脚本来检查noclobber选项是否开启:
#!/bin/bash
# These lines will print a message if the noclobber option is set:
if [ ! -o noclobber ]
  then
    echo "Your files are not protected against accidental overwriting using redirection."
fi
# ./noclobber.sh
Your files are not protected against accidental overwriting using redirection.
从输出可以看出,我并未开启noclobber选项。

转载于:https://blog.51cto.com/tech110/232312

noclobber:避免文件的重写相关推荐

  1. java 文件流 重写_java中关于文件流的总结

    [File类] 1. 作用: 用于对磁盘文件进行操作. 删除.创建等. 2. 三种常用的构造函数: ① File file1 = new File("F:\\test"); 直接传 ...

  2. 单片机怎么用回调函数在不同文件之间传递数据

    大家好,我是无际. 今天继续来聊下回调函数. 之前写过一篇受到了广大老铁们的认可. 最近有几个新学员被回调函数搞得有点懵逼. 不理解为什么要搞这种绕来绕去.指针指来指去的函数. 先写篇文章预热一下,晚 ...

  3. 阿里二面:Redis 中的 AOF 文件太大了怎么办?

    一.前言 写这篇文章的目的是来自我的一位粉丝的投稿,说面试阿里被问到了这个问题.不得不说阿里的面试问的都挺有质量,一般的我们只会关注 Redis 的两种持久化方式 RDB 和 AOF.但老周这里盲猜面 ...

  4. c语言中removeDir的相反函数,C语言编程常见问题解答之常用函数的包括文件.doc

    C语言编程常见问题解答之常用函数的包括文件 C语言编程常见问题解答之常用函数的包含文件(1) 作者:unknown 更新时间: 2005-05-10 函数 包含 类别 功能 _atold math.h ...

  5. 文件上传检测的基本思路

    1: 前台脚本检测扩展名-绕过 原理 当用户在客户端选择文件点击上传的时候,客户端还没有向服务器发送任何消息,就对本地文件进行检测来判断是否是可以上传的类型,这种方式称为前台脚本检测扩展名. 1 绕过 ...

  6. 【C/C++语法外功】C/C++头文件一览[轉]

    c++常用函数所在头文件一览 函数           包含              类别              功能 _atold             math.h            ...

  7. RDB 文件的优势和劣势

    一.优势 1.RDB 是一个非常紧凑(compact)的文件,它保存了redis 在某个时间点上的数据集.这种文件非常适合用于进行备份和灾难恢复. 2.生成RDB 文件的时候,redis 主进程会fo ...

  8. 文件写入的6种方法,这种方法性能最好

    在 Java 中操作文件的方法本质上只有两种:字符流和字节流,而字节流和字符流的实现类又有很多,因此在文件写入时我们就可以选择各种各样的类来实现.我们本文就来盘点一下这些方法,顺便测试一下它们性能,以 ...

  9. ext不能选中复制属性_复制拷贝文件不怕再出错,一个超级好用的小工具,支持多线程工作...

    复制文件时速度比较慢,从一个分区里剪切出数据再粘贴到另外一个分区里,有的时候会丢数据,有时复制文件的时候不知道己拷贝的文件数量但又不愿中断重新再来一遍等等一些因复制文件时产生的问题,相信应该有挺多人都 ...

最新文章

  1. 百度地图JavaScript API自定义覆盖物、自定义信息窗口增删时的显示问题
  2. 又一联盟成立:清华、北大、深大、南科大、哈工大等12家在深单位加盟
  3. MathType的公式Latex到Katex转换程序
  4. fdopen()和fileno()函数
  5. C# 类(7) 继承
  6. 微软开始提供公共预览版Windows 8.1下载
  7. Taro+react开发(3)--tora官网
  8. 优秀技术人的管理陷阱
  9. usb连接不上 艾德克斯电源_第十二届(深圳)新能源汽车核心电源技术研讨会成功举办...
  10. 经验总结[系统方面]
  11. 诗和远方:无题(五十一)
  12. Linux服务器安装JavaWeb环境(四) Sentinel,Xxl-Job,Seata
  13. 【编辑器】Notepad++相关
  14. 微信小程序——获取具体地理位置信息
  15. 190305每日一句
  16. python中formatter的用法_python中 logging的使用详解
  17. UNIX linux vi命令
  18. python英文分词统计词频_Python 分词并统计词频
  19. “会用LabVIEW,但是却没有听说TestStand,好像有点说不过去吧!(上)
  20. FinClip 3 月产品小报:新功能上线小程序一键生成 App

热门文章

  1. Java实用教程笔记 常用实用类
  2. FPGA之道(78)静态时序分析(四)内部时钟相关时序分析
  3. RabbitMQ学习总结(2)——安装、配置与监控
  4. Redhat 7 yum源换成centos的YUM 源
  5. MySQL 加锁处理分析 ---非常牛逼
  6. jenkins 命令找不到
  7. nagios总结与基本配置模板-V2
  8. Silverlight实例教程 - Navigation导航框架系列汇总
  9. [转]Gearman分布式远程过程处理框架
  10. 怀念 儿时课本贴图,你还记得课文名吗