当前位置:  操作系统/服务器>linux
本页文章导读:
    ▪Linux下查看一个进程打开了哪些文件的命令示例      Linux下查看一个进程打开了哪些文件的命令示例,供大家学习参考。 查看进程14755(httpd)打开了哪些文件: 代码如下: localhost:~# lsof -p 14755 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME httpd 14755 apache.........
    ▪linux 如何找到进程的工作目录      首先找到进程id ps aux | grep process 会在输出结果里面找到进程id pwdx process-id......
    ▪使用 grep 恢复误删的文本文件          为大家介绍使用 grep 恢复误删的文本文件的方法,供大家学习参考。     作为长期的电脑使用者,肯定会有误删文件的经历,在 Mac OS X 和 Windows 上删除的文件都会默认进 “回收站”。.........

[1]Linux下查看一个进程打开了哪些文件的命令示例
    来源: 互联网  发布时间: 2013-12-24

Linux下查看一个进程打开了哪些文件的命令示例,供大家学习参考。

查看进程14755(httpd)打开了哪些文件:

代码如下:
localhost:~# lsof -p 14755
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
httpd 14755 apache cwd DIR 8,1 4096 2 /
httpd 14755 apache rtd DIR 8,1 4096 2 /
httpd 14755 apache txt REG 8,1 332264 9241061 /usr/sbin/httpd
httpd 14755 apache DEL REG 0,9 34211 /dev/zero
httpd 14755 apache DEL REG 0,9 34213 /dev/zero
httpd 14755 apache mem REG 8,1 143600 5636098 /lib64/ld-2.5.so
httpd 14755 apache mem REG 8,1 615136 5636111 /lib64/libm-2.5.so
httpd 14755 apache mem REG 8,1 129984 5636110 /lib64/libpcre.so.0.0.1
httpd 14755 apache mem REG 8,1 95464 5636153 /lib64/libselinux.so.1
httpd 14755 apache mem REG 8,1 108136 24491378 /usr/lib64/libaprutil-1.so.0.2.7
httpd 14755 apache mem REG 8,1 48600 5636156 /lib64/libcrypt-2.5.so
httpd 14755 apache mem REG 8,1 245488 24496044 /usr/lib64/libldap-2.3.so.0.2.31
httpd 14755 apache mem REG 8,1 59040 24493410 /usr/lib64/liblber-2.3.so.0.2.31
httpd 14755 apache mem REG 8,1 1008656 5636170 /lib64/libdb-4.3.so
httpd 14755 apache mem REG 8,1 143144 5636289 /lib64/libexpat.so.0.5.0
httpd 14755 apache mem REG 8,1 160944 24490671 /usr/lib64/libapr-1.so.0.2.7
httpd 14755 apache mem REG 8,1 145824 5636131 /lib64/libpthread-2.5.so
httpd 14755 apache mem REG 8,1 23360 5636107 /lib64/libdl-2.5.so

找到哪些进程打开了/usr/sbin/httpd文件:

代码如下:

localhost:~# lsof  /usr/sbin/httpd
COMMAND   PID   USER  FD   TYPE DEVICE   SIZE    NODE NAME
httpd   14746   root txt    REG    8,1 332264 9241061 /usr/sbin/httpd
httpd   14747 apache txt    REG    8,1 332264 9241061 /usr/sbin/httpd
httpd   14748 apache txt    REG    8,1 332264 9241061 /usr/sbin/httpd
httpd   14750 apache txt    REG    8,1 332264 9241061 /usr/sbin/httpd
httpd   14751 apache txt    REG    8,1 332264 9241061 /usr/sbin/httpd
httpd   14752 apache txt    REG    8,1 332264 9241061 /usr/sbin/httpd
httpd   14753 apache txt    REG    8,1 332264 9241061 /usr/sbin/httpd
httpd   14754 apache txt    REG    8,1 332264 9241061 /usr/sbin/httpd
httpd   14755 apache txt    REG    8,1 332264 9241061 /usr/sbin/httpd

localhost:~# pidof /usr/sbin/httpd
14754 14753 14752 14751 14750 14748 14747 14746


    
[2]linux 如何找到进程的工作目录
    来源: 互联网  发布时间: 2013-12-24

首先找到进程id
ps aux | grep process

会在输出结果里面找到进程id
pwdx process-id


    
[3]使用 grep 恢复误删的文本文件
    来源: 互联网  发布时间: 2013-12-24

    为大家介绍使用 grep 恢复误删的文本文件的方法,供大家学习参考。

    作为长期的电脑使用者,肯定会有误删文件的经历,在 Mac OS X 和 Windows 上删除的文件都会默认进 “回收站”。在 Linux 上如果事先没有用别名(alias)修改默认的 rm 功能,rm 后文件就会丢失,幸运的是,在一般的删除文件操作中,Linux 并不会立即清空存储该文件的 block 内容,而只会释放该文件所占用的 inode 和 data block,Linux 上 rm 的过程其实就是将 inode bitmap 和 data block bitmap 中的相应标识设为空闲状态的过程,并不涉及到真正的数据,这也是为什么在 Linux 下删除大文件这么快速的原因,因为大文件所占的磁盘根本就没有清空。所以,如果我们能找到文件对应的 inode,由此查到相应的 data block,就可能从磁盘上把已删除的文件恢复出来,很多文件/磁盘恢复工具都是这么做的。
 
    一般来说二进制文件、库文件等删除后都可以从其他 Linux 拷贝恢复,不是很要紧,如果自己辛苦写的脚本或者配置文件误删了就杯具了。误删这种蠢事经常在 VPSee 身上发生,最近一次是在今年年初的时候,开了 screen 多次 ssh 到不同服务器上,在前后切换的过程中删除了一个很肯定的配置文件,后来发现删的文件是对的,可惜在一台错误的服务器上,本来应该在 A 服务器上删除 file.txt 结果在 B 服务器上删除了 file.txt,多个 screen 和 ssh 把自己搞晕了,而且主机名没有安排好,多台机器都是用的 localhost,不利于识别当时的环境。如果使用 Linux 的时候不幸误删了一个文本文件怎么办呢?
 
先临时建一个文本文件 vpsee.log 做测试,然后删除这个文件:

代码如下:
$ echo "important log file for vpsee.com" > vpsee.log
$ cat vpsee.log
important log file for vpsee.com
$ rm vpsee.log

如果能记住刚才删除文件中的某个关键字的话可以用 grep 搜索整个 /dev/sda1,-a 标志位的意思是把 /dev/sda1 这个分区看成是文本形式的(分区本身是二进制形式的),-B 10 -A 100 的意思是如果找到关键字就打印出其前10行和后100行的内容:
 # grep -a -B 10 -A 100 'vpsee.com' /dev/sda1 > tmp.txt
 
在一堆 @ 之间可以找到我们刚才删除的内容:
 $ vi tmp.txt
...
@$^@^@^@^@^@^@^@^@^@^@^@^A^@^@^@^@^@^@^@Ç^@^@^@^A^@^@^@^@^@^@^@^@^@^@^@È^K^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^A^@^@^@^@^@^@^@^Q^@^@^@^C^@^@^@^@^@^@^@^@^@^@^@È^K^@^@×^@
^@^@important log file for vpsee.com
@
@
...
当然,如果误删了二进制、doc、png/jpg/gif 之类的文件,可以用一些第三方 ext2/ext3 文件恢复工具帮助恢复文件,比如 TestDisk, PhotoRec 等。


    
最新技术文章:
▪linux系统中的列出敏感用户的脚本代码
▪a10 config backup for aXAPI
▪一键备份gitolite服务器的Shell脚本
▪nagios 分发文件实现代码
▪阿里云云服务器Linux系统更新yum源Shell脚本
▪一个监控LINUX目录和文件变化的Shell脚本分享
▪Linux下实现SSH免密码登录和实现秘钥的管理、...
▪Shell正则表达式之grep、sed、awk实操笔记
▪3个备份系统文件并邮件发送的Shell脚本分享
▪CentOS 6.3下给PHP添加mssql扩展模块教程
▪监控网站是否可以正常打开的Shell脚本分享
▪shell脚本编程之if语句学习笔记
▪shell脚本编程之循环语句学习笔记
▪shell脚本编程之case语句学习笔记
▪Shell脚本实现的阳历转农历代码分享
▪Shell脚本实现复制文件到多台服务器的代码分...
▪Shell脚本实现批量下载网络图片代码分享
▪Shell脚本实现检测文件是否被修改过代码分享
▪Shell脚本数组用法小结
▪Shell脚本批量重命名文件后缀的3种实现
▪C语言实现的ls命令源码分享
▪Linux下查找后门程序 CentOS 查后门程序的shell脚...
▪Shell 函数参数
▪linux shell 自定义函数方法(定义、返回值、变...
▪Shell实现判断进程是否存在并重新启动脚本分...
▪Shell脚本break和continue命令简明教程
▪Shell脚本函数定义和函数参数
▪让代码整洁、过程清晰的BASH Shell编程技巧
▪shell常用重定向实例讲解
▪awk中RS、ORS、FS、OFS的区别和联系小结
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3