当前位置: 首页 > news >正文

Linux 有哪些功能相似的命令

Linux 命令系统的一个强大之处在于,同一个任务往往有多种实现方式,这得益于其“一个工具只做好一件事”的哲学,但也因此产生了许多功能相似或重叠的命令。

下面我将从不同任务角度,列举一些功能相似的命令,并解释它们之间的细微差别。


1. 文件列表(ls 的替代品)

  • ls: 最经典、最常用的列表命令。

  • dir: 在大多数 Linux 系统中,这实际上是 ls 的一个别名,行为与 ls 几乎完全相同。它主要为了照顾从 Windows/DOS 转过来的用户习惯。

  • vdir: 相当于 ls -l,默认以长格式列出文件详细信息。

  • exa / lsd: 现代替代品。它们是 ls 的增强版,默认支持颜色、图标、更好的布局(树状图),并且对 Git 状态等有更好的集成。需要额外安装

  • tree: 以树状图形式列出目录内容,非常直观地显示文件层级关系。

区别:

  • ls 是标准工具,所有系统都有。

  • exa/lsd 更美观,功能更现代化。

  • tree 专注于展示层级结构。


2. 文件查看(cat 的兄弟姐妹)

  • cat: 连接文件并打印到标准输出。适合查看整个短文件。

  • less: 最常用的文件查看器。支持上下翻页、搜索、跳转等,适合查看长文件(推荐大多数时候使用 less

  • moreless 的前身,功能比 less 弱(例如不能向上翻页)。在需要向上翻页的场景下,基本已被 less 取代。

  • head: 只看文件开头的几行(默认10行)。

  • tail: 只看文件末尾的几行(默认10行),常用 -f 参数来实时追踪日志文件的新增内容。

  • bat: 现代替代品。一个带有语法高亮、Git 集成和自动分页的 cat 克隆。需要额外安装

区别:

  • cat 一次性输出全部内容。

  • less/more 用于交互式分页查看。

  • head/tail 用于查看文件的特定部分。

  • bat 提供更佳的阅读体验。


3. 查找文件

  • find: 最强大、最经典的递归文件查找工具。可以根据文件名、类型、大小、修改时间、权限等几乎所有元数据进行搜索,并能对搜索结果执行操作。

  • locate: 基于数据库的快速查找。它搜索一个预建的文件名数据库,速度极快,但无法查找新创建的文件(除非更新数据库 updatedb),并且只能根据文件名查找。

  • fd: 现代替代品。一个更简单、更快、对用户更友好的 find 替代品。默认忽略隐藏文件和 .gitignore 中的文件,输出带颜色。需要额外安装

  • which: 在 $PATH 环境变量中查找可执行文件的位置。

  • whereis: 查找二进制文件、源代码和手册页的位置。

区别:

  • find 功能最全,但语法稍复杂。

  • locate 速度最快,但结果可能不是实时的。

  • fd 在易用性和速度上取得了很好的平衡。


4. 文本处理(grep 的伙伴们)

  • grep: 使用正则表达式全局搜索文本,并打印匹配的行。是文本搜索的瑞士军刀。

  • ack: 专为程序员设计的代码搜索工具,默认递归搜索,忽略版本控制目录,输出高亮。

  • ag (The Silver Searcher): 比 ack 更快的工具,用法类似。

  • rg (ripgrep): 目前公认最快的文本搜索工具。默认递归,尊重 .gitignore,速度极快。强烈推荐安装

  • sed: 流编辑器,用于对文本进行过滤和转换(如替换、删除、打印特定行)。

  • awk: 更强大的文本分析工具,几乎是一门编程语言,擅长处理结构化文本(如 CSV)。

区别:

  • grep 主要用于查找包含特定模式的行。

  • ack/ag/rg 是专门为搜索代码优化的 grep 增强版。

  • sed 主要用于编辑文本流。

  • awk 主要用于分析和报告文本数据。


5. 进程查看

  • ps: 显示当前进程的快照。功能强大,参数繁多。

  • top: 经典的交互式进程查看器,动态显示系统资源和进程状态。

  • htoptop 的增强版,具有更美观的界面,支持鼠标操作,垂直和水平滚动,更方便地杀死进程等。强烈推荐安装

  • pstree: 以树状图形式显示进程,可以清楚地看到进程间的父子关系。

  • pgrep / pkill: 根据进程名和其他属性来查找 (pgrep) 或发送信号 (pkill) 给进程,比 ps | grep 再用 kill 更方便。

区别:

  • ps 用于获取一次性的进程列表。

  • top/htop 用于实时监控。

  • pstree 用于查看进程关系。

  • pgrep/pkill 用于快速操作进程。


6. 网络诊断

  • ping: 测试与目标主机的网络连通性和延迟。

  • traceroute / tracepath: 显示数据包到达目标主机所经过的路由路径。tracepath 不需要 root 权限。

  • mtrping 和 traceroute 的结合体,能实时持续地显示到每个路由节点的延迟和丢包率。

  • ss: 用于转储套接字统计信息。现代替代 netstat 的工具,更快更高效。

  • netstat: 传统的网络统计工具,功能强大,但正在被 ss 和 ip route 等取代。

  • dig: 强大的 DNS 查询工具,输出详细。

  • nslookup: 另一个 DNS 查询工具,交互式和非交互式均可,但功能不如 dig 丰富。

区别:

  • ping 检查连通性。

  • traceroute/mtr 检查路径。

  • ss/netstat 检查本地网络连接和端口。

  • dig/nslookup 检查 DNS 解析。


7. 磁盘空间查看

  • df: 报告文件系统磁盘空间的使用情况(查看磁盘还剩多少空间)。

  • du: 估算文件和目录的磁盘使用空间(查看某个文件/目录占了多大空间)。

  • ncdudu 的交互式文本界面版本,可以方便地浏览和删除文件来释放空间。需要额外安装

区别:

  • df 看整体磁盘用量。

  • du 看具体目录/文件的用量。

  • ncdu 是交互式、可视化的 du

总结

任务经典/基础命令现代/增强命令
文件列表lsexalsd
文件查看catlessbat
查找文件findlocatefd
文本搜索grepackagrg
进程查看pstophtop
网络诊断pingnetstatmtrss
磁盘分析dfduncdu

掌握这些命令的经典版本是基础,了解它们的现代替代品则可以极大地提升你在 Linux 环境下的工作效率和舒适度。

http://www.dtcms.com/a/520403.html

相关文章:

  • 外贸推广网站冲压加工瑞安有做网站吗
  • 【开题答辩实录分享】以《租房小程序的设计和实现》为例进行答辩实录分享
  • vscode debug Transformer源码说明
  • 仓颉语言核心特性深度解析:类型系统与内存安全实践
  • IP 地址 (Internet Protocol Address) 详细介绍
  • PHP网站开发常用函数房城乡建设部网站
  • 开源的SSR框架都是怎么实现的?
  • RLVR训练多模态文档解析模型-olmOCR 2技术方案(模型、数据和代码均开源)
  • AI 领域热门方向或代表性技术/模型
  • MySQL 体系结构、SQL 执行与设计范式
  • 个人网站如何搭建国家企业信用信息网官网
  • MySQL学习之SQL语法与操作
  • “麻烦您了”英语怎么说?
  • 临时上线没有回滚方案会怎样
  • 哪个网站做高仿衣服中小学网站建设建议
  • Linux 中的 DNS 工作原理(二):各级 DNS 缓存
  • vip影视网站如何做app建设电子商务网站的预期收益
  • 从 DeepWalk 到 Node2Vec:如何让图学习“更聪明”?
  • leetcode合并有序链表
  • 知识图谱遇上大语言模型:天作之合还是理想泡影?
  • Kafka入门:基础架构讲解,安装与使用
  • 深圳seo网站推广报价wordpress导航栏的文件在哪
  • 电手术刀VS神经调音师:解密电刺激技术差异
  • lance + duckdb 替代 parquet + pandas
  • CHIA考试报告手册
  • Linux操作系统学习之---线程互斥(互斥锁)
  • 【物联网控制体系项目实战】—— 整体架构流程与 WS 实现
  • dedecms网站后台模板做汽车网站费用
  • 做网站就上房山华网天下大型网站如何开发
  • 从「能用」到「可靠」:深入探讨C++异常安全