查看当前打开文件
lsof 命令,是list open files的简称 $ lsof(这里选取一条记录显示)
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
vi 27940 hyb 7u REG 8,15 16384 137573 /home/hyb/.1.txt.swp
lsof显示的结果,从左往右分别代表:打开该文件的程序名,进程id,用户,文件描述符,文件类型,设备,大小,iNode号,文件名。
列出被删除但占用空间的文件
在生产环境中,我们可能会使用df命令看到磁盘空间占满了,然而实际上又很难找到占满空间的文件,这常常是由于某个大文件被删除了,但是它却被某个进程打开,导致通过普通的方式找不到它的踪迹,最常见的就是日志文件。我们可以通过lsof来发现这样的文件:
$ lsof |grep deleted
删除已删除但是未释放空间的文件:
lsof | grep deleted | awk '{print $2}' | xargs kill -9
xargs
xargs命令的作用,是将标准输入转为命令行参数。
命令的格式如下
xargs [-options] [command]
真正执行的命令,紧跟在xargs后面,接受xargs传来的参数。
xargs的作用在于,大多数命令(比如rm、mkdir、ls)与管道一起使用时,都需要xargs将标准输入转为命令行参数。
默认情况下,xargs将换行符和空格作为分隔符,把标准输入分解成一个个命令行参数。
-d参数可以更改分隔符。
$ echo -e "a\tb\tc" | xargs -d "\t" echo
a b c
由于xargs默认将空格作为分隔符,所以不太适合处理文件名,因为文件名可能包含空格。
find命令有一个特别的参数-print0,指定输出的文件列表以null分隔。然后,xargs命令的-0参数表示用null当作分隔符。
$ find /path -type f -print0 | xargs -0 rm
awk print
The fields in each record are referenced by the dollar sign ($) followed by the field number beginning with 1. The first field is represented with $1, the second with $2, and so on. The last field can also be referenced with the special variable $NF. The entire record can be referenced with $0.
du
du (英文全拼:disk usage)命令用于显示目录或文件的大小。
-s或--summarize 仅显示指定目录或文件的总大小,而不显示其子目录的大小。
-h或--human-readable 以K,M,G为单位,提高信息的可读性。
du -sh:查看当前目录总大小。du -sh *:查看当前目录所有子目录大小。
挂起和恢复进程
挂起
kill -s SIGSTOP PID
恢复
kill -s SIGCONT PID
linux查看磁盘、io、内存情况
iostat
top
Load Avg
arthurchiao.art/blog/linux-… [2.1 原理与算法]
- [2.1.1 有活跃线程:load 指数增长]
- [2.1.2 无活跃线程:load 指数衰减]
查看本地ip地址
hostname