开发者社区> 华章计算机> 正文

《 Python树莓派编程》——2.2 命令

简介: 本节书摘来自华章出版社《Python树莓派编程》一书中的第2章,第2.2节,作者:[美]沃尔弗拉姆·多纳特(Wolfram Donat)著 韩德强 等译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
+关注继续查看

本节书摘来自华章出版社《Python树莓派编程》一书中的第2章,第2.2节,作者[美]沃尔弗拉姆·多纳特(Wolfram Donat)著 韩德强 等译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。


2.2 命令

为了灵活使用Linux命令行,你需要在切换文件系统时使用如cd和ls这样的命令。运行程序的命令也是在控制台输入的。表2-1中列出了一些你会用到的比较基础的,以及应该学会的命令。

71e18fc6dde2db3f4f808602843ab9ecd79f5354

表2-1续

b46c9a3eb75217ce23570b57a9c959fd79f606f9

表2-1中列出的命令大都易于理解,但仍有一些需要解释一下。

man:这条命令无疑是最重要的命令。如果你不确定一条命令的作用是什么,或者它使用了什么选项/参数,在终端输入man命令,你将在弹出的UNIX帮助手册中得到你想要的信息。在弹出的页面内,最先显示的通常是命令的名称,以及它的各种排列的摘要,命令的细节描述,所涉及的选项及参数,及它们的作用。当你浏览帮助手册时,按Enter键翻页,按q键返回到终端页面。

ls:这条命令列出了你当前所在目录的文件信息,可以使用–l和–a这样的参数列出类似于文件权限和修改日期等信息。当使用–l参数时,显示的文件内容的第一部分如下:

 

 "这表示该文件是一个目录文件(d),其所属的用户拥有读、写和执行该文件的权力,同组的用户拥有读和执行的权力,其他用户拥有读和执行的权力。在我们使用树莓派时,通常都是文件的所有者,因此文件权限不会有什么影响。但有时,当你需要将一个文件设置为可执行时,你会用到chmod这个命令,我们会在其他章节对此进行介绍(见第7章)。ls命令也有一些很有用的参数。ls –F列出了当前目录下的文件,但在目录文件后面会多一个“/”符号。ls –a列出所有文件,包括隐藏文件(隐藏文件是指那些以.或..开始的文件,用ls命令查看文件时这些文件并不显示)。

cd路径名称:就像你想的那样,这条命令会将当前目录转到你指定的目录下。有一些特殊的目录,如cd ~,会转到home目录(“~”或者波浪形,都表示home目录),cd ../会转到当前文件夹的上级目录。换言之,如果你在~/Desktop/MyFiles这个目录下,输入

 

你将转到~/Desktop目录,输入

 

你将转到home目录中(~/),输入

 

你将离开MyFiles目录,并转到MyOtherFiles目录中。

如果直接输入cd并按Enter键,无论你在什么目录下,你都会回到home目录中。

pwd:这是个你需要了解的不错的命令。当你不知道当前目录时,pwd会告诉你所在的位置,会从根目录开始给出当前的路径。当你在目录中4.5层深度而且还有一些重名的文件夹时,便会十分有帮助,例如:

 

当你处于以上的位置时,终端显示的信息仅仅是

 

这时,这条命令就发挥作用了。

rm:使用rm命令就像将文件拖入回收站一样,但有一点不同,就是无论是因为何种目的,该删除操作无法撤销,因此要考虑清楚!

mkdir和rmdir:mkdir和rmdir命令用于创建和删除文件夹。使用rmdir命令时需要注意,要删除的文件夹必须是空文件夹,不然操作系统不会允许你删除它。你也可以在rmdir命令后加-p参数,这意味着你将删除一个文件夹(一定要是空文件夹)及其父文件夹,例如,当你输入:

 

系统将会删除this_directory/、bar/和foo/这三个文件夹。

mv和cp:简单地说,mv和cp命令可能需要花一些时间来熟悉一下。mv命令除了移动文件外,有时也代表重命名一个文件。如:

 

会将myfile.txt文件重命名为myfile2.txt文件

在mv命令结构中,通过明确目录的深度,可以将文件从一个文件夹移动到另一个。例如,我在MyFiles文件夹下有一个名为myfile.txt的文件。我可以通过以下命令移动并重命名该文件(从文件夹中):

 

这样,myfile.txt将会从当前文件夹下移出,移动到MyOtherFiles文件夹内,并重命名为myfile2.txt。

cp命令和mv命令类似,但它是复制文件而不是移动重命名文件,因此源文件不会改变。同样,你可以根据明确的目录深度,使用cp命令跨文件夹复制文件。例如,输入

 

即将myfile.txt复制到desktop目录下(假设你仍在Desktop/MyFiles/directory目录内)。

cat:使用cat命令是浏览文件最快速的方法,比如文本文件,无需用编辑器打开便可浏览。输入cat和文件名,终端上便会显示出文件的内容,即便这个文件不是文本文件(如果试着对一个图像使用cat的话,你会看到一堆乱码)。如果想要逐行浏览而不是全文浏览,可以使用more命令。这条命令首先会将整个屏幕填满第一批文字,之后每按下Enter键会显示余下的文字,一次一行。

date:输入date命令(不加参数)会在终端上输出系统日期和时间。如果加上一些参数,你可以按照你的格式设置日期和时间。

echo:这条命令仅仅是将你输入的内容回显到终端内。这在终端操作时并不是个十分常用的命令,但当你编写shell脚本时(预先准备好一系列命令,并在终端内运行),就与一般计算机程序语言的print功能类似。

grep:尽管man命令也许是命令中最重要的一个,但grep命令可能是功能最强大的。它是一个可以搜索文件或目录的搜索程序。它将你输入的正则表达式作为搜索的条件,并在“管道”另一端将搜索到的内容输出到屏幕或其他文件中。正是由于可以识别正则表达式,因此它的功能十分强大。如果你不太熟悉,这里解释一下,正则表达式是构成检索模式的一组字符,而且这串字符通常看起来像一门外语。如:

 

这条语句将在fruitlist.txt中逐行搜索以“a”开始,以“ple”结束,两者之间仅含有一个字符的单词,并将结果输出到屏幕上。使用“|”或管道(pipe),可以将结果输出到不同的地方,如将结果输出至文本文件中。grep的强大和复杂程度足以用几章来说明,但是现在,我们仅仅知道它的存在即可。

./文件名:这条命令可以轻松运行一个可执行文件。但记住,这仅当文件在当前用户下有可执行权限且可被执行时才会起作用,如果用户不具备相应权限或者文件根本就不可执行的话,会提示错误。

exit:最后一个重要的命令是exit,它将结束终端内执行的任何一个任务(也称作shell),并且关闭终端。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Python 异步: 在非阻塞子进程中运行命令(19)
Python 异步: 在非阻塞子进程中运行命令(19)
20 0
Python编程:sh模块执行shell命令
Python编程:sh模块执行shell命令
18 0
用Python写命令吧
用Python写命令吧
22 0
you-get:一行命令下载视频和Python简单使用you-get
you-get:一行命令下载视频和Python简单使用you-get
20 0
Linux tee 命令执行Python脚本不好使
Linux tee 命令执行Python脚本不好使
42 0
Python脚本执行hive SQL命令
Python脚本执行hive SQL命令
147 0
用pip命令把python包安装到指定目录
用pip命令把python包安装到指定目录
58 0
linux qt 项目中QProcess调用命令行命令执行python脚本
linux qt 项目中QProcess调用命令行命令执行python脚本
106 0
Python 实现Ping命令状态检测
ping 是一种因特网包探索器,用于测试网络连接量的程序,Ping是工作在TCP/IP网络体系结构中应用层的一个服务命令,主要是向特定的目的主机发送 ICMP 请求报文,测试目的站是否可达及了解其有关状态,实现Ping方法的这段代码原始版本来源于网络,后经排版封装后实现了一些功能,放在这里收藏之用。
104 0
文章
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
给运维工程师的Python实战课
立即下载
Python 脚本速查手册
立即下载
ACE 区域技术发展峰会:Flink Python Table API入门及实践
立即下载