OpenWrt 是一个高度可定制的嵌入式 Linux 操作系统,常用于路由器等网络设备。以下是一些常见的 OpenWrt 命令及其详细解释和示例操作:
一、系统信息相关命令
1. `uname -a`
`uname` 命令用于打印系统信息。`-a` 选项显示所有信息,包括内核名称、主机名、内核版本、内核发布日期、硬件架构等。
示例:
uname -a
输出类似于:
Linux ImmortalWrt 5.4.255 #0 SMP Sun Feb 25 04:28:13 2024 aarch64 GNU/Linux
2. `df -h`
`df` 命令用于显示文件系统的磁盘空间使用情况。`-h` 选项以人类可读的格式(如 KB、MB、GB 等)显示。
示例:
df -h
输出类似于:
Filesystem Size Used Available Use% Mounted on
/dev/root 13.3M 13.3M 0 100% /rom
tmpfs 112.5M 276.0K 112.2M 0% /tmp
/dev/ubi0_2 57.6M 7.1M 47.5M 13% /overlay
overlayfs:/overlay 57.6M 7.1M 47.5M 13% /
tmpfs 512.0K 0 512.0K 0% /dev
3. `free -m`
`free` 命令用于显示系统内存使用情况。`-m` 选项以兆字节(MB)为单位显示。
示例:
free -m
输出类似于:
total used free shared buff/cache available
Mem: 230316 76532 102692 276 51092 137920
Swap: 114684 0 114684
二、网络相关命令1. `ifconfig`
`ifconfig` 命令用于配置和显示网络接口的信息。
示例:
ifconfig
输出包含每个网络接口的详细信息,如 IP 地址、子网掩码、MAC 地址等。
2. `ping`
`ping` 命令用于测试网络连接。
示例:
ping 61.166.150.123
该命令会向指定的 IP 地址(61.166.150.123 为 云南电信的公共 DNS 服务器)发送 ICMP 回显请求,并显示响应情况。
3. `traceroute`
`traceroute` 命令用于跟踪数据包从本地主机到目标主机所经过的路由。
示例:
traceroute www.baidu.com
它会显示数据包经过的每个路由器的 IP 地址和响应时间。
root@ImmortalWrt:~# traceroute 61.166.150.123
traceroute to 61.166.150.123 (61.166.150.123), 30 hops max, 46 byte packets
1 192.168.3.1 (192.168.3.1) 0.460 ms 0.478 ms 0.521 ms
2 192.168.1.1 (192.168.1.1) 1.428 ms 1.141 ms 1.270 ms
3 10.65.0.1 (10.65.0.1) 2.284 ms 2.688 ms 2.317 ms
4 218.202.41.205 (218.202.41.205) 5.039 ms 218.202.41.209 (218.202.41.209) 4.105 ms 218.202.41.205 (218.202.41.205) 5.307 ms
5 221.183.79.17 (221.183.79.17) 15.107 ms 15.018 ms 221.183.121.85 (221.183.121.85) 15.117 ms
6 221.183.164.217 (221.183.164.217) 14.147 ms 15.021 ms 221.183.164.209 (221.183.164.209) 14.612 ms
7 221.183.151.150 (221.183.151.150) 16.830 ms 221.183.151.154 (221.183.151.154) 17.402 ms 18.281 ms
8 * * *
9 222.221.1.26 (222.221.1.26) 14.536 ms 106.60.0.130 (106.60.0.130) 17.040 ms
三、软件包管理命令OpenWrt 使用 `opkg` 进行软件包管理。
1. `opkg update`
更新软件包列表。
示例:
opkg update
2. `opkg list`
列出可用的软件包。
示例:
opkg list
3. `opkg install <package_name>`
安装指定的软件包。
示例:
opkg install luci
安装 LuCI(OpenWrt 的 Web 界面)
4. `opkg remove <package_name>`
卸载指定的软件包。
四、文件和目录操作命令1. `ls`
列出目录内容。
示例:
ls /etc
显示 `/etc` 目录下的文件和子目录。
2. `cd`
更改当前工作目录。
示例:
cd /tmp
切换到 `/tmp` 目录。
3. `mkdir`
创建新目录。
mkdir /myfolder
在根目录下创建名为 `myfolder` 的目录。
4. `rmdir`
删除空目录。
示例:
rmdir /myfolder
前提是 `/myfolder` 目录为空。
5. `rm`
删除文件或目录。
示例:
rm /myfile.txt
删除文件 `/myfile.txt` 。要删除非空目录,使用 `-r` 选项:
rm -r /mydirectory
五、进程管理命令1. `ps`
显示当前运行的进程。
示例:
ps
2. `kill`
终止进程。
示例:
kill <process_id>
其中 `<process_id>` 是要终止的进程的 ID。
六、服务管理命令1. `/etc/init.d/<service_name> start`
启动指定的服务。
示例:
/etc/init.d/dnsmasq start
启动 `dnsmasq` 服务。
2. `/etc/init.d/<service_name> stop`
停止指定的服务。
示例:
/etc/init.d/dnsmasq stop
3. `/etc/init.d/<service_name> restart`
重启指定的服务。
示例:
/etc/init.d/dnsmasq restart
七、配置文件编辑命令1. `vi` 或 `nano`
用于编辑文本文件。
示例:
vi /etc/config/network
或
nano /etc/config/network
这将打开网络配置文件进行编辑。
实例操作
假设我们要在 OpenWrt 上安装一个名为 `iptables-mod-nat` 的软件包,并检查其是否安装成功,然后配置一些网络规则。
1. 首先,更新软件包列表:
opkg update
2. 安装 `iptables-mod-nat` 软件包:
opkg install iptables-mod-nat
3. 检查安装是否成功:
opkg list-installed | grep iptables-mod-nat
如果输出中显示了 `iptables-mod-nat` ,则表示安装成功。
4. 编辑网络防火墙规则配置文件:
vi /etc/config/firewall
在文件中添加一些 iptables 规则,例如允许特定端口的访问。
5. 应用防火墙规则:
/etc/init.d/firewall restart
通过以上实例操作,我们展示了如何使用 OpenWrt 的命令进行软件包安装、配置文件编辑和服务管理。