一个“MacBook”新手的Python“笨办法”自学之旅 #第三章:言归正传讲Python:Mac系统的终端Terminal命令行快速入门
第三章:言归正传讲Python:Mac系统的终端Terminal命令行快速入门
以后我都会将《“笨办法”学Python》简称为“这本书”
本人用了近5年的MacBook,但在此之前,从未使用过电脑自带的“终端Terminal”(图标:)。在非程序员的世界里,建立和删除文件夹或文件,都是:鼠标右键点新建/删除,这是UI带来的便利。但是,却不知道如何利用命令行实现这些操作。
首先,要掌握几个我们平时常用,但在代码界有另外名称的名词:目录、路径、打印。
--目录:我们认为它是这样的:标题:第一章:第一单元:第一节
但它其实是这样的:/Users/neymagico/temp/ex,它表示的意思是:文件夹ex所处的位置。在这本书当中,你甚至还会以为“目录”其实就是“文件夹”。
--路径:我们认为它是这样的:沿青年大街步行50米,到市图书馆地铁站,从A口如,坐上到北站方向的地铁,奥体中心站下车,C口出站,沿奥体路东行100米。
但它其实是这样的:和目录一样的解释
--打印:我们认为它是这样的:command+P,选择打印机,选择纸张,设置打印参数
但它其实是这样的:可理解为“输出”的含义。例如:打印文件的位置,即为在终端输出文件的路径
<<你可能觉得我上面写的都是废话,但是这确实是我刚学这个时候的最深刻印象,让我迷惑了好久,其实后续的Python学习,还有更多的名称,它们的意思并不是我们想象中的样子,我们需要注意这点。>>
接着,借用这本书的一句话“废话少说,命令行来也”:注意“空格键”不是随便增减的
注释:下方的“bogon”,主机名称,即hostname;每个人的电脑不同,它就不同。没错,让你发现了,我是内马尔的球迷,哈哈!
1,$(命令提示符):在它后面输入终端需要执行的命令。
2,pwd(打印工作目录):在“终端Terminal”里面,如果你需要对一个文件或文件夹作出更改,首先,你需要在终端Terminal里面,利用cd命令(后续会讲),进入到那个文件或文件夹所处的位置,而有些时候,我们会忘记我们处在哪个位置下,用pwd命令,既可以告诉我们。例如:
bogon:~ neymagico$ pwd
/Users/neymagico
3,cd(更改目录):即可以更改你在终端中处在的目录地址。例如,你本在home路径:/Users/neymagico,但是你想进入home路径下的一个名称为temp的文件夹(目录、路径),你只需要在$后方键入 cd temp即可得到:
bogon:~ neymagico$ cd temp
bogon:temp neymagico$ pwd
/Users/neymagico/temp
(1) cd ~(返回到home路径) :在你迷失方向的时候,不知道自己在哪,可以用这个命令,让自己回到home路径:
bogon:temp neymagico$ cd ~
bogon:~ neymagico$ pwd
/Users/neymagico
(2) cd ..(返回到上一个路径): 回到上一个文件夹(目录、路径):
bogon:temp neymagico$ pwd
/Users/neymagico/temp
bogon:temp neymagico$ cd ..
bogon:~ neymagico$ pwd
/Users/neymagico
(3) 可以用cd一次进入或返回多层目录:
进入:
bogon:~ neymagico$ cd temp/ex/ex46.py
bogon:ex46.py neymagico$ pwd
/Users/neymagico/temp/ex/ex46.py
返回:
bogon:ex46.py neymagico$ cd ../../..
bogon:~ neymagico$ pwd
/Users/neymagico
小提示:不知道有没有机智的朋友发现,在我的home路径名称neymagico前面,会有一些字母或者符号,其实它就代表了你目前所处的路径。例如 :如果neymagico前面是 ‘~’,表示我在home路径;如果neymagico前面时‘ex46.py’,表示我是在ex46.py这个文件夹所处的位置。
4,mkdir(创建目录/文件夹):其实就是新建文件夹
例如我想要在home路径下建立一个temp文件夹,然后再在temp文件件夹里建立一个ex文件夹。步骤是:
(1)用cd ~命令,进入home路径;
(2)键入 mkdir temp,然后再用cd temp进入temp文件夹;
(3)键入 mkdir ex, 然后就会得到ex文件夹;
(4)也可以用一条命令行完成 :在home路径,键入mkdir temp/ex
(5) 如果想要一次性创建级数较多的文件夹,需要在mkdir 后面空格,加入-p。例如mkdir -p temp/ex/1/2/3/4/5/6 创建了8个文件夹,名称如上,等级顺序也如上;
(6) 如果想要一次性创建较多的平行的文件夹,需要用mkdir命令,一次写上文件夹的名称,用空格键隔开。例如mkdir 1 2 3 4 就是在当前目录下创建4个平行的文件夹,名称为1,2,3,4
(7)如果想要创建名称保护空格的目录,需要在mkdir后面用双引号“”标注目录名称。例如 mkdir " I love you" 就是创建了一个名为“I love you”的目录,如果没有双引号,则是创建了三个平行的目录,名称分别为“I”、“love”、“you”
5,ls(列出目录下的内容):注意:是小写的L加小写的s。该命令会打印出你在终端所处位置的文件夹/目录/路径中含有的所有文件或文件夹,但是它不输出子文件夹里面的内容。例如:我在ex 文件夹中有3个文件夹,名称分别是:ex1.py、ex2.py、ex3.py。
bogon:ex neymagico$ ls
ex1.py ex2.py ex3.py
6,rmdir(删除路径/文件夹/文件):必须用cd命令,使操作位置处于你需要删除的文件夹或文件所处的上一级目录中,例如:我想要伤处ex文件夹下的ex1.py文件夹:
bogon:ex neymagico$ rmdir ex1.py
bogon:ex neymagico$ ls
ex2.py ex3.py
同理mkdir,也可以用 rmdir temp/ex/1/2/3/4/5/6 从低级到高级,以此删除这些目录,也可以用 rmdir 1 2 3 4 5 同时删除这5个平行的目录。
注意:有的时候,想要删除的即使是一个空目录/文件夹,系统也拒绝删除处该目录,实际上在这个目录里面,有一个名为_D.Store的文件,需要键入rm -rf <dir>即可,<dir>是该目录的名称。
---------由于终端命令较多,本人又特别想把它们介绍清晰,所以分两部分,下一部分主要是相对较复杂些的命令--------
*** 第四章预告:较复杂的终端Terminal命令
P.S.:为了更加清晰认识,附上本人电脑的finder截屏,上述命令涉及到的目录/文件夹等,在下面附图有标示