# 命令列表

CMLeonOS 提供了丰富的命令行工具，以下是所有可用命令的详细说明。

## 系统命令

### echo

输出文本到控制台。

用法：

    echo <text>

示例：

    echo Hello World

### clear / cls

清空控制台屏幕。

用法：

    clear
    # 或
    cls

### time

显示当前时间。

用法：

    time

### date

显示当前日期。

用法：

    date

### uptime

显示系统运行时间。

用法：

    uptime

### whoami

显示当前登录的用户名。

用法：

    whoami

### sleep

暂停执行指定秒数。

用法：

    sleep <seconds>

示例：

    sleep 5

## 文件系统命令

### ls

列出当前目录下的文件和文件夹。

用法：

    ls [path]

示例：

    ls
    ls /system

### cd

切换当前工作目录。

用法：

    cd <path>

示例：

    cd /system
    cd ..

### pwd

显示当前工作目录的完整路径。

用法：

    pwd

### mkdir

创建新目录。

用法：

    mkdir <directory>

示例：

    mkdir myfolder

### rm

删除文件。

用法：

    rm <file>

示例：

    rm myfile.txt

### rmdir

删除空目录。

用法：

    rmdir <directory>

示例：

    rmdir myfolder

### cat

显示文件内容。

用法：

    cat <file>

示例：

    cat myfile.txt

### touch

创建空文件。

用法：

    touch <file>

示例：

    touch newfile.txt

### cp

复制文件。

用法：

    cp <source> <destination>

示例：

    cp file1.txt file2.txt

### mv

移动或重命名文件。

用法：

    mv <source> <destination>

示例：

    mv oldname.txt newname.txt

### rename

重命名文件。

用法：

    rename <oldname> <newname>

示例：

    rename file1.txt file2.txt

### find

在当前目录及其子目录中查找文件。

用法：

    find <filename>

示例：

    find config.txt

### tree

以树形结构显示目录内容。

用法：

    tree [path]

示例：

    tree
    tree /system

### head

显示文件的前几行。

用法：

    head <file> [lines]

示例：

    head myfile.txt 10

### tail

显示文件的后几行。

用法：

    tail <file> [lines]

示例：

    tail myfile.txt 10

### wc

统计文件的行数、字数和字节数。

用法：

    wc <file>

示例：

    wc myfile.txt

### grep

在文件中搜索文本。

用法：

    grep <pattern> <file>

示例：

    grep "hello" myfile.txt

### getdisk

显示磁盘信息。

用法：

    getdisk

## 编辑器命令

### edit

使用内置编辑器编辑文件。

用法：

    edit <file>

示例：

    edit myfile.txt

### nano

使用 Nano 编辑器编辑文件。

用法：

    nano <file>

示例：

    nano myfile.txt

## 用户管理命令

### user

管理用户账户。

用法：

    user add <username> <password>    # 添加普通用户
    user add admin <username> <password>  # 添加管理员用户
    user remove <username>              # 删除用户
    user list                          # 列出所有用户

示例：

    user add john password123
    user add admin admin adminpass
    user list
    user remove john

### cpass

修改当前用户的密码。

用法：

    cpass

### hostname

显示或设置主机名。

用法：

    hostname                    # 显示主机名
    hostname <new_hostname>    # 设置主机名

示例：

    hostname
    hostname myserver

## 网络命令

### ipconfig

显示网络配置信息。

用法：

    ipconfig

### setdns

设置 DNS 服务器。

用法：

    setdns <dns_server>

示例：

    setdns 8.8.8.8

### setgateway

设置网关地址。

用法：

    setgateway <gateway>

示例：

    setgateway 192.168.1.1

### nslookup

查询域名解析。

用法：

    nslookup <domain>

示例：

    nslookup google.com

### ping

测试网络连接。

用法：

    ping <ip_or_domain>

示例：

    ping 8.8.8.8
    ping google.com

### wget

从网络下载文件。

用法：

    wget <url>

示例：

    wget http://example.com/file.txt

### ftp

启动 FTP 服务器。

用法：

    ftp

### tcpserver

启动 TCP 服务器。

用法：

    tcpserver <port>

示例：

    tcpserver 8080

### tcpclient

连接到 TCP 服务器。

用法：

    tcpclient <ip> <port>

示例：

    tcpclient 192.168.1.100 8080

## 脚本命令

### lua

执行 Lua 脚本。

用法：

    lua <file>

示例：

    lua script.lua

### com

执行命令脚本文件。

用法：

    com <file>

示例：

    com script.cm

### branswe

执行 Branswe 脚本。

用法：

    branswe <file>

示例：

    branswe script.brs

## 实用工具命令

### calc

执行数学计算。

用法：

    calc <expression>

示例：

    calc 2+2
    calc 10*5
    calc (3+5)*2

### history

显示命令历史记录。

用法：

    history

### prompt

更改命令提示符。

用法：

    prompt <new_prompt>

示例：

    prompt $

### background

更改背景颜色。

用法：

    background <hex_color>

示例：

    background 000000
    background FF0000

### beep

播放系统提示音。

用法：

    beep

### cal

显示日历。

用法：

    cal [month] [year]

示例：

    cal
    cal 2 2026

### base64

Base64 编码和解码。

用法：

    base64 encode <text>    # 编码
    base64 decode <text>    # 解码

示例：

    base64 encode "Hello World"
    base64 decode "SGVsbG8gV29ybGQ="

### matrix

显示黑客帝国矩阵效果。

用法：

    matrix

说明：

- 显示《黑客帝国》风格的矩阵雨效果
- 绿色字符在黑色背景上显示
- 随机字符和下落速度
- 按 ESC 或 Q 键退出

### app

应用程序管理器。

用法：

    app list              # 列出所有可用应用
    app install <name>    # 安装应用
    app uninstall <name>  # 卸载应用
    app installed         # 列出已安装应用
    app help             # 显示帮助信息

示例：

    app list
    app install helloworld.lua
    app uninstall helloworld.lua
    app installed

说明：

- 应用存储在嵌入资源中
- 安装的应用保存在 `0:\apps` 目录
- 安装的应用可以使用 `lua` 命令运行

### alias

创建命令别名。

用法：

    alias                      # 列出所有别名
    alias <name> <command>     # 创建新别名

示例：

    alias ll 'ls -l'
    alias home 'cd /home'
    alias cls clear

### unalias

删除命令别名。

用法：

    unalias <name>

示例：

    unalias ll

## 系统信息命令

### version

显示系统版本信息。

用法：

    version

### settings

查看或修改系统设置。

用法：

    settings                          # 列出所有设置
    settings <key>                     # 显示指定设置的值
    settings <key> <value>           # 设置指定设置的值

示例：

    settings
    settings LoggerEnabled
    settings LoggerEnabled true
    settings LoggerEnabled false

说明：

- 设置存储在 `0:\system\settings.dat` 文件中
- 支持的设置项：LoggerEnabled（控制是否输出 Logger 日志）
- 首次启动时自动创建配置文件并填入默认值
- 如果配置文件存在但缺少某些设置项，系统会自动补充

### about

显示系统关于信息。

用法：

    about

### help

显示帮助信息。

用法：

    help [command]

示例：

    help
    help ls

## 系统控制命令

### restart

重启系统。

用法：

    restart

### shutdown

关闭系统。

用法：

    shutdown

## 备份与恢复命令

### backup

备份系统。

用法：

    backup <backup_file>

示例：

    backup mybackup.zip

### restore

恢复系统备份。

用法：

    restore <backup_file>

示例：

    restore mybackup.zip

## 测试命令

### cuitest

测试 CUI 框架。

用法：

    cuitest

### testgui

测试图形界面。

用法：

    testgui

### labyrinth

玩迷宫逃脱游戏。

用法：

    labyrinth

说明：

- 使用方向键 (↑ ↓ ← →) 移动玩家
- 按 ESC 键退出游戏
- 目标是找到出口 (E) 并逃脱迷宫
- 玩家位置用绿色 @ 表示
- 出口位置用红色 E 表示
- 迷宫使用递归回溯算法随机生成

### diff

比较两个文件的差异。

用法：

    diff <file1> <file2>

示例：

    diff file1.txt file2.txt

## 环境变量命令

### env

管理环境变量。

用法：

    env                    # 列出所有环境变量
    env <name>             # 显示指定环境变量
    env <name> <value>     # 设置环境变量

示例：

    env
    env PATH
    env MYVAR hello

## 注意事项

1. 所有命令不区分大小写
2. 使用 `help` 命令可以查看所有可用命令
3. 使用 `help <command>` 可以查看特定命令的详细帮助
4. 文件路径使用反斜杠 `\` 或正斜杠 `/` 均可
5. 支持相对路径和绝对路径