Linux—使⽤Shell命令清空或删除⼤⽂件内容的⽅法Windows中删除⽂件或清空⽂件内容很简单,但是在Linux中,有些时候,我们不想打开⽂本编辑器去删除⽂件的内容,想通过命令去实现这⼀功能
本⽂就介绍⼏种⽅法,⽤于清空或删除⼤⽂件内容
注意:Linux系统中⼀切皆⽂件。
所以在清空或删除⽂件之前⼀定要确保该⽂件不是系统⽂件或者其他重要配置⽂件,否则可能引发系统错误。
⼀、通过重定向来清空⽂件内容
该⽅法是最简单的,通过shell重定向null到指定⽂件即可
$  > system.log
还有两个重定向⽅法:
重定向:或者true到指定⽂件
$  :> system.log
或者
$  true > system.log
⼆、使⽤cat/cp/dd使⽤⼯具和/dev/null设备来清空⽂件内容
/dev/null⽂件是⼀个特殊的⽂件,它将清空重定向到它的输出,⽽它的输⼊是个空⽩⽂件,什么内容也没有
关于/dev/null设备的详细内容可以参见:
因此,可以使⽤cat命令查看/dev/null⽂件的内容,然后重定向输出到指定⽂件,达到清空的⽬的
$  cat /dev/null  > system.log
同理:
可将/dev/null⽂件的内容复制到指定⽂件,达到清空的⽬的
$  cp /dev/null system.log
三、使⽤echo命令清空⽂件内容
可以使⽤echo命令将空字符串重定向到指定⽂件,来清空⽂件内容
$  echo "" > system.log
或者
$  echo > system.log
注意:该⽅法虽然清空了⽂件的内容,但是⽂件会包含⼀个空字符串,使⽤cat命令查看时,将看到⼀个空⽩⾏因为空字符串不等于null,空字符串只能说明它的内容为空,⽽null则表⽰该事物不存在!
要想彻底清空⽂件内容,可以使⽤echo命令的-n选项,该选项将告诉echo,不再输出⼀个空⽩⾏
$  echo -n "" > system.log
四、使⽤truncate命令来清空⽂件内容
linux重定向truncate命令可以将⼀个⽂件缩⼩或者扩展到某个给定的⼤⼩
可以利⽤该命令和-s选项来特别指定⽂件的⼤⼩
$  truncate -s 0 system.log

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。