lsof 用于列出当前系统打开的文件(list open files)。在某些 Linux 系统中,可能需要使用 lsof包来安装lsof。在 Linux 中,几乎任何和系统的交互都被视为一个文件。因此,如果你的应用程序写入文件或代开网络连接,lsof 将会把这个交互映射为一个文件。与 netstat 类似,可使用 lsof 来检查侦听端口。例如,如果要检查 80 端口是否正在被使用,可使用 lsof 来检查哪个进程正在使用它。下面的示例中,可以看到 httpd (Apache) 在 80 端口上侦听。还可以使用 lsof 来检查 httpd 的进程ID,检查 Web 服务器的二进制文件所在位置(/usr/sbin/httpd)。 Lsof 表明了 httpd 在 80 端口上侦听。检查 httpd 的进程ID还可以显示所有需要运行的文件httpd。 打开文件列表中的打开文件的名称有助于确定进程的来源,特别是 Apache。 13. df 可以使用 df 显示空闲的磁盘空间(display free disk space)以排查磁盘空间问题。挡在容器管理器上运行应用程序时,可能会收到一条错误信息,提示容器主机上缺少可用空间。虽然磁盘空间应该由系统管理程序来管理和优化,atv,你仍可以使用 df 找出目录中的现有空间并确认是否没有空间。 Df 显示每个文件系统的磁盘空间、绝对空间以及其可用性。 -h 选项表示以可读性较高的方式来显示信息,上面的例子表示这个主机具有大量的磁盘空间。 14. du du 命令也是用于查看使用空间的,但是与 df 命令不同的是 du 命令是对文件和目录磁盘使用的空间的查看,要获取有关哪些文件在目录中使用磁盘空间的更多详细信息,可以使用 du 命令,和 df 命令还是有一些区别的。例如,你想了解那个日志文件占用 /var/log 目录最多的空间,可以使用 du 命令加上 -h 选项和用于获取总大小的 -s 选项。 上面的示例中显示了 /var/log 下的的最大目录为 /var/log/audit。可以将 du 和 df 搭配使用,以确定在应用程序的主机上使用的磁盘空间。 15. id 要检查运行应用程序的用户,可使用 id 命令来返回用户身份。id 命令可以显示真实有效的用户ID(UID)和组ID(GID)。下面的示例使用 Vagrant来测试应用程序并隔离其开发环境。登录进 Vagrant 盒子后,如果尝试安装 Apache HTTP Server(依赖关系),系统会提示你需要以 root 身份执行该命令。要检查你的用户ID和组ID,使用 id 命令,会发现你正在"vagrant"组中以"vagrant"用户身份运行。 要解决此问题,必须以超级用户的身份运行该命令,这将提供提升的权限。 16. chmod chmod 命令用来变更文件或目录的权限。当你在主机上首次运行应用程序的二进制文件时,可能会收到错误提示信息“拒绝访问”。如 ls 的示例所示,可以用于检查应用程序二进制文件的权限。 这表明您没有权限(没有“x”)来运行二进制文件。chmod 可以修改权限,使的用户能够运行二进制文件。 如例子所示,这将更新权限,使其具有可执行的权限。现在当你尝试执行二进制文件时,应用程序不会抛出拒绝访问的错误。当将二进制文件加载到容器时,Chmod 可能很有用。它能保证容器具有合适的权限以执行二进制文件。 17. dig / nslookup dig 命令是常用的域名查询工具,可以用来测试域名系统工作是否正常。域名服务器(DNS)有助于将 URL 解析为一组应用程序服务器。然而,你会发现有些 URL 不能被解析,这会导致应用程序的连接问题。例如,假如你尝试从应用程序的主机访问你的数据库。你收到一个"不能解析"的错误。要进行故障排查,你尝试使用 dig(DNS 查询工具)或 nslookup(查询 Internet 域名服务器)来确定应用程序似乎无法解析数据的原因。 使用 nslookup 显示无法解析 mydatabase。尝试使用 dig 解决,但仍是相同的结果。 (责任编辑:本港台直播) |