《树莓派Python编程入门与实战》——2.2 使用Raspbian命令行

简介:

本节书摘来异步社区《树莓派Python编程入门与实战》一书中的第2章,第2.2节,作者:【美】Richard Blum,更多章节内容可以访问云栖社区“异步社区”公众号查看

2.2 使用Raspbian命令行

树莓派Python编程入门与实战
树莓派第一次启动的时候,没有要求你提供用户名和密码。然而,在初始化启动之后的所有后续启动中,你都会看到Raspbian的登录屏幕。清单2.1显示了如何登录树莓派。默认情况下,输入用户名pi和密码raspberry就可以了。注意在你输入密码的时候,屏幕上不会显示任何东西,这是正常的。

清单2.1 登录树莓派

Debian GNU/Linux 7.0 raspberrypi tty1
raspberrypi login: pi
Password:
Last login: Wed Apr 17 20:34:50 UTC 2013 on tty1
Linux raspberrypi 3.6.11+ #371 PREEMPT Thu Feb 7 16:31:35 GMT 2013 armv6l
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
pi@raspberrypi ~ $

成功登录后,你可以看到清单2.1所示的信息。Raspbian的提示符看起来就像这样:

pi@raspberrypi ~ $```
这也被叫做Linux命令行。通过使用命令行,你可以输入命令完成不同的任务。要让命令生效,其大小写要正确,并按回车键提交。

技巧:
 Linux shell是什么?

当你在命令行输入命令时,你就在使用一种特殊的功能叫做Linux shell。Linux shell是一个交互式的功能,可以让你运行程序、管理文件、控制进程等。有若干种不同的Linux shell,Raspbian默认使用dash shell。
清单2.2显示了输入whoami命令后的返回。whoami命令会显示键入命令的用户是谁。在当前情况下,你可以看到是用户pi输入了命令。

清单2.2 在命令行输入一条命令

pi@raspberrypi ~ $ whoami
pi
pi@raspberrypi ~ $`
你可以用Linux命令行做很多事情。表2.1列出的一些命令可以在你开始学习Python编程的时候提供帮助。

b42aee5d354ad4968d312b7db21b96ff8d232965

在接下来的动手实验,你可以开始使用这些命令以便更好的理解它们。

登录并使用一些命令行命令
在本节,你将会在Raspbian命令行中使用一些命令。你将在下面看到操作步骤,出人意料的是使用命令行一点也不难。

1.给你的树莓派通上电。你会看到很多启动消息滚过屏幕。这些消息能提供很多信息,最好养成看这些消息的习惯。可能你不知道它们是什么意思,但是不用担心。随着时间的推移,你将会知道。

2. 在raspberrypi login: 提示符后,键入pi并且按回车键;然后你会看到Password: 提示符。

3.在Password:提示符之后,输入raspbian并且按回车键。如果成功,你将会看到pi@raspberrypi ~ $提示符;如果没有成功,你会看到消息“登录错误”并且会再次看到raspberrypi login:提示符。

提示:
 空密码

如果你从来没有使用过Linux命令行登录,你可能会感到奇怪,让你输入密码的时候什么都不显示。通常情况下,在图形用户界面,当你输入密码时,每一个字符都会被显示成点或者星号;而在Linux命令行中,你输入密码时则什么都不显示。
4.在pi@raspberrypi ~ $提示符之后,输入whoami并且按回车键。你应该看到单词pi被显示出来,然后在下一行,又一个pi@raspberrypi ~ $提示符会被显示出来。

5.现在,在提示符后输入命令calendar并且按下回车。你可以看到关于今天以及接下来几天的一些有意思的事情。

提示:
 探索文件和文件夹

在接下来的几步,你将探索文件和文件夹。这些东西非常重要,在学会这些后,你就知道在哪里存储你根据本书创建出来的程序了。
6.输入ls命令然后回车。你应该可以看到当前文件夹下的所有文件和子文件夹列表。这个文件夹又被称为“当前工作目录”。

7.输入pwd命令然后回车。它会显示你当前工作目录的实际名称。如果你使用用户pi登录进树莓派,默认情况下它会显示你的工作目录是/home/pi。

8.输入mkdir py3prog后回车,来创建一个叫py3prog的子文件夹。你将会使用它来存储你所有的Python程序以及工作中的文件。

9.你可以输入ls命令并回车来查看创建的子文件夹。除了刚才在第6步中看到的文件和子文件夹外,你现在应该可以看到py3prog子文件夹。

10.如果要把当前工作目录变成新创建的py3prog,可以输入cd py3prog然后回车。

11.要确定你在正确的工作目录,可以键入pwd后回车,它应该显示目录名称为/home/pi/py3prog

12.现在你可以通过简单的输入cd并回车来退回到用户pi的主目录。要确定你成功退回了主目录,可以键入pwd并回车。它应该显示目录名为/home/pi。

提示:
 管理命令

现在我们可以开始使用一些命令帮助你管理树莓派。
13.(警告:下面的命令不会工作,当然它也不应该工作。)输入命令reboot然后回车。你应该看到消息:reboot: must be superuser.,就像清单2.3显示的一样。

清单2.3 尝试不用sudo重启

pi@raspberrypi ~ $ reboot 
reboot: must be superuser. 
pi@raspberrypi ~```
提示:
 了解sudo

有些命令你没有特殊权限的情况下无法执行。例如,根用户,也叫做超级用户,这个账户最初被配置成Linux中的一个全能用户。设立它的主要目的是默认可以管理整个系统。在某些情况,根用户与微软Windows系统中的管理员账户类似。

出于安全考虑,最好避免使用根用户登录。在Raspbian上,你甚至不被允许登录到root账户。

那么,该如何执行那些需要root权限的命令呢,如安装软件或者重启你的树莓派?使用sudo可以帮助你完成操作。sudo代表“超级用户做的”。那些被允许使用sudo的账户可以执行管理任务。你的树莓派的用户pi默认情况就被授权使用sudo了。因此,如果你登录到pi用户,你就可以在命令前加上sudo来执行任何需要超级用户权限的命令。
14.输入sudo reboot然后回车,你的树莓派应该就重启了。

15.在树莓派的raspberrypi login:提示符后输入pi然后回车。你应该看到了Password:提示符。

16.在Password:提示符之后,输入raspbian并且按回车键。如果成功,你将会看到pi@raspberrypi ~ $提示符。如果没有成功,你会看到消息“登录错误”并且会再次看到raspberrypi login:提示符。

17.如果要修改账户pi的默认密码,输入命令sudo raspi-config并且回车。你应该可以看到跟第一次启动一样的基于文本的菜单:

Rasp-config  
    info           Information about this tool
    expand_rootfs      Expand root partition to fill SD card
    Overscan         Change overscan
    configure_keyboard    Set keyboard layout
    change_pass       Change password for 'pi' user
    change_locale      Set locale
    change_timezone     Set timezone
    memory_split       Change memory split
    overclock         Configure overclocking
    ssh           Enable or disable ssh server
    boot_behaviour      Start desktop on boot?
    update          Try to upgrade raspi-config
                  

18.按向下箭头键4次,直到你到达change_pass菜单选项。按回车键。

19.屏幕上应该会显示“You will now be asked to enter a new password for the pi user”(现在你要为用户pi输入一个新密码)。按回车键。

20.当你在屏幕左下角看见Enter new UNIX password(输入新的UNIX密码)时,输入账户pi的新密码,然后按回车键。(密码需要至少八个字符长,使用字母和数字的组合。)同样,当你输入新密码时,它不会显示在屏幕上。

21.当你在屏幕左下角看见Retype new UNIX password:时,再次输入账户pi的新密码,然后按回车键。如果你输入正确,则会看到屏幕上显示密码更改成功。在这种情况下,按回车键继续。

22.如果你密码输入不正确,你将会看到一个消息There was an error running do change pass。在这种情况下你需要重复步骤18~21步直到成功。

23.回到Raspbian配置(raspi-config)菜单,按Tab键高亮选择< Finish >,然后按回车键退出菜单。

24.在屏幕的左下角,你应该看到已经退回到Raspbian提示符了。在Raspbian提示符后输入sudo poweroff并回车就可以退出树莓派并关闭它的电源。

现在你已经知道了几个Linux命令行命令了。你可以进行登录、切换到子目录、列出子目录中的文件,甚至做一些管理工作,如改变你的账户的密码或重启系统。
相关文章
|
15天前
|
存储 人工智能 数据处理
Python:编程的艺术与科学的完美交融
Python:编程的艺术与科学的完美交融
19 1
|
2天前
|
JSON 数据格式 开发者
pip和requests在Python编程中各自扮演着不同的角色
`pip`是Python的包管理器,用于安装、升级和管理PyPI上的包;`requests`是一个HTTP库,简化了HTTP通信,支持各种HTTP请求类型及数据交互。两者在Python环境中分别负责包管理和网络请求。
13 5
|
2天前
|
数据采集 数据可视化 数据挖掘
Python 与 PySpark数据分析实战指南:解锁数据洞见
Python 与 PySpark数据分析实战指南:解锁数据洞见
|
2天前
|
机器学习/深度学习 人工智能 大数据
AI时代Python金融大数据分析实战:ChatGPT让金融大数据分析插上翅膀
AI时代Python金融大数据分析实战:ChatGPT让金融大数据分析插上翅膀
|
4天前
|
存储 Python 容器
Python高级编程
Python集合包括可变的set和不可变的frozenset,用于存储无序、不重复的哈希元素。创建集合可使用{}或set(),如`my_set = {1, 2, 3, 4, 5}`。通过add()添加元素,remove()或discard()删除元素,如`my_set.remove(3)`。
|
4天前
|
机器学习/深度学习 数据采集 数据可视化
利用Python进行历史数据预测:从入门到实践的两个案例分析
利用Python进行历史数据预测:从入门到实践的两个案例分析
17 1
|
5天前
|
测试技术 Python
Python模块化方式编程实践
Python模块化编程提升代码质量,包括:定义专注单一任务的模块;使用`import`导入模块;封装函数和类,明确命名便于重用;避免全局变量降低耦合;使用文档字符串增强可读性;为每个模块写单元测试确保正确性;重用模块作为库;定期维护更新以适应Python新版本。遵循这些实践,可提高代码可读性、重用性和可维护性。
24 2
|
10天前
|
机器学习/深度学习 数据采集 TensorFlow
【Python机器学习专栏】使用Python进行图像分类的实战案例
【4月更文挑战第30天】本文介绍了使用Python和深度学习库TensorFlow、Keras进行图像分类的实战案例。通过CIFAR-10数据集,展示如何构建和训练一个卷积神经网络(CNN)模型,实现对10个类别图像的识别。首先安装必要库,然后加载数据集并显示图像。接着,建立基本CNN模型,编译并训练模型,最后评估其在测试集上的准确性。此案例为初学者提供了图像分类的入门教程,为进一步学习和优化打下基础。
|
10天前
|
机器学习/深度学习 自然语言处理 语音技术
【Python 机器学习专栏】Python 深度学习入门:神经网络基础
【4月更文挑战第30天】本文介绍了Python在深度学习中应用于神经网络的基础知识,包括神经网络概念、基本结构、训练过程,以及Python中的深度学习库TensorFlow和PyTorch。通过示例展示了如何使用Python实现神经网络,并提及优化技巧如正则化和Dropout。最后,概述了神经网络在图像识别、语音识别和自然语言处理等领域的应用,并强调掌握这些知识对深度学习的重要性。随着技术进步,神经网络的应用将持续扩展,期待更多创新。
|
10天前
|
机器学习/深度学习 算法 数据挖掘
【Python 机器学习专栏】Python 机器学习入门:基础概念与流程
【4月更文挑战第30天】本文介绍了Python在机器学习中的重要性,机器学习的基础概念和分类,包括监督学习、非监督学习和强化学习。Python因其丰富的库(如Scikit-learn、TensorFlow、PyTorch)、简单易学的语法和跨平台性在机器学习领域广泛应用。文章还概述了机器学习的基本流程,包括数据收集、预处理、特征工程、模型训练与评估等,并列举了常用的Python机器学习算法,如线性回归、逻辑回归、决策树和支持向量机。最后,讨论了Python机器学习在金融、医疗、工业和商业等领域的应用,鼓励读者深入学习并实践这一技术。