`
zhao_rock
  • 浏览: 188294 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

Linux 从进程相关的文件描述中恢复数据

 
阅读更多

在Linux中误删除了某个文件,但是 ps-ef|grep 文件名 发现某个进程还在使用该文件,那么可以通
过以下方式恢复文件。

例如:
创建一个简单文件/tmp/test.txt, 随便向里面写点内容

两个client模拟,client1 负责打开文件less /tmp/test.txt(模拟占用线程)

client2 负责恢复文件

 

恢复步骤(均在client2上执行)

 

1. 查看/tmp/test.txt被占用的进程id

[root@host tmp]# ps -ef|grep test.txt
root     31631 31539  0 09:35 pts/0    00:00:00 less test.txt
root     31649 31579  0 09:36 pts/1    00:00:00 grep test.txt

 

2. cd /proc/31631/fd 文件夹中

 

3. 执行ll命令

[root@host fd]# ll
total 0
lrwx------ 1 root root 64 Dec  3 09:36 0 -> /dev/pts/0
lrwx------ 1 root root 64 Dec  3 09:36 1 -> /dev/pts/0
lrwx------ 1 root root 64 Dec  3 09:36 2 -> /dev/pts/0
lr-x------ 1 root root 64 Dec  3 09:36 3 -> /dev/tty
lr-x------ 1 root root 64 Dec  3 09:36 4 -> /tmp/test.txt (deleted)

 

4. 发现了4是软连接到 /tmp/test.txt 文件中的

cat 4 即可找到删除的文件内容

 

以下是/proc目录中进程N的信息
/proc/N/cmdline 进程启动命令 
/proc/N/cwd 链接到进程当前工作目录
/proc/N/environ 进程环境变量列表
/proc/N/exe 链接到进程的执行命令文件
/proc/N/fd 包含进程相关的所有的文件描述符
/proc/N/maps 与进程相关的内存映射信息
/proc/N/mem 指代进程持有的内存,不可读
/proc/N/root 链接到进程的根目录
/proc/N/stat 进程的状态
/proc/N/statm 进程使用的内存的状态
/proc/N/status 进程状态信息,比stat/statm更具可读性
/proc/self 链接到当前正在运行的进程

 

 

 

 

 

 

 

 

0
0
分享到:
评论

相关推荐

    Linux 从进程相关的文件描述中恢复数据.docx

    Linux 从进程相关的文件描述中恢复数据.docx

    Linux恢复删除文件的lsof命令详解

    所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。...

    RED HAT LINUX 6大全

    12.5 在/etc/passwd文件中使用NISisms 232 12.6 使用网络组 232 12.7 解决问题的一些技巧 233 12.8 小结 233 第13章 网络文件系统 235 13.1 NFS安装 235 13.2 启动和停止NFS守护程序 236 13.3 NFS状态 236 13.4 配置...

    linux程序设计(第三版)

    第Ⅰ部分系统讨论用于文件、进程和打印机控制的LINUX和UNIX命令和工具,并介绍登录和退出过程、文件安全以及文件系统的备份和恢复;通过这些命令和工具,您可以有序、高效并安全地使用他人的LINUXUNIX系统。本书的...

    Linux使用教程(教程)

    目 录 一、Linux基础 5 1.什么是Linux? 5 2.什么是自由软件、GNU和GPL? 5 3.从技术上说,Linux有什么优点? 5 4.我需要学习Linux吗?...十五、Linux操作系统中备份恢复技术的详解 129 十六、GRUB使用说明 131

    redhat linux教材20课程学习文档

    第十一章 文件与数据备份 11.1 为什么要备份? 11.2 备份什么? 11.3 备份策略 11.4 备份命令的选择 11.4.1 tar 的使用 11.4.2 gzip和compress 11.4.3 联合使用 11.4.4 cpio 命令 11.4.5 dump 命令 11.5 第三方...

    Linux高性能服务器编程

    8.5.2 领导者追随者模式 8.6 有限状态机 8.7 提高服务器性能的其他建议 8.7.1 池 8.7.2 数据复制 8.7.3 上下文切换和锁 第9章 IO复用 9.1 select系统调用 9.1.1 select API 9.1.2 文件描述符就绪条件 ...

    LINUX与UNIX SHELL编程指南(很全)

    18.7.3 用while循环从文件中读取数据 189 18.7.4 使用IFS读文件 189 18.7.5 带有测试条件的文件处理 190 18.7.6 扫描文件行来进行数目统计 191 18.7.7 每次读一对记录 193 18.7.8 忽略#字符 193 18.7.9 处理格式化...

    Linux系统故障诊断与排除--James Kirkland

    6.7.4 在ext文件系统中恢复超级块和信息结点表 146 6.8 更多案例 150 6.9 小结 153 第7章 设备故障与置换 154 7.1 支持的设备 154 7.2 到哪里寻找错误 156 7.3 确定故障设备 158 7.4 故障设备的置换...

    Linux shell编程指南

    18.7.3 用while循环从文件中读取数据 189 18.7.4 使用IFS读文件 189 18.7.5 带有测试条件的文件处理 190 18.7.6 扫描文件行来进行数目统计 191 18.7.7 每次读一对记录 193 18.7.8 忽略#字符 193 18.7.9 处理格式化...

    lsof命令 查看文件的进程信息

    所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。...

    UNIX操作系统教程 张红光

    Window292 14.1.1X-Window的特征292 14.1.2X-Window的工作方式293 14.1.3X-Window的组成部件294 14.1.4X-Window编程环境介绍295 14.2数据检索加工工具awk296 14.2.1awk基本描述296 14.2.2awk中的记录和字段297 ...

    Linux操作系统基础教程

    在这一讲中,我们主要是了解一下 Linux 的概况,以及对 Linux 有一个初步的感性认识。 一.什么是Linux? Linux 是一个以 Intel 系列 CPU(CYRIX,AMD 的 CPU也可以)为硬件平台,完全免费的 UNIX 兼容系统,完全...

    Linux与unix shell编程指南

    18.7.3 用while循环从文件中读取数据 189 18.7.4 使用IFS读文件 189 18.7.5 带有测试条件的文件处理 190 18.7.6 扫描文件行来进行数目统计 191 18.7.7 每次读一对记录 193 18.7.8 忽略#字符 193 18.7.9 处理格式化...

    绝版经典《Linux与UNIX Shell编程指南》

    18.7.3 用while循环从文件中读取数据 189 18.7.4 使用IFS读文件 189 18.7.5 带有测试条件的文件处理 190 18.7.6 扫描文件行来进行数目统计 191 18.7.7 每次读一对记录 193 18.7.8 忽略#字符 193 18.7.9 处理格式化...

    LINUX与UNIX SHELL编程指南 高清PDF

    18.7.3 用while循环从文件中读取数据 189 18.7.4 使用IFS读文件 189 18.7.5 带有测试条件的文件处理 190 18.7.6 扫描文件行来进行数目统计 191 18.7.7 每次读一对记录 193 18.7.8 忽略#字符 193 18.7.9 处理格式化...

    linux shell 编程教程

    18.7.3 用while循环从文件中读取数据 189 18.7.4 使用IFS读文件 189 18.7.5 带有测试条件的文件处理 190 18.7.6 扫描文件行来进行数目统计 191 18.7.7 每次读一对记录 193 18.7.8 忽略#字符 193 18.7.9 处理格式化...

    《Linux系统管理》课程标准.doc

    " " "定制要安装的软件包 " " "软件包复制及安装过程 " " "需15~30分钟 " " "注意事项 " " "提示1: " " "进行Linux系统安装前应确认硬盘数据已备份 " " "启动Linux安装程序前应确认主机CMOS设置中的启动顺" ...

    Oracle 主要配置文件介绍

    那一行 也可以 设置 NLS_LANG 的值为 AMERICAN_AMERICA.US7ASCII <br>1.2.2 /etc/oratab 文件 /etc/oratab 文件描述目前系统中创建的数据库实例 以及是否通过 dbstart 和 dbshut 来控制该实例的启动...

    LINUX与UNIX_Shell编程指南

    5.11 使用文件描述符 44 5.12 小结 45 第6章 命令执行顺序 46 6.1 使用&& 46 6.2 使用|| 46 6.3 用()和{ }将命令结合在一起 47 6.4 小结 48 第二部分 文本过滤 第7章 正则表达式介绍 49 7.1 使用句点匹配...

Global site tag (gtag.js) - Google Analytics