在Linux系统中有文件而无法删除,可以尝试以下几种方法来解决这个问题:
第一种:文件夹有锁
使用命令 sudo chmod 777 test 给与这个test文件夹读写权限。
即可去点文件夹的锁,然后可以删除
第二种:文件夹没有锁,却还是不能删除,可能是文件权限问题
1、输入 sudo -i 进入root
2、cd 选择路径
3、rm -rf file 删除文件或文件夹
第三种:rm -rf file删除不掉,使用chattr -d -i filename命令,修改其属性
使用rm命令的递归选项:可以使用rm -r命令递归删除目录中的所有文件和子目录。例如,要删除目录/path/to/directory及其中的所有文件和子目录,可以使用命令rm -r /path/to/directory。
使用 rm -rf +folder name 或filename 删除时遇到类似下面的报错信息:
rm: cannot remove 'xxxx/.git/objects/pack/.nfs000000005c7c25fd00000004': Device or resource busy
造成这个状况的原因是文件或者文件夹正在被某个进程调用,所以无法删除。解决方法就是查到正在占用该文件或者文件夹的进程,将进程杀死,在重新删除就好
这种情况往往不知所措。下面是其解决方法:
1 . 使用lsattr filename的形式,查看其属性.
lsattr /tmp/tmptmp/.journal
----i-d------ /tmp/tmptmp/.journal
发现其多了一个i 和一个d 属性
2. 使用chattr -d -i filename命令,修改其属性
chattr -d /tmp/tmptmp/.journal
3. 再使用lsattr 查看其属性时,发现己经正常了.
------------- /tmp/tmptmp/.journal
4. 然后使用rm -rf 删除即可。
第四种使用find命令来查找特定类型的文件,然后将它们删除使用find命令
使用find命令来查找特定类型的文件,然后将它们删除。例如,要删除目录/path/to/directory中所有后缀为.tmp的文件,可以使用命令find /path/to/directory -name "*.tmp" -delete。
第五种使用xargs命令
使用find命令生成文件列表,然后使用xargs命令来一次性删除多个文件。例如,要删除目录/path/to/directory中所有后缀为.tmp的文件,可以使用命令find /path/to/directory -name "*.tmp" | xargs rm -f。
a:Append Only,系统只允许在这个文件之后追加数据,不允许任何进程覆盖或截断这个文件。如果目录具有这个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除任何文件。
i:Immutable,系统不允许对这个文件进行任何的修改。如果目录具有这个属性,那么任何的进程只能修改目录之下的文件,不允许建立和删除文件。