菜鸟科技网

Linux查询命令有哪些?

Linux作为一款功能强大的开源操作系统,其查询命令是用户日常操作和系统管理中的核心工具,这些命令能够帮助用户快速获取文件、进程、网络、硬件设备等各类信息,从而高效地完成系统监控、故障排查和任务管理,以下将详细介绍Linux中常用的查询命令,涵盖文件、进程、网络、硬件等多个方面。

Linux查询命令有哪些?-图1
(图片来源网络,侵删)

在文件和目录查询方面,ls命令是最基础也是最常用的工具,通过ls -l可以查看文件的详细信息,包括权限、所有者、大小、修改时间等;而ls -a则会显示包括隐藏文件在内的所有文件,当需要查找特定文件时,find命令提供了强大的功能,例如find / -name "filename.txt"可以在根目录下递归查找名为"filename.txt"的文件,find / -type f -size +10M则可以查找大于10MB的普通文件,与find相比,locate命令基于数据库查询,速度更快,但数据库可能不是最新的,使用前需通过updatedb更新,对于文本内容搜索,grep命令不可或缺,grep "keyword" file.txt能在文件中搜索包含关键词的行,而grep -r "keyword" /path则可递归搜索目录下的所有文件。catmoreless等命令用于查看文件内容,其中less支持分页和上下翻页,适合查看大文件。

进程查询是系统管理的重点,ps命令用于查看当前运行的进程。ps -ef显示所有进程的详细信息,ps aux则以用户友好的格式展示进程资源占用情况,若要实时监控进程变化,tophtop是非常实用的工具,top按CPU和内存使用率排序进程,而htop以彩色界面和更直观的操作提供了增强版的监控体验,查找特定进程时,pgrep "processname"能直接返回进程ID,而pidof命令则通过进程名获取PID,对于进程的详细信息,如打开的文件和网络连接,lsof -p PID可查看指定进程的资源占用情况。

网络状态查询方面,ifconfigip命令用于查看和配置网络接口,ifconfig显示接口的IP地址、子网掩码等信息,而ip addr show是更现代的替代命令。netstatss用于查看网络连接状态,netstat -tuln显示所有监听端口及协议,ss -tuln则提供了更快速、更详细的信息。ping命令通过发送ICMP包测试网络连通性,traceroutetraceroute可追踪数据包到目标主机的路径,若要查询域名对应的IP地址,nslookup domain.comdig domain.com是常用工具,后者提供更详细的DNS解析信息。

硬件和系统信息查询同样重要。lscpu显示CPU的架构、核心数、缓存等详细信息,lspci列出所有PCI设备,如显卡、网卡等,lsusb则用于查看USB设备,内存信息可通过free -h查看,-h参数以人类可读的格式显示内存总量、已用和空闲情况,磁盘和分区信息查询中,df -h显示各分区的使用率,du -sh /path则统计指定目录的磁盘占用大小,系统版本信息可通过uname -a获取,显示内核名称、版本、主机名等,而cat /etc/os-release则详细列出发行版信息,如Ubuntu、CentOS等。

Linux查询命令有哪些?-图2
(图片来源网络,侵删)

以下表格总结了部分常用查询命令及其功能:

命令 功能描述 常用选项示例
ls 列出目录内容 -l(详细信息)、-a(包含隐藏)
find 递归查找文件 -name(按名)、-type(按类型)
grep 搜索 -r(递归)、-i(忽略大小写)
ps 查看进程状态 -ef(所有进程)、aux(资源占用)
top 实时监控进程 -d(刷新间隔)
netstat 查看网络连接 -tuln(监听端口)
ip 查看网络接口 addr show(显示地址)
free 查看内存使用 -h(人类可读)
df 查看磁盘分区使用 -h(人类可读)
uname 显示系统信息 -a(所有信息)

掌握这些查询命令后,用户可以更高效地管理和维护Linux系统,以下是一些常见问题及解答:

FAQs

  1. 问:findlocate命令有什么区别?如何选择使用?
    答:find命令通过实时遍历文件系统查找文件,功能强大但速度较慢,适合需要精确匹配或复杂条件(如按大小、时间查找)的场景;locate基于数据库查询,速度极快,但数据库可能不是实时更新的(需手动执行updatedb),适合快速查找已知文件名的简单场景,若文件系统未变化,优先使用locate;若需精确查找或数据库未更新,则使用find

    Linux查询命令有哪些?-图3
    (图片来源网络,侵删)
  2. 问:如何查看某个进程占用的网络端口?**
    答:可以通过lsof命令结合进程ID(PID)查看,例如lsof -i :端口号可查看指定端口的进程,而lsof -p PID可查看指定进程的所有网络连接,若已知进程名,可先用pgrep获取PID,再结合lsof查询,例如pgrep "nginx"获取Nginx进程的PID后,执行lsof -p <PID>查看其占用的端口和连接详情。

分享:
扫描分享到社交APP
上一篇
下一篇