日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

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

發布時間:2024/1/17 linux 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何关闭linux系统中的覆盖输出重定向()功能 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、問題描述??????
??????? 我們在進行文件操作時經常會用到覆蓋輸出重定向(>),追加輸出重定向(>>),很明顯的看出兩種輸出重定向的符號相差不是很大,但是兩種的意義卻又很大的差別:前者是會覆蓋文件的內容的,而后者并不會覆蓋文件的內容!我們在使用追加輸出重定向時極有可能由于自己的不小心而使用覆蓋重定向,從而導致文件內容的丟失,但是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系统中的覆盖输出重定向()功能的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。