Shell看起来只是一个黑黑的命令框,刚开始接触会觉得很丑,毕竟与Win/Mac的华丽界面比起来,命令行终端直接可以丑拒了。但是,实际上它的功能要强大得多,毕竟Linux一开始就是广泛应用于服务器,通过命令行终端进行交互,命令行程序非常丰富,且功能强大,以后你会慢慢爱上终端的,毕竟先通过程序菜单找到要运行的程序,然后再点击相应的功能菜单来实现的方式,只能说是降低了操作的入门门槛,真正的强大通过输一个命令,简单改一下参数就可以快速运行,这才是王道啊!没有人会违背真香定律,是的,没有!

下面通过简单的几个命令来了解下树莓派:

  1. 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版本。

  1. 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
  1. 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分区,用于存储其他的所有数据。

  1. 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日。

  1. 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。

  1. 树莓派专用命令

上述的命令都是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,以及一些强大有趣的命令。

欢迎关注我的公众号,持续更新中~~~

来感受Linux命令行的“真香定律”的更多相关文章

  1. Linux命令行与Shell脚本编程大全

    快来参加<Linux命令行与Shell脚本编程大全>学习吧,提升技能,展示自我. 点击链接即可进入学习:https://s.imooc.com/WTmCO6H 课程亮点适合零基础读者,从零 ...

  2. Linux 命令行下搜索工具大盘点,效率提高不止一倍!

    在 Linux 命令行下进行文本关键字的搜索,大家肯定第一时间会想到 grep 命令.grep 命令确实十分强大,但如果需要用到它更加灵活的功能时,可能命令就会显得十分复杂. 于是,为了简化 grep ...

  3. 你以为只有马云会灌鸡汤?Linux 命令行也会!

    你以为只有马云会灌鸡汤?Linux 命令行也会! "Linux 太南了o(╥﹏╥)o","我累了不想奋斗了o(︶︿︶)o"... 不知道你有没有想过,在你快丧失 ...

  4. 像黑客一样使用 Linux 命令行

    前言 之前在博客园看到一篇介绍 IntelliJ IDEA 配置的文章,它里面用的是 gif 动态图片进行展示,我觉得很不错.所以在我今天以及以后的博文中,我也会尽量使用 gif 动图进行展示.制作 ...

  5. 详解Linux命令行下常用svn命令

    1.Linux命令行下将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/do ...

  6. linux 命令行 光标移动技巧

    linux 命令行 光标移动技巧 看一个真正的专家操作命令行绝对是一种很好的体验-光标在单词之间来回穿梭,命令行不同的滚动.在这里强烈建立适应GUI节目的开发者尝试一下在提示符下面工作.但是事情也不是 ...

  7. 在linux命令行下执行php 程序

    如何在linux命令行下,执行php程序. 例子 打印当前时间 php -r "echo time()" 随机输出一个数字 php -r "echo rand(1,20) ...

  8. git代理,windows命令行代理,linux命令行代理

    下载不动设置代理:git config --global http.proxy http://127.0.0.1:1080git config --global https.proxy https:/ ...

  9. [转]12款最佳Linux命令行终端工具

    摘要 “工欲善其事必先利其器”,作为菜鸟,也是从别人那里偷学来的一些东东.今天看到同事用到一个终端命令行工具,觉得自己弱爆了.然后在网上搜了下该工具.发现类似的工具还是挺多的,只是自己不知道罢了. 原 ...

随机推荐

  1. EasyRecovery——信息时代的“后悔药”

    前几日,小编在豆瓣潜水的时候看到这么一个帖子,说是一对小情侣吵架,女方一气之下把男方的博士论文和资料全删了,求一个办法让男友消气. 站在吃瓜的角度,小编和广大群众看法一致,希望两人直接分手,放男方一条 ...

  2. 14.java设计模式之命令模式

    基本需求: 一套智能家电,有照明灯.风扇.冰箱.洗衣机,我们只要在手机上安装app就可以控制对这些家电工作 这些智能家电来自不同的厂家,我们不想针对每一种家电都安装一个App分别控制,我们希望只要一个 ...

  3. 记录一次tomcat问题排查记录:org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19

    最近项目升级jdk,从jdk7 升级到 jdk8,本地已经自测完成了,需要部署到测试环境,测试环境已经装好 jdk8 了,但是tomcat 的版本还是 7.不过,据我之前了解,tomcat7是可以运行 ...

  4. Java基础教程——运算符

    运算符 算术运算符 加 减 乘 除 取余 自加 自减 + - * / % ++ -- public class 算术运算符 { public static void main(String[] arg ...

  5. GitHub 上 1.3k Star 的 strman-java 项目有值得学习的地方吗?源码视角

    大家好,我是沉默王二. 很多初学编程的同学,经常给我吐槽,说:"二哥,你在敲代码的时候会不会有这样一种感觉,写着写着看不下去了,觉得自己写出来的代码就好像屎一样?" 这里我必须得说 ...

  6. Java集合【5】-- Collections源码分析

    目录 一.Collections接口是做什么的? 二.Collections源码之大类方法 1.提供不可变集合 2.提供同步的集合 3.类型检查 4.提供空集合或者迭代器 5.提供singleton的 ...

  7. 学习关注:学习C++的前景

    许多朋友都有这样的疑问,学习C/++能做什么?有什么好处?薪资怎么样,下面就为大家来解答! 像前面的文章有提到过,计算机专业位列热门专业第一门,可想前景如何.C语言C++属于高级语言,适合人类编写,现 ...

  8. spring与分布式事务

    转载:https://www.cnblogs.com/qianjun2017/p/8349829.html 转载:https://blog.csdn.net/jaryle/article/detail ...

  9. Flink实战(102):配置(一)管理配置

    来源:http://www.54tianzhisheng.cn/2019/03/28/flink-additional-data/ 前言 如果你了解 Apache Flink 的话,那么你应该熟悉该如 ...

  10. PyQt(Python+Qt)学习随笔:QTreeWidgetItem项获取项的父项或子项

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 树型部件QTreeWidget中的QTreeWidgetItem项,可以通过child(int in ...