• 一个“MacBook”新手的Python“笨办法”自学之旅 #第四章:言归正传讲Python:Mac系统的终端Terminal命令行快速入门之较复杂的命令


    第四章:言归正传讲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 1.dwg 1.pdf 1.py 1.txt

       

       

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

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

      

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

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

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

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

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

       bogon:pushdpopd neymagico$ pwd    #打印当前路径

       /Users/neymagico/ex/pushdpopd    #输出当前所在的路径pushdpopd

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

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

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

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

       bogon:pushdpopd neymagico$

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

      

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

       ~/ex/pushdpopd/i/love ~/ex/pushdpopd。 #打印love路径, 并打印保存的第一个路径

       bogon:love neymagico$ pushd you。 #在love目录里,跳转到you目录,并保存当前love的路径

       ~/ex/pushdpopd/i/love/you ~/ex/pushdpopd/i/love ~/ex/pushdpopd   #打印you的路径,并打印保存的第二个路径love,然后打印保存的第一个路径pushdpod

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

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

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

       ~/ex/pushdpopd   #打印出pushdpopd的路径

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

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

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

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

          

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

              

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

             如何将目录ex2.py里面的 1.txt 复制到上级目录ex中:  bogon:ex2.py neymagico$ cp 1.txt /Users/neymagico/ex  # cp 文件/目录名 目的目录完整路径     

            

          

           如何将目录ex2.py里面的 1.txt 复制到下级目录3中:  bogon:ex2.py neymagico$ cp 1.txt /Users/neymagico/ex/3  # cp 文件/目录名 目的目录完整路径    

            

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

          bogon:ex2.py neymagico$ cp 1.txt 3.txt /Users/neymagico/ex/ex2.py/3 # cp 目标文件/目录名 更改后的文件名/目录名 目的目录完整路径 

          

       10,mv(移动文件)

          (1) “重命名”功能:上张图片中目录3中的3.txt改成4.txt : bogon:3 neymagico$ mv 3.txt 4.txt

          

        (2)移动功能: 将目录3中的4.txt移动到上级目录ex2.py中: bogon:3 neymagico$ mv 4.txt /Users/neymagico/ex/ex2.py

          

       

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

          bogon:3 neymagico$ less 1.txt

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

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

          bogon:3 neymagico$ cat 1.txt

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

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

       14,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啦!

          

    键盘敲不易,且看且仔细!
  • 相关阅读:
    (转)Java垃圾回收机制
    ThreadPoolExecutor线程池参数说明
    深入Synchronized和java.util.concurrent.locks.Lock的区别详解
    java集合类说明及区别
    JAVA中堆栈和内存分配
    深入理解Java对象序列化
    Java 序列化Serializable
    transient在java中的作用
    let和const命令
    第9章 css3多列布局
  • 原文地址:https://www.cnblogs.com/la-route-d-ingenieur/p/11026376.html
Copyright © 2020-2023  润新知