使用lsof命令查找系统打开的文件时,提示找不到该命令。

[root@VM192168200201 ipnet]# lsof -n
bash: lsof: command not found
 

查找该命令,发现已经安装。

[root@VM192168200201 ipnet]# locate lsof
/usr/sbin/lsof
/usr/share/doc/lsof-4.78
/usr/share/doc/lsof-4.78/00.README.FIRST
/usr/share/doc/lsof-4.78/00CREDITS
/usr/share/doc/lsof-4.78/00DCACHE
/usr/share/doc/lsof-4.78/00DIALECTS
/usr/share/doc/lsof-4.78/00DIST
/usr/share/doc/lsof-4.78/00FAQ
/usr/share/doc/lsof-4.78/00LSOF-L
/usr/share/doc/lsof-4.78/00MANIFEST
/usr/share/doc/lsof-4.78/00PORTING
/usr/share/doc/lsof-4.78/00QUICKSTART
/usr/share/doc/lsof-4.78/00README
/usr/share/doc/lsof-4.78/00TEST
/usr/share/doc/lsof-4.78/00XCONFIG
/usr/share/man/man8/lsof.8.gz
 

如果要执行该命令,一种方法是执行的时候加上路径,使用/usr/sbin/lsof -参数;另一种方法是把该路径加到$PATH下。当然第二种方法比较好用,一次解决,无后患。

加路径到PATH下,也有两种方法。

1.命令行执行PATH=$PATH:/usr/sbin

不过这样设置只在此次环境生效。重新登陆或重启都要重新设置。

2.修改/etc/profile文件。在文件中加入该路径即可。或者在命令行echo PATH=$PATH:/usr/sbin >>/etc/profile.将路径追加到该文件。

注:修改文件后要想马上生效还要运行# source /etc/profile不然只能在下次重进此用户时生效。要想取消某环境变量,执行unset  环境变量

设置完PATH以后就可以在任意路径下执行lsof命令啦。