美文网首页LinuxLinux
Python(二十)Linux的shell介绍

Python(二十)Linux的shell介绍

作者: Lonelyroots | 来源:发表于2021-11-15 16:38 被阅读0次

    Editor:Lonelyroots

    Linux的shell介绍:

    1. 文本传输:

    1.1. 管道:

    | :前面命令的输出作为后面命令的输入,可使用管道符 | 来建立一个管道行。
    find -name '*.txt':在ls文件夹中寻找后缀名为.txt的文件。

    find -name '*.txt' | args grep hello:查找带有hello,后缀名为.txt的文件。

    1.2. 输入重定向:

    输入重定向是指把命令或可执行程序的标准输入重定向到指定的文件中,也就是输入可以不来自键盘而是来自一个指定的文件。输入重定向主要用于改变一个命令的输入源,输入重定向的一般形式为“命令 < 文件名”。
    wc -l test.txt:查看test.txt文件的内容行数,运行结果需返回文件名。
    wc -l < test.txt:输入重定向:将输入重定向到test.txt中,查看test.txt文件的内容行数,运行结果无需返回文件名。

    1.3. 输出重定向:

    输出重定向是指把命令或可执行程序的标准输出或标准错误输出重定向到指定的文件中,命令中的输出不显示在屏幕上,而是写入到指定的文件中,以便完成以后的问题定位或其他的用途。输出重定向的一般形式为“命令 > 文件名”,>是覆盖,>>是追加,标准输出echo。
    cat test.txt:查看test.txt文件内容
    echo:相当于Python语法里的print
    echo nihao test > test1.txt:将nihao test输入到test1.txt文件中,查看文件后如下图,清空test1.txt里所有内容,添加nihao test,相当于Python文件处理中的'w'方法。
    echo hello >> test1.txt:将hello输入到test1.txt文件中,查看文件后如下图,无需清空test1.txt里所有内容,直接添加nihao test,相当于Python文件处理中的'a'方法。

    1.4. 输出到终端:

    tty:查看当前终端信息,即挂载路径,先开的终端为0,后开的为1,以此类推。

    Oracle VM VirtualBox MobaXterm who即who am i:可以查看当前用户登录的详细信息。
    Oracle VM VirtualBox
    MobaXterm
    echo hello >> /dev/pts/1:终端0输入hello,终端1输出hello。当然了,终端1也可以输出给终端0。

    2. 文件传输:

    2.1. alias文件别名:

    使用格式:alias 新的命令='原命令 选项/参数'
    当需要跳转多个文件路径,如cd py_case/test,可以采用取别名的方式alias cpcc='cd py_case/test'


    可以使用alias cpcc:来查看cpcc的别名,如下图所示: 但是这个别名,每当退出终端以后,别名就失效了。所以要想永久生效,按如下方式操作:
    vim .bashrc:.bashrc是一个专门做别名处理的文件,预永久添加别名,需进入文件中配置。

    alias cpcc='cd py_case/test':cpcc别名作用:切换到py_case/test文件夹中。

    退出界面,再次输入cpcc,会发现报错,所以需要重启终端,才可以使用该别名。
    未重启
    重启
    【注】重点:最好不要建立以下四个别名:
    alias cd='rm -rfv':切换改成了删除。
    alias sudo='sudo halt':提权改成了关机。
    alias cp='mv':文件拷贝变成移动
    alias vim='vim+q':无法使用vim配置文件,进去就退出

    2.2. 文件打包:

    三种压缩包格式:tar,gzip,bzip2,



    tar -cvf chenhong.tar a.py cx.py xc.py:将三个文件打包至chenhong.tar压缩包中,其中-cvf中的f必须为最后一个。
    ls -l:以列表形式查看文件内容,可以看到压缩包的占用内存为10240千字节(KB),没有起到压缩的作用。所以我们需要使用到另外两种压缩包格式。

    tar -zvcf chen.gz a.py cx.py xc.py:将三个文件打包至chen.gz压缩包中,其中-zcvf中的f必须为最后一个。
    gz格式
    tar -jvcf chen.bz a.py cx.py xc.py:将三个文件打包至chen.bz压缩包中,其中-jcvf中的f必须为最后一个。
    bz格式
    进入到MobaXterm,可以清楚地看到创建的压缩包:

    也可以将文件,压缩至上一级目录:../

    2.3. 文件压缩与解压:

    mkdir chen:在bd用户下方的py_case文件夹中新建一个文件夹chen


    tar -zxf chen.gz -C chen:将chen.gz解压到chen的下一级。

    tar -jxf chen.bz -C chen:将chen.bz解压到chen的下一级。

    2.4. 综合使用:

    备份文件并压缩:即find查找、输出重定向和压缩综合使用。
    find -name '*.txt' >> a.list:备份文件至文件夹a.list。
    tar -T a.list -zcvf ch.gz:-T备份文件的意思,一定要加,a.list是备份文件夹名,压缩文件夹命名为ch.gz。

    2.5. 文件链接:

    软链接:就相当于快捷方式,用vim修改原文件,软链接文件也修改了。
    硬链接:相当于备份了一个文件,用vim修改原文件,硬链接文件也修改了。原文件删除,备份文件依旧在。
    ln -s test.txt t.soft:软链接:给test.txt创建一个软链接t.soft


    ln test.txt p.hard:硬链接:备份test.txt文件,命名为p.hard

    3. 进程管理:

    3.1. 进程概念和监视:

    静态进程:不会动
    ps命令:


    终端的各个属性:

    ps -aux:静态进程:查看所有进程。

    动态进程:会动
    top命令:

    top -d 2:动态进程:每2秒钟刷新一次,按q退出。

    vim b.py:新建一个b.py文件,写入:

    while True:
            pass
    

    python b.py:运行b.py文件。


    ps -aux | grep python:查询所有python运行的进程

    3.2. 进程暂停和杀死:


    kill -9 1867:在MobaXterm中杀死b.py进程: 回车确定以后,Linux中出现如下界面,即进程已杀死:

    4. shell简介:

    4.1. shell介绍:

    Shell 是一个 C 语言编写的脚本语言,它是用户与 Linux 的桥梁,用户输入命令交给 Shell 处理,shell是一个命令解释器,是一个工具箱, Shell 将相应的操作传递给内核(Kernel),内核把处理的结果输出给用户。
    Shell不只是一种解释器,还是一种编程工具,称为脚本语言。

    4.2. shell发展:

    想深入了解,可以自行去查看网上的资料。

    4.3. shell脚本:

    vim test.sh创建一个shell脚本,



    可以发现,虽然创建了这个test.sh的文件,但是bd没有执行该文件的权限:

    可以进行如下两种操作(二选一即可):
    ①:chmod u+x test.sh:给test.sh文件增加执行文件的权限。cat test.sh:查看test.sh文件。

    ②:bash test.sh:直接查看test.sh文件

    文章到这里就结束了!希望大家能多多支持Python(系列)!六个月带大家学会Python,私聊我,可以问关于本文章的问题!以后每天都会发布新的文章,喜欢的点点关注!一个陪伴你学习Python的新青年!不管多忙都会更新下去,一起加油!
    Editor:Lonelyroots

    相关文章

      网友评论

        本文标题:Python(二十)Linux的shell介绍

        本文链接:https://www.haomeiwen.com/subject/jbyqtrtx.html