平时我们在删除文件时候发现必须重启服务才能彻底删除,典型的例子,就是 catalina.out
,必须重启Tomcat
之后才能彻底删除。
有没有一种简单的方式,可以不用重启服务,也能达到删除的目的,显然是有的。
echo
利用 echo
文件写入的功能,置空文件
例如 echo > bms.log
使用 echo > bms.log
命令会创建一个名为 bms.log
的文件(如果文件已存在则会被覆盖),并且不会向文件中写入任何内容。这是因为 echo
命令后面没有跟随任何文本或变量,所以默认情况下它只会创建一个空文件。
如果你想要向文件中写入特定的内容,你需要在 echo
后面加上你要写入的内容。例如:
1 | echo "Hello, world!" > bms.log |
这将会把字符串 “Hello, world!” 写入 bms.log
文件。
如果你想追加内容而不是覆盖文件,你可以使用 >>
重定向操作符:
1 | echo "Hello, world!" >> bms.log |
这将会把字符串 “Hello, world!” 追加到 bms.log
文件的末尾,如果文件不存在则会创建它。
如果你想要在后台运行这个命令并重定向输出,你可以使用 nohup
命令:
1 | nohup echo "Hello, world!" > bms.log & |
这将在后台创建或覆盖 bms.log
文件,并将 “Hello, world!” 写入其中。&
符号表示命令将在后台运行。