linux删除目录可以用rmdir命令,如果目录非空,使用rm -rf命令就可以。
直接rm就可以了,不过要加两个参数-rf 即:rm -rf 目录名字
删除目录、文件 rm(remove)
功能说明:删除文件或目录。
语法:rm [-dfirv][--help][--version][文件或目录...]
补充说明:执行rm指令可删除文件或目录,如欲删除目录必须加上参数”-r”,否则预设仅会删除文件。
参数:
1,linux删除文件夹
de>rm -rf fileNamede>
-删除文件夹实例:
将会删除/var/log/httpd/access目录以及其下所有文件、文件夹
注意:使用这个rm -rf的时候一定要格外小心,linux没有回收站的。
2,linux删除文件
de>rm -f fileNamede>
注意,使用 rm -rf时一定要格外小心,linux没有回收站的。
第二部分,linux中如何删除指定文件之外的其他文件?
一、Linux下删除文件和文件夹常用命令:
删除文件: rm file
删除文件夹: rm -rf dir
注意, rmdir 只能够删除 空文件夹。
二、删除制定文件(夹)之外的所有文件呢?
1、方法1,比较麻烦的做法是:
复制需要保留的文件到其他文件夹,然后将该目录删除, 然后将需要保留的移动 回来。
2、方法2,需要在当前文件夹中进行:
第三部分,Linux中彻底删除文件
shred彻底删除文件的方法:
shred会用一些随机内容覆盖文件所在的节点和数据块,并删除文件(-u参数)。
如果想清除的更彻底一点可以加-z 参数,意思是先用随机数据填充,最后再用0填充。
另外shred还可以清除整个分区或磁盘,比如想彻底清除/dev/sdb1分区的内容可以这样:
shred的详细参数:
第四部分,如何解决Linux下删除文件恢复?
Linux下删除文件并不是真实的删除磁盘分区中的文件,而是将文件的inode节点中的扇区指针清除,同时释放这些数据对应的数据块,当释放的数据块被系统重新分配时,那些被删除的数据就会被覆盖,所以误删除数据后,应马上卸载文件所在的分区。
每个文件有inode和block组成,inode是文件系统组成的最基本单元,它保存着文件的基本属性(大小、权限、属主组等)和存放的位置信息。而 block用来存储数据。类似key-value,inode就是key,block对应value,通过key查找key对应的value。类似 python的字典。
查看根目录的inode值
一般”根”目录的inode值为2,一个分区挂载到一个目录下时,这个”根”目录的inode值为2
一,安装extundelete
下载extundelete
所需依赖包
编译安装extundelte
二,用extundelete恢复文件
模拟数据误删除环境
卸载磁盘分区
查询恢复数据信息
# extundelete /dev/sdb2 --inode 2
.....
File name | Inode number |
Deleted status
Directory block 8657:
. 2
.. 2
lost+found 11 Deleted
hosts 12 Deleted
test 130817 Deleted
上面标记为Deleted是已经删除的文件或目录
四,开始恢复单个文件
默认恢复到当前目录下的RECOVERED_FILES目录中去
恢复一个目录
全部恢复
检测是否恢复成功
校验码与之前的完全一致。