在大多数情况下,我们想要删除电脑文件,Linux下一般会使用删除键或者rm命令、将文件扔到垃圾箱。但是,这些方法并没把文件从我们的电脑里彻底删除,只是把文件隐藏起来,让用户看不见而已。

假设某个文件含有机密或秘密的内容,比如安全系统的用户名和密码,如果攻击者拥有必要的专长和技能,就能轻松恢复已删除的文件,从而访问那些用户资料,这种场景造成的后果可想而知。

本文中,我们将介绍多款命令行工具,帮你实现永久安全地删除Linux下的文件。

1. shred – 覆盖文件以隐藏内容

shred可覆盖文件以隐藏内容,另外还可以删除文件。

$ shred -zvu -n 5 passwords.list

这个命令包括的几个选项有:

-z – 最后一次覆盖添加0,以隐藏覆盖操作

-v – 能够显示操作进度

-u – 覆盖后截断并删除文件

-n – 指定覆盖文件内容的次数(默认值是3次)

shred – 覆盖文件以隐藏内容。

你可以在shred的参考手册页找到更多的使用选项和信息:

$ man shred

2. wipe – 安全地擦除Linux下的文件

Linux的wipe命令,可安全地删除磁存储器中的文件,后续无法恢复已删除文件或目录的内容。

首先,你需要安装wipe工具才能使用它,运行下面命令:$ sudo apt-get install wipe [在Debian及其衍生版上]

$ sudo yum install wipe [在基于RedHat的系统上]

下面这个命令将擦除目录private下面的一切内容。

$ wipe -rfi private/*

相关标志的用法如下:

-r – 告诉wipe递归查询子目录

-f – 启用强行删除,并禁用确认查询

-i – 显示删除过程的进度

wipe – 安全地删除Linux下的文件

注意:wipe只能适用于磁存储器,对于固态磁盘要使用其他方法。

仔细阅读wipe的参考手册页,了解更多的使用选项和使用说明:

$ man wipe

3. 面向Linux的secure-deletetion工具包

secure-delete是一套安全文件删除工具,包含SRM(secure_deletion)工具,它是用来安全地删除文件。

首先,你要安装它,为此使用下面这个相关命令:$ sudo apt-get install secure-delete [在Debian及其衍生版上]

$ sudo yum install secure-delete[在基于RedHat的系统上]

一旦安装完毕,你可以使用srm工具,在Linux系统上安全地删除文件或目录,如下所示。

$ srm -vz private/*

使用的选项如下:

-v – 启用详细信息模式

-z – 用0而不是随机数据擦除上一次写入的内容

srm – 安全删除Linux下的文件

仔细阅读srm的参考手册页,了解更多的使用选项和信息:

$ man srm

4. sfill –安全免费的磁盘/索引节点空间擦除工具

ffill是secure-deletetion工具包的一部分,它是一种安全免费的磁盘和索引节点空间擦除工具,可以安全地删除闲置磁盘空间上的文件。sfill可检查指定分区上的闲置空间,并用来自/dev/urandom的随机数据来填充。

下面这个命令将在我的根分区上执行sfill,-v参数选项符启用详细信息模式:

$ sudo sfill -v /home/aaronkilik/tmp/

假设你创建了一个单独的分区,/home用来存储平常的系统用户主目录,那么你可以在该分区上指定一个目录,对它进行sfill操作:

$ sudo sfill -v /home/username

sfill有几个局限性,参考手册页中有说明,你还能找到另外的使用标志和操作说明:

$ man sfill

注意:secure-deletetion工具包中的下面两个工具(sswap和sdmem)与本文并不直接有关,不过我们会介绍它们,也许将来用得着。

5. sswap – 安全交换分区擦除工具

这是一个安全分区擦除工具,sswap删除的数据驻留在交换分区上的数据。

警告:记得在使用sswap之前先卸载掉你的交换分区!不然系统可能会崩溃!

只要确定你的交换分区(并使用swapon命令,核实分页和交换设备/文件是否开启),下一步,使用swapoff命令,禁用分页和交换设备/文件。

然后,在交换分区上运行sswap命令:

$ cat /proc/swaps

$ swapon

$ sudo swapoff /dev/sda6

$ sudo sswap /dev/sda6 #这个命令需要一段时间才能完成,默认情况下执行38趟

sswap – 安全交换分区擦除工具

确保仔细阅读sswap的参考手册页,了解更多的使用选项和信息:

$ man sswap

6. sdmem – 安全内存擦除工具

sdmem是安全内存擦除工具,它旨在安全地删除驻留在内存中的数据。

它原先名叫smem,但是在Debain系统上,有另一个程序包名叫smem(报告每个进程和每个用户的内存使用情况),于是开发人员将它改名为sdmem。

$ sudo sdmem -f -v

想了解更多的使用信息,请仔细阅读sdmem的参考手册页:

$ man sdmem

就是这样!我们在本文中介绍了多款永久安全地删除Linux下文件的命令工具。欢迎留言交流。

原文标题:rmanently and Securely Delete ‘Files and Directories’ in Linux,作者:Aaron Kili

linux创建删除文件命令行,彻底消失,Linux下用命令行彻底删除文件相关推荐

  1. linux创建交换分区设置_如何在Linux上创建交换文件

    linux创建交换分区设置 zentilia/Shutterstock.com zentilia / Shutterstock.com Add swap space to a Linux comput ...

  2. linux终端上网,ubuntu中上网-如何使用ubuntu下用命令行上网?ubuntu下用命令行上网, 爱问知识人...

    2013-08-01 09:07:16 用于基本接口与IP配置的ifconfig ifconfig工具(interface configurator,接口配置器)提供了一些非常基本但是非常重要的功能. ...

  3. linux创建用户到指定分区,2016年Linux认证考试试题及答案

    2016年Linux认证考试试题及答案 一.选择题 1.在创建Linux分区时,一定要创建( D )两个分区 A. FAT/NTFS B. FAT/SWAP C. NTFS/SWAP D.SWAP/根 ...

  4. Linux主目录中创建目录,linux创建账户并自动生成主目录和主目录下的文件

    Android简单介绍SharedPreference,内部文件,sdcard数据存储 SharedPreference 以xml的结构储存简单的数据,储存在data/data/程序包名/shared ...

  5. Linux创建两个相同的用户,在Linux系统中一次创建多个用户

    newusers 命令 首先,要创建一个正文文件并将所有要创建用户的信息都存放在这个文件中(每个用户记录占一行).为此,运用 vi 命令创建一个名为dogs 的正文文件,并在文件中输入要创建的用户记录 ...

  6. linux 批量替换文件内容及查找某目录下所有包含某字符串的文件(批量修改文件内容)

    转自 http://blog.csdn.net/werm520/article/details/49334513 grep -rl '10.100.137.5' | xargs sed -i '10. ...

  7. linux 批量替换文件内容及查找某目录下所有包含某字符串的文件(批量修改文件内容)...

    1. sed grep -rl matchstring somedir/ | xargs sed -i 's/string1/string2/g' 例如: 对象:文件夹 grep -rl 'windo ...

  8. linux创建sftp用户并指定访问目录,linux – 创建SFTP用户只能访问一个目录.

    我更喜欢创建用户组sftp,并将该组中的用户限制在其主目录中. 首先,编辑你的/ etc / ssh / sshd_config文件并将其添加到底部. Match Group sftp ChrootD ...

  9. lua文件迁移小工具(编辑器下直接使用,将.lua文件变成定制的AB包文件)

    作用:将工程的某个文件夹下的所有.lua文件转换成txt文件,并将这些txt文件放到自定义文件夹下,并且统一修改为自定义的ab包名. 因为:AB包不支持.lua文件,所以需要转成txt文件. usin ...

  10. android 命令使用详解,Android下pm 命令详解

    作者:Sam (甄峰) sam_code@hotmail.com Sam在看相关PackageManager代码时,无意中发现Android 下提供一个pm命令,通常放在/system/bin/下.这 ...

最新文章

  1. 复旦大学自然语言处理实验室发布模型鲁棒性评测平台TextFlint
  2. Spring Cloud限流详解(附源码)
  3. mybatis 配置文件报错:Referenced file contains errors(file:/D:/config/ mybatis-3-mapper.dtd).
  4. Java设计模式--解释器模式
  5. 清北学堂2019.5.3
  6. leetcode python3 简单题219. Contains Duplicate II
  7. atitit..主流 浏览器 js 引擎 内核 市场份额 attialx总结vOa9
  8. 【亲测】超级外链SEO工具源码,可发9600条优质外链
  9. VS2019报本次安装Visual Studio 所用的安装程序不完整错误
  10. Egret 使用自定义皮肤
  11. 超级产品:“用户需求”之“了解用户需求”
  12. input.validity
  13. vm虚拟机分配处理器_虚拟机处理器核数与物理cpu的关系
  14. “三行情书”——给你三行代码的爱恋~
  15. Ubuntu18.04配置YCM
  16. 使用lua配置neovim所需的一切
  17. Int相乘为负数问题
  18. kingbase8建表
  19. Oracle 12c新特性-多租户的维护管理
  20. 2021南昌二中高考成绩查询,2020年南昌各大高中高考喜报合集!

热门文章

  1. MyBatis-Plus 从入门到上手-进阶版
  2. 第十六届“挑战杯”全国大学生课外学术科技作品竞赛总结
  3. ORA-00201,ORA-00202
  4. DevEcoStudio:鸿蒙系统的权限申请
  5. GUI(Graphical User Interface)—关于一道题的按钮事件处理知识点总结
  6. 意大利卡乐1tool编程软件从模板新建项目
  7. 数据库系统工程师——第三章 数据结构与算法
  8. 关于 CLAHE 的理解及实现
  9. stm32定时器中断配置及使用
  10. 微信公众平台开发(37)百度魔图