威联通 后台可用命令查看Bash

一、查看所有可用命令的方法

  1. 列出所有外部命令(二进制文件)
    外部命令通常存放在系统路径(如 /bin, /usr/bin, /sbin, /usr/sbin)中:
    bash
    ls /bin /usr/bin /sbin /usr/sbin # 直接列出命令目录(结果较长,可配合分页工具)
    ls /bin /usr/bin | more # 分页查看(按空格翻页)
  2. 列出 Shell 内置命令
    Bash 内置命令(如 cd, echo, source 等):
    bash
    help -d # 显示所有内置命令(简洁列表)
    compgen -b # 列出所有内置命令(更详细)
  3. 列出所有别名
    用户自定义或系统预设的命令别名:
    bash
    alias # 列出所有别名(如 alias ll='ls -l')
  4. 使用 compgen 命令(Bash 专用)
    生成所有可用命令(包括内置命令、外部命令和别名):
    bash
    compgen -c # 列出所有命令(按字母排序)
    compgen -c | less # 分页查看
  5. 查看系统路径下的所有命令
    通过环境变量 PATH 查看命令搜索路径,并列出所有文件: bash echo PATH # 查看路径(多个路径用冒号分隔,如 /usr/local/bin:/usr/bin:/bin)
    for dir in (echo PATH | tr ':' ' '); do ls $dir; done # 遍历路径并列出命令
    二、常用过滤和搜索技巧
  6. 搜索特定命令
    bash
    which <命令> # 查找命令路径(如 which ls)
    whereis <命令> # 查找命令及相关文件(二进制、手册、源代码)
    type <命令> # 查看命令类型(内置/外部/别名,如 type cd)
  7. 模糊搜索命令
    bash
    compgen -c | grep <关键词> # 搜索包含关键词的命令(如 compgen -c | grep 'tar')
    ls /usr/bin | grep <关键词> # 搜索特定目录下的命令
    三、示例:常用命令组合
    查看所有外部命令(分页显示):
    bash
    ls /bin /usr/bin | sort | less

列出内置命令并过滤(如查找含 echo 的命令):

bash

help -d | grep echo

查看所有别名(自定义命令):

bash

alias

生成完整命令列表(含路径):

bash

find /bin /usr/bin -maxdepth 1 -executable -type f # 查找所有可执行文件

四、注意事项

权限问题:

部分目录(如 /sbin, /usr/sbin)需要管理员权限才能访问,普通用户可能看不到全部命令。

命令重复:

不同目录下可能有同名命令(如 /bin/ls 和 /usr/bin/ls 通常是同一个文件)。

动态命令:

某些命令(如脚本)可能存放在用户自定义路径(如 ~/.local/bin),需包含在 $PATH 中。

五、总结:快速获取命令列表

需求 命令示例 说明

所有外部命令 ls /bin /usr/bin 基础命令和用户命令

所有内置命令 help -d 或 compgen -b Bash 内置功能(如 cd, source)

所有别名 alias 用户或系统定义的快捷方式

搜索特定命令 which <命令> 或 whereis <命令> 定位命令路径

完整命令列表(含路径) find /bin /usr/bin -executable -type f 适合脚本批量处理

六、扩展:命令类型说明

内置命令(Built-in Commands):

直接编译到 Shell 中的命令(如 cd, exit),执行效率高,无独立文件。

外部命令(External Commands):

独立的二进制文件或脚本(如 /bin/ls, /usr/bin/apt),存放在文件系统中。

别名(Aliases):

用户自定义的快捷方式(如 alias ll='ls -l'),通过 alias 命令管理。

函数(Functions):

用户定义的 Shell 函数(类似脚本),通过 type 命令区分(如 type myfunc)。

通过以上方法,你可以全面查看当前 Linux 系统中可用的命令。实际操作中,结合 grep、sort、less 等工具可更高效地过滤和浏览结果。如果需要某个命令的详细用法,随时用 man <命令> 或 <命令> --help 查看文档! 🐧

相关推荐
WWJA王文举10 小时前
I²C通信完整流程详解:START、地址、ACK、数据、Repeated START和STOP一次讲透
c语言·开发语言
zhanghaha131411 小时前
Python进阶教程:6_JSON 数据解析 —— 新手完全指南
开发语言·python·json
qq_4480111612 小时前
C语言中的动态内存分配
c语言·开发语言·php
汉字萌萌哒13 小时前
2024CSP-J入门级C++真题详解
开发语言·c++
arbboter13 小时前
【网络工具】NetProxy网络代理用户手册
开发语言·网络·c#·网络代理·网络异常·代理工具
汉字萌萌哒14 小时前
2019CCF-CSP入门级C++试题解析
java·开发语言·c++
叠层归一研究院14 小时前
AGI 系统(十一):二阶网络 — 二阶递归 × 多主体 (元符号网络)
开发语言·人工智能·算法·php·agi
小雨笙笙14 小时前
C语言:变量三属性——存储类型
c语言·开发语言
果果燕15 小时前
C++ 学习笔记(二):类与对象—— 构造函数与析构函数
开发语言·c++
江畔柳前堤15 小时前
Function Calling 与 Tool Calling:从认知到工程的全景深度解析
开发语言·网络·人工智能·深度学习·算法·机器学习·php