您的位置:首页 > 其它

ls -l |grep "^-"|wc -l 程序问题的定位—strace -p pid(跟踪系统调用)gdb -p pid(调试)lsof -p pid(查看当前进程打开的文件描述符) ps -e

2014-09-03 18:11 781 查看
查看某文件夹下文件的个数

ls -l |grep "^-"|wc -l

find ./company -type f | wc -l

查看某文件夹下文件的个数,包括子文件夹里的。

ls -lR|grep "^-"|wc -l

查看某文件夹下文件夹的个数,包括子文件夹里的。

ls -lR|grep "^d"|wc -l

说明:
ls -l

长列表输出该目录下文件信息(注意这里的文件,不同于一般的文件,可能是目录、链接、设备文件等)

grep "^-"

这里将长列表输出信息过滤一部分,只保留一般文件,如果只保留目录就是 ^d

wc -l

统计输出信息的行数,因为已经过滤得只剩一般文件了,所以统计结果就是一般文件信息的行数,又由于

一行信息对应一个文件,所以也就是文件的个数。
strace -p pid //跟踪pid进程的系统调用
在后台开发中,strace -p 能够很方便的查看系统调用的参数,返回值,耗时等信息。

gdb -p pid //调试pid进程

能够调试pid对应的程序


在gdb中用set print element 0,然后p 变量,可以查看到变量的全部信息,不会被截断(默认只会输出一部分)


lsof -p pid //查看进程pid打开的文件描述符,(一般情况下,一个进程可以打开的文件描述符的个数不超过1024)

防止文件描述符泄露,内存泄露不仅仅是堆内存泄露,还有句柄泄漏。

df -l 和du -sh 统计到的文件大小不同,可能是因为文件目录项被删除了,但是文件还被打开着,inode还被占用着。

ps -eLf //查看操作系统中的线程信息,ps -elf 只能看到进程信息。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐