目录

一、通过重定向来清空文件内容

  -> 通过shell重定向null到指定文件即可

-> 重定向 : 或 true 到指定文件

二、使用cat/cp/dd使用工具和/dev/null设备来清空文件内容

-> 可以使用cat命令查看/dev/null文件的内容,然后重定向输出到指定文件清空

-> 也可以使用 /dev/null文件的内容复制到指定文件进行请空

三、使用echo命令清空文件内容

-> echo 将 空串 重定向到指定文件(两种)

-> 要想彻底清空文件内容,可以使用echo命令的-n选项

四、使用truncate命令来清空文件内容

-> truncate 将一个文件缩小或扩展到给定的大小

-s 指定文件的大小

 五 清空文件夹方式

-> 删除文件保留文件夹

-> 删除文件夹和文件

六 指令测试通过案例

七 特别注意:   


Linux系统中清空或删除文件, 注意查看是否是系统文件

一、通过重定向来清空文件内容

  -> 通过shell重定向null到指定文件即可

> access.log

-> 重定向 : 或 true 到指定文件

: > access.log
true > access.log

二、使用cat/cp/dd使用工具和/dev/null设备来清空文件内容

ps:  /dev/null 是特殊文件,它将清空重定向到它的输出,而它输入是空白文件,什么内容也没有

关于/dev/null设备的详细内容可以参见:Shell—输入/输出重定向

Centos: 7 系统清空删除系统日志的方法:  CentOS7 系统清空删除系统日志的方法

-> 可以使用cat命令查看/dev/null文件的内容,然后重定向输出到指定文件清空

cat /dev/null  > access.log

-> 也可以使用 /dev/null文件的内容复制到指定文件进行请空

cp /dev/null access.log

三、使用echo命令清空文件内容

-> echo 将 空串 重定向到指定文件(两种)

echo "" > access.log
echo > access.log

-> 要想彻底清空文件内容,可以使用echo命令的-n选项

    该选项将告诉echo,不再输出一个空白行

echo -n "" > access.log

四、使用truncate命令来清空文件内容

-> truncate 将一个文件缩小或扩展到给定的大小

-s 指定文件的大小

truncate -s 0 access.log

 五 清空文件夹方式

-> 删除文件保留文件夹

这会递归地删除该文件夹下的所有内容,但不会删除该文件夹本身  如日志文件

rm -rf /home/nacos/logs/*

-> 删除文件夹和文件

可以自动创建文件夹的或者文件夹不重要的 可以使用这个 

rm -rf /home/nacos/logs

六 指令测试通过案例

最近有人说指令不好用, 整些错误指令, 那好, 测试代码如下

*: 是服务器的名字 省略了

哪个指令不清晰的自己试试

[root@* ~]# cd /usr/local/src/tomcats
[root@* tomcats]# cp resource.log resource.log1
[root@* tomcats]# cp resource.log resource.log2
[root@* tomcats]# cp resource.log resource.log3
[root@* tomcats]# cp resource.log resource.log4
[root@* tomcats]# > resource.log4
[root@* tomcats]# : > resource.log1
[root@* tomcats]# true > resource.log2
[root@* tomcats]# cat /dev/null > resource.log3
[root@* tomcats]# cp resource.log resource.log1
[root@* tomcats]# cp resource.log resource.log2
[root@* tomcats]# cp resource.log resource.log3
[root@* tomcats]# cp /dev/null resource.log1
cp: overwrite 'resource.log1'? yes
[root@* tomcats]# echo "" > resource.log2
[root@* tomcats]# echo > resource.log3
[root@* tomcats]# echo -n "" > resource.log2
[root@* tomcats]# truncate -s 0 resource.log3
[root@* tomcats]# mkdir -p /usr/local/src/tomcats/test
[root@* tomcats]# cp resource.log  test/resource.log1
[root@* tomcats]# cp resource.log  test/resource.log2
[root@* tomcats]# cp resource.log  test/resource.log3
[root@* tomcats]# rm -rf /usr/local/src/tomcats/test/*
[root@* tomcats]# cp resource.log  test/resource.log1
[root@* tomcats]# cp resource.log  test/resource.log2
[root@* tomcats]# cp resource.log  test/resource.log3
[root@* tomcats]# rm -rf /usr/local/src/tomcats/test
[root@* tomcats]# date
Mon Jul 10 10:38:26 CST 2023

七 特别注意:   

  1. 确认要删除的文件夹或文件, 在使用命令之前,请仔细检查要删除的文件夹是否正确。否则可能会删除错误的文件。
  2. 检查文件权限, 删除文件夹需要足够的权限。如果您不是该文件夹的所有者,并且没有足够的权限,请使用sudo或su命令以管理员身份运行删除命令。
  3. 不要误删除, 在确认要删除文件夹之前,请确保已备份所有重要文件。如果您误删除了某些文件,您可能需要花费很多时间和精力才能恢复它们。
  4. 确认删除内容,如果您使用rm -rf命令删除文件夹,则所有文件和子文件夹都将被递归删除。在执行此命令之前,请确保您真的想要删除该文件夹及其所有内容。