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. SMBv3远程代码执行漏洞复现(CVE-2020-0796)

    漏洞基本信息 服务器消息块(SMB),是一个网络通信协议,用于提供共享访问到文件,打印机和串行端口的节点之间的网络上.它还提供了经过身份验证的进程间通信机制.SMB的大多数用法涉及运行Microsof ...

  2. Linux bash反弹shell原理引起的一点思考

        最近,一起做安全测试的兄弟问我:Linux反弹shell的命令是什么,我毫不犹豫地在笔记中找到发给了他,可是脑海中突然闪过有个疑问,为啥这样能反弹shell呢,用了那么多次却从来没有想过这个问 ...

  3. 计算机&编程语言发展史

    计算机&编程语言发展史 编辑于2020-11-18 计算机的基本组成 计算机的发展经历了哪几代? 第一代 电子管计算机 第二代 晶体管计算机 第三代 集成电路计算机 第四代 大规模和超大规模集 ...

  4. springboot实战开发全套教程,让开发像搭积木一样简单!Github星标已上10W+!

    前言 先说一下,这份教程在github上面星标已上10W,下面我会一一给大家举例出来全部内容,原链接后面我会发出来!首先我讲一下接下来我们会讲到的知识和技术,对比讲解了多种同类技术的使用手日区别,大家 ...

  5. 实在是秒啊,我还从来没见过把Spring之AOP讲的这么通俗易懂的,安排!

    Spring之AOP 什么是AOP? AOP 为 Aspect Oriented Programming 的缩写,意思为面向切面编程,是通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术. ...

  6. 攻克弹唱第七课(如何弹奏neon)

    在本期文章中,笔者将通过Guitar Pro 7来跟大家研究一下neon的曲谱,顺便复习一下之前文章中说过的和弦技巧. 在<如何在指板上寻找特殊和弦(二)>这一期课程中,我们分析过如何使用 ...

  7. 简单实用的Boom 3D进阶使用教程分享

    对于初学者来说,简单体验Boom 3D的3D环绕音效,就可以通过普通耳机享受到高品质耳机的动人音效.而对于进阶者来说,Boom 3D灵活的预设功能,能让其享受到自由调整均衡器.低音的乐趣. 图1:Bo ...

  8. java学生简单管理系统

    1 //设一个班有n名学生,期末考试5门,编写程序评定学生奖学金 2 514 //要求打印输出一二等奖学金学生的学号,姓名和各科成绩 3 515 //总成绩超过全班总平均成绩20%一等奖学金,超过总平 ...

  9. 01_Activity生命周期及传递数据

    1. Activity的生命周期: 2. Activity启动另一个Activity,并传递数据: package com.example.activitydemo; import android.a ...

  10. Redis/Mysql/SQLite/MongoDB 数据库对比

    一.Redis: redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(so ...