Shell看起来只是一个黑黑的命令框,刚开始接触会觉得很丑,毕竟与Win/Mac的华丽界面比起来,命令行终端直接可以丑拒了。但是,实际上它的功能要强大得多,毕竟Linux一开始就是广泛应用于服务器,通过命令行终端进行交互,命令行程序非常丰富,且功能强大,以后你会慢慢爱上终端的,毕竟先通过程序菜单找到要运行的程序,然后再点击相应的功能菜单来实现的方式,只能说是降低了操作的入门门槛,真正的强大通过输一个命令,简单改一下参数就可以快速运行,这才是王道啊!没有人会违背真香定律,是的,没有!
下面通过简单的几个命令来了解下树莓派:
lscpu
查询CPU相关信息
pi@raspberrypi4:~ $ lscpu
Architecture: armv7l
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 1
Vendor ID: ARM
Model: 3
Model name: Cortex-A72
Stepping: r0p3
CPU max MHz: 1500.0000
CPU min MHz: 600.0000
BogoMIPS: 108.00
Flags: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
可以看到,这个树莓派用的是4核的ARM处理器,最高频率可以达到1500MHz,我用的树莓派4B版本。
free
查询内存使用情况
pi@raspberrypi4:~ $ free -h
total used free shared buff/cache available
Mem: 3.4Gi 269Mi 252Mi 48Mi 2.9Gi 2.9Gi
Swap: 99Mi 23Mi 76Mi
可以看到,内存总量是3.4GB,其他列还显示了已用(used)和可用(free)的内存空间。(我使用的是树莓派4B的4GB内存版本,由于显存是共享内存的,我划分了500MB的内存用于显存,所以内存总量显示3.4GB。)本命令增加了选项-h
,显示结果更方便读取,如果不加选项的话,默认是以字节为单位显示的。
pi@raspberrypi4:~ $ free
total used free shared buff/cache available
Mem: 3557628 275424 258740 50068 3023464 3073320
Swap: 102396 24064 78332
fdisk
查看存储情况
pi@raspberrypi4:~ $ sudo fdisk -l
#省略部分输出
Device Boot Start End Sectors Size Id Type
/dev/mmcblk0p1 8192 532479 524288 256M c W95 FAT32 (LBA)
/dev/mmcblk0p2 532480 62333951 61801472 29.5G 83 Linux
该命令前面增加了sudo
,是由于fdisk
命令的运行需要特殊权限,sudo
提供了系统管理员的身份来执行后面的命令,否则就会提示权限不足。
从结果的最后两行可以看出,存储空间(对于树莓派来说即是SD卡)被分为了两个分区,一个分区256MB的W95 FAT分区,专门用于树莓派的开机启动,另一个分区29.5GB的Linux分区,用于存储其他的所有数据。
uname
显示操作系统相关信息
pi@raspberrypi4:~ $ uname -a
Linux raspberrypi4 4.19.75-v7l+ #1270 SMP Tue Sep 24 18:51:41 BST 2019 armv7l GNU/Linux
选项-a
表示显示所有信息。这里可以看出,系统使用的内核版本是Linux 4.19.75,后面是内核发布时间2019年9月24日。
ifconfig
查看网络接口
pi@raspberrypi4:~ $ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.54 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::5e05:c235:4dd:3b53 prefixlen 64 scopeid 0x20<link>
ether dc:a6:32:28:15:5f txqueuelen 1000 (Ethernet)
RX packets 24702945 bytes 1961712790 (1.8 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 17687861 bytes 2484313544 (2.3 GiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 64181 bytes 37372243 (35.6 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 64181 bytes 37372243 (35.6 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.68.1 netmask 255.255.255.0 broadcast 192.168.68.255
inet6 fe80::a0ef:56be:9272:981 prefixlen 64 scopeid 0x20<link>
inet6 240e:398:9881:62a0::1 prefixlen 128 scopeid 0x0<global>
inet6 240e:398:9881:62a0:424:b386:145:8d40 prefixlen 64 scopeid 0x0<global>
ether dc:a6:32:28:15:60 txqueuelen 1000 (Ethernet)
RX packets 6 bytes 1643 (1.6 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 56 bytes 10666 (10.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
其中,eth0
代表了以太网接口,wlan0
代表WiFi接口,lo
是虚拟出来的本地地址,用来表示本机。从上述输出中可以看到树莓派的网络地址信息,例如,以太网地址是192.168.1.54。
- 树莓派专用命令
上述的命令都是Linux系统通用的,而接下来简要介绍下树莓派提供的vcgencmd
命令,用于和树莓派的硬件直接交互。
pi@raspberrypi4:~ $ vcgencmd measure_temp
temp=56.0'C
上述命令中,通过设置measure_temp
选项,返回树莓派的CPU核心温度。
pi@raspberrypi4:~ $ vcgencmd measure_volts
volt=0.8472V
上述命令中,通过设置measure_volts
选项,返回树莓派的核心电压。
本期就先到这里,后续我们还将继续探索树莓派Shell,以及一些强大有趣的命令。
欢迎关注我的公众号,持续更新中~~~