第四章:言归正传讲Python:Mac系统的终端Terminal命令行快速入门之“较复杂的命令”

   

   在写第三章的时候,发现自己已经忘记了好多命令。其实我并没有按照Zed A.Shaw的提示,将这些命令做成小卡片,然后每天去记忆。可能源于我的目的并非是为了掌握并精研Python,我写博客并不是单纯为了分享自己的学习经验。而是希望自己能够通过学习python和写博客的形式,让自己以后养成这样的学习和记录习惯,有助于以后技能的掌握和积累。Python起到抛砖引玉的作用。

小提示:如何往终端中输入目录或文件的路径?只需要将目录或文件往终端里拖就行!

 

7, touch,New-Item(创建空文件):注意此处的是“文件”,而不是“文件夹”,后缀是自己根据需要添加。例如:

   bogon:ex2.py neymagico$ touch 1

   bogon:ex2.py neymagico$ touch 1.txt

   bogon:ex2.py neymagico$ touch 1.py

   bogon:ex2.py neymagico$ touch 1.dwg

   bogon:ex2.py neymagico$ touch 1.pdf

   bogon:ex2.py neymagico$ ls

1.txt

   

python执行mv python执行mac terminal命令_Python

   

pushd,popd(在多个目录中切换):惭愧得很,我对这两个命令,仍然不是很清楚,首先是其原理,其次是其应用。

   下面,我在ex目录中再创建一个名为pushdpopd的目录,其内部有i/love/you的三级子目录,如下图:   

  

python执行mv python执行mac terminal命令_ico_02

 

~ neymagico$ cd ex/pushdpopd   #进入pushdpopd目录

pushdpopd neymagico$ pushd i/love/you   #跳转到you目录,并保存当前路径

~/ex/pushdpopd    #输出两个路径,第一个路径是you,第二个路径是pushdpopd,该路径被保存在一个栈中(先进后出)

you neymagico$ popd    #跳回到保存的最后的一个目录,此处为pushdpopd

~/ex/pushdpopd   #输出pushdpopd的路径

pushdpopd neymagico$ pwd    #打印当前路径

 #输出当前所在的路径pushdpopd

pushdpopd neymagico$ pushd i/love    #调转到love目录,并保存当前路径

~/ex/pushdpopd   #输出love的路径和pushpopd的路径

love neymagico$ popd  #跳回到保存的最后的一个目录,此处为pushdpopd

~/ex/pushdpopd。 #打印出当前的路径pushdpopd

pushdpopd

注释:上面红色名称:表示在键入命令时,所处在的路径的名称;蓝色的名称:表示的是用pushd命令所保存的路径的名称和路径

  

#跳转到love目录,并保存当前pushdpopd路径

#打印love路径, 并打印保存的第一个路径

#在love目录里,跳转到you目录,并保存当前love的路径

#打印you的路径,并打印保存的第二个路径love,然后打印保存的第一个路径pushdpod

#在you目录里跳转到最后一次用pushd保存的路径,此处为第二次保存的路径love

# 打印出love的路径,并打印出剩余被保存的全部的路径,此处仅剩一个路径,即为第一次保存的pushdpod路径

#在love目录里跳转到用pushd保存的路径,此处为第一次保存的路径pushdpopd

#打印出pushdpopd的路径

注释:pushd命令保存的路径,放到一个类似于栈的列表中,最先保存的路径,最晚被popd命令弹出,即为“先进后出”。

 

还是很高兴写了这段博客,因为我搞清楚了pushd和popd命令到底是什么意思,懂了以后,才知道确实是很厉害很好用的两个命令!

 

 

cp(复制文件):复制分两种,一种是复制一个文件到另一个地方,另外一种是复制一个文件中的内容到另一个文件中,其实还是挺复杂的。

      (1) 复制文件:bogon:ex2.py neymagico$ cp 1.txt 2.txt    #在下方的ex2.py目录里得到2.txt,它是由1.txt复制得到,内容是一样的

      

python执行mv python执行mac terminal命令_复制文件_03

-r ex2.py 4    # 在ex目录下,将 ‘目录ex2.py’复制,得到名称为‘目录4’。他们所包含的子目录和文件是一样的

          

python执行mv python执行mac terminal命令_ico_04

    (3)将一个下级目录中的文档或目录复制到上级或下级目录中?  当时想到这个问题,想要解决,思考了很长时间,最终找到了方法如下:

1.txt /Users/neymagico/ex  # cp 文件/目录名

        

python执行mv python执行mac terminal命令_python执行mv_05

      

1.txt /Users/neymagico/ex/3  # cp 文件/目录名

        

python执行mv python执行mac terminal命令_复制文件_06

      如何将文件复制到上级或下级目录,并且将文件名更改 :

1.txt 3.txt /Users/neymagico/ex/ex2.py/3 # cp 目标文件/目录名 更改后的文件名/目录名

      

python执行mv python执行mac terminal命令_复制文件_07

 

 10,mv(移动文件)

3.txt

      

python执行mv python执行mac terminal命令_python执行mv_08

4.txt

      

python执行mv python执行mac terminal命令_Python_09

   

11,less(查看文件内容):顾名思义,就是文件里面的内容读出来,如想退出,键入q即可。例如我想将目录3中的1.txt内容读出来:

      bogon:3 neymagico$ less 1.txt

      Je t'aime! 法语的“我爱你!”

12,), 其实类似于less命令。惭愧!其实以我现在的能力,我并不知道流文件是个什么毛线!!我也百度了,说是没有结构的文件。

      bogon:3 neymagico$ cat 1.txt

      Je t'aime! 法语的“我爱你!”

rm(删除文件)区别于rmdir命令,rm是可以删除文件,也可以删除目录,而rmdir只能删除目录

exit(推出命令行)我暂时没用过这个命令

 

 

   其实在这本书中,Zed列出过很多其他的命令,我们并没有全部介绍,感兴趣的朋友可以挨个尝试:

 

pwd: 打印当前工作目录

hostname: 获取我的计算机的网络名称

mkdir: 创建目录

cd: 更改目录

ls: 列出目录下的文件

rmdir: 删除目录

pushd: push directory

popd: pop directory

cp: 复制文件或目录

mv: 移动/重命名文件或目录

less: 按页查看文件

cat: 输出整个文件

xargs: 执行参数

find: 查找文件

grep: 查找文件里面的东西

man: 阅读帮助手册

apropos: find what man page is appropriate

env: 查看计算机环境

echo: 输出一些参数

export: 设置一个新的环境变量

exit: 退出终端

sudo: 危险! 拥有超级用户权限!

 

 

 

*** 第五章预告:真的开始要讲Python啦!

      

 

键盘敲不易,且看且仔细!