shell 演讲稿

    技术2025-05-31  93

    在具体介绍shell script 之前,先简单介绍以下UNIX哲学。

    一 :小即是美。

    二 :让程序只做好一件事。

    三 :尽可能早地建造原型。

    四 :  可移植性比效率重要。

    五 :  数据应该保存为文本文件。

    六 :尽可能地榨取软件的全部价值。

    七 :使用shell脚本来提高效率和可移植性。

    八 :避免使用可定制性低的用户界面。

    九 :所有程序都是数据的过滤器。

     

    shell是一个命令解释器,介于OS kernel 与用户之间。一个shell脚本可通过将系统调用,公共程序和编译过的二进制程序粘合在一起建立应用。同时shell脚本还有控制语句,这给脚本增加了强力的支持和灵活性。shell脚本对于管理系统任务和其它的重复工作历程来说,表现的非常好。

    shell脚本遵循典型的UNIX哲学,即使把大的复杂的工程分成小规模的子任务,并把这些部件和工具组合起来。

    UNIX/Linux OS之所以强大,不是因为它具有广泛的命令集,更主要是它能把这些命令组合起来,优雅而简便地完成更复杂的功能

    下面是一些基本的shell命令:

    man : 显示联机参考手册

    cd       :改变目录

    ls        :列出目录中的文件

    cat ,more,less,head,tail  : 显示文件的内容

    rm      :删除文件

    rmdir  :删除空目录

    cp       :复制文件

    mkdir :创建目录

    touch  :创建空文件

    mv     :移动文件或重命名文件

    echo   :将字符串写入stdout

    who    :显示系统用户的信息

    pwd    :打印当前目录

    file      :打印出文件的类型

    ps       :关于当前正在运行的进程的信息

    uname :挡墙OS的名称及机器信息

    su        :切换到另一用户 

    basename :字符串参数基本文件名

    chown  :修改文件的所有者

    chgrp  :修改文件所在组

    chmod :修改文件模式和权限

    grep     :模式匹配

    egrep :用于扩展正则表达式的grep命令

    find  :用于定位文件和目录

    wc  :计算文件中的单词 行和字符数目

    diff  :比较两个文件

    date :显示系统日期和时间

    sleep :执行过程中在指定的秒数内中断

    cut  :写入所选的字符

    awk :解析字符的编程语言

    sed :流文本编程语言

    > :重定向 创建或覆盖文件

    >>  : 追加到文件结尾

    | :管道符

    &  :在后台执行

     

     

    什么时候不用shell脚本:

    资源密集型任务,尤其在考虑效率是(如排序)。

    需要处理大任务的数学操作

    有跨平台移植需求时

    对于影响系统全局性的关键任务应用

    对于安全有很高要求的任务,如需要一个健壮的系统来防止入侵、破解、恶意破坏等。

    项目由连串的依赖的各个部分组成

    需要大规模的文件操作

    需要多位数组的支持

    需要数据支持,如链表、树等

    需要产生或操作图形化界面

    需要直接操作OS硬件

    需要I/O或socke接口

    等等

     

     

     

     

     

     

     

     

    最新回复(0)