unix系统常用命令(三)

unix系统常用命令(3)

A. 第六章 Shell 编程

shell 不但是 Unix 的用户交互界面,还是一门程序设计语言,系统注册进入时就会执行一个shell命令文件 .profile ,下面对shell中的常用命令作简单介绍。

 

$n                  shell 程序命令行中的第n 个参数,n0-9,当n 0时表示命令名

    $#                  命令行中参数的个数

    $$                  shell 命令的进程号

    $!                  最后一个后台进程的代号

    $*                  所有命令行参数

    $@                  $*相似,但其值不同

    $HOME               注册时进入的目录

    $PATH               命令的搜索目录

    $PS1                    系统第一个提示符,一般为$

    $PS2                系统第二个提示符,一般为>

    shift[n]                将命令行参数往左移一位,但$0不变

    变量名=字符串           将字符串赋予变量名,以后可用$变量名引用该变量

    export 变量名表     将变量名表所列变量传递给子进程

    read 变量名表           从标准输入读字符串,传给指定变量

    echo    变量名表            将变量名表指定的变量显示到标准输出

    set                     显示设置变量

    env                     显示目前所有变量

    if                  条件执行,语法是:   if 条件

                                        then 指令

                                        fi

    case                    分支执行,语法是:   case 字符串变量 in

                                        1) 指令

                                        2) 指令

                                               

                                        esac

    while               条件为真时循环,语法是:

                                        while   条件

                                        do

                                            指令

                                        done

    until               条件为假时循环,语法是:

                                        until   条件

                                        do

                                            指令

                                        done

    for                 变量在表中时循环,语法是:

                                        for 变量名 in 字组表

                                        do

                                            指令

                                        done

    break               从循环中退出,语法:

                                        break n

                                        n 表示跳出循环的层数

    continue                继续循环,语法:

                                        continue n

                                        n 表示退到包含continue 语句的第n 层继续循环

    exit                    退出shell

    func                    shell内部可定义函数,语法:func 函数名()

                                        {

                                            指令

                                        }

    expr                    将其后的串解释为表达式并计算其值,运算符前后需有空格

    trap                    捕获信号,语法 trap n ,捕获信号 n (信号说明参见kill)

    test                    条件测试,语法 test[选项] 参数

                        选项 -f 文件 若文件存在且可读则真

                            -w 文件 若文件存在且可写则真

-x  文件    若文件存在且可执行则真

            -f  文件    若文件存在且为普通文件则真

            -d  文件    若文件存在且为目录文件则真

            -p  文件    若文件存在且为fifo文件则真

            -s  文件    若文件存在且不空则真

            -z    若串长度为0则真

            -n    若串长度不为0则真

                  若串不是空串则真

            1=2    若串1等于串2则真

            1!=2   若串1不等于串2则真

            n1 -eq n2   n1n2数值相当则真

            n1 -ne n2   n1n2数值不相当则真

            n1 -lt n2   n1小于n2则真

            n1 -le n2   n1小于等于n2则真

            n1 -gt n2       n1大于n2则真

            n1 -ge n2       n1大于等于n2则真

可用 与 -a -o ! 将条件表达式连接起来


B.   数学计算命令

[语法]:bc [-c] [-l] [file]

[说明]:   bc是一个交互式的高精度计算工具,采用类似于C语言的语法,能够从指定文件中读出命令执行,然后再进入交互式执行,事实上,bcdc的预编译器,它自动激活dc,将语句经预编译后传递给dc,退出bc的命令是quitbc中的ibaseobasescale分别表示输入基数,输出基数,小数点右边的位数。

-c             bc只编译,而不将编译结果送dc,将其送到标准输出上

-l             预定义一个数学函数库,可在bc中使用以下函数

s(x)          sine

c(x)          cosine

e(x)          exponential

l(x)          log

a(x)          arctangent

j(nx)      Bessel

[例子]:

bc -l              进入bc

         scale=10           将小数位定为10

         e(1)          计算e的小数点后10

         quit          退出bc


附录 UNIX 常用命令简单说明

 

    UNIX 命令大多数可用联机帮助手册 man 获得帮助,下面是常用命令及简单说明,可供用户快速查找使用。

 

       命令          功能简述

 

        acctcom       等于进程记帐文件

       accton     启动或中止记帐进程

       adb        汇编语言调试工具

       admin      创建和管理SCCS文件

       ar         档案文件和库文件管理程序

       as         汇编器

       asa        回车控制

       at         在指定时间执行程序

       awk        模式搜索和处理语言

       banner     制作标题

       basename      生成文件基本名(无前。后缀)

       batch      命令的延迟执行

       bc         计算器

       bdiff      大型文件比较

       bfs        大文件搜索

       break      退出循环

       cal        打印日历表

       calendar      打印日历表

       cancel        取消打印任务

       case          分支语句

       cb         C语言整理程序

       cd         改变当前目录

       cc         C语言编译器

       cdc        SCCS实用程序

       cflow      生成C语言流程图

       checkeq       数学公式排版命令

       chgrp      改变文件组

       chmod      改变文件存取模式

       chown      改变文件主

       chroot     改变根目录

       cksum      显示校验和

       clri          清除指定的I节点

       cmp        文件比较

       col        过滤反向换行

       comb          SCCS实用程序

       comm          显示两个排序文件的公共行

       command       执行简单命令

       continue      进入下一循环

       cp         复制文件

       cpio          复制文件档案

       cpp        C语言预处理程序

       crash      检查系统内存映象

       create     建立临时文件

       cref          生成交叉引用表

       cron          在指定时间执行一组命令

       crontab       为命令cron    准备crontab文件

       crypt      加密/解密

       csplit     将一个文件分解

       ct         远程终端注册

       ctags      创建供vi使用的标识符

       cu         呼叫另一UNIX系统

       cut        断开一文件中所选择的字段

       cxref      生成C程序交叉访问表

       date          打印和设置时间

       dc         桌面计算器

       dd         转换和复制文件

       delta      SCCS实用程序

       deroff     去掉排版格式

       devnm      标识设备名

       df         显示可用磁盘空间

       diff          显示两个文件的差异

       diff3      显示三个文件的差异

       dircmp     目录比较

       dis        反汇编程序

       du         显示对磁盘的占用情况

       dump          对指定文件备份

       echo          回显指定参数

       ed         行编辑器

       edit          文本编辑器

       egrep      在文件中查找指定模式

       env        设置命令执行环境

       eqn        数学公式排版命令

       eval          执行指定命令

       ex         行编辑器

       exec          执行指定命令

       exit          进程中止

       expand     使表格占满行宽

       export     将变量传递给子程序

       expr          计算表达式值

       factor     因式分解

       false      返回FALSE

       fgrep      在文件中查找指定模式

       file          确定文件类型

       find          查找符号条件的文件

       fmt        安排简单的文本格式

       fold          折行

       for        循环语句

       fsck          文件系统检查和修复

       fsdb          文件系统调试程序

       fumount       强制性拆协指定资源

       function      函数说明

       fuser      列出使用文件的进程

       fwtmp      产生记帐记录

       get        SCCS实用程序

       getconf       查找配置参数

       getopt     获得命令中的选择项

       getopts       获得命令中的选择项

       getty      设置终端类型、模式、行律等

       grep          在文件中查找指定模式

       head          打印文件的头若干行

       hexdump       按十六进制转储文件

       id         显示用户号

       if         条件语句

       init          UNIX 初启进程

       install       安装一个文件到文件系统

       ipcrm      删除IPC队列

       ipcs          显示IPC状态

       join          连接两个文件(关系操作〕

       kill          中止指定进程

       killall       中止所有活动进程

       labelit       给文件系统提供标号

       ld         目标文件链接编辑器

       lex        词法分析程序

       line          读一行

       link          连接文件

       lint          C程序检查程序

       ln         链接文件

       local      建立局部变量

       logger     显示注册信息

       login      注册

       logname       获取注册名

       look          在排序文件中查找某行

       lorder     查找目标库的次序关系

       lp         打印文件

       lpr        打印文件

       lpstat     显示打印队列状态

       ls         目录列表

       mail          发送或接收电子邮件

       mailx      发送、接收或处理电子邮件

       make          执行有选择的编译

       makekey       生成加密码

       man        显示命令用法

       mesg          接收或取消对话方式

       mkdir      建立目录

       mkfifo     建立FIFO文件

       mkfs       建立文件系统

       mknod      建立文件系统的I节点

       mount      安装文件系统

       mv         移动文件

       mvdir      移动目录

       ncheck     按节点号生成节点名清单

       neqn       数学公式排版命令

       newgrp     把用户加入到新组

       news       打印消息

       nice          改变命令执行优先级

       nl         给文件加行号

       nm         显示目标文件符号表

       nohup      忽略挂起或退出执行命令

       nroff      文本文件排版

       od         按八进制转储文件

       pack          压缩文件

       passwd     改变口令

       paste      文件合并

       pax        可移植档案管理程序

       pcat          显示压缩格式文件

       pg         分屏显示

       pr         按打印格式显示文件

       pstat      报告系统信息

       pwck          口令文件校验程序

       pwd        显示当前工作目录

       quot          检查文件系统所有权

       ratfor     转换成标准FORTRANC程序

       read          从标准输入读一行

       readonly      标记变量为只读

       red        文本编辑器

       regcmp     正规表达式编辑

       restor     文件系统恢复程序

       restore       文件系统恢复程序

       return     返回语句

       rev        颠倒文件中每行字符次序

       rm         删除文件

       rmdel      SCCS使用程序

       rmdir      删除目录

       rsh(net)      远程SHELL

       rsh(sec)      受限SHELL

       runacct       运行日常记帐程序

       sact          SCCS实用程序

       sag        打印系统活动图

       sar        报告系统活动

       sccsdiff      SCCS实用程序

       sdb        符号调试器

       sdiff      并列显示两个文件的差别

       sed        流编辑器

       sendto     发送邮件

       set        设置选项或参数

       setmnt     建立文件系统安装表

       sh         SHELL解释器

       shift      命令行参数移位

       shl        SHELL层(layer)管理程序

       shutdown      关机

       size          显示目标文件长度

       sleep      挂起进程一段时间

       sort          文件排序和合并

       spell      拼写错误检查程序

       spellin       拼写错误检查

       spellout      拼写错误检查

       spline     按平滑曲线输出数据

       split      分解一个文件

       strings       在目标文件中寻找可打印字符

       strip      删除符号表

       stty          设置终端模式

       su         改变用户

       sum        显示文件校验和及块数

       sync          更新磁盘

       tabs          设置制表符

       tbl        表格排版

       tee        在管道上建立多通路

       tic        终端数据库编译程序

       time          打印执行命令所花时间

       tiemx      报告命令所花时间及活动

       touch      更新文件时间

       tput          恢复终端或查询数据库

       tr         转换字符

       trap          捕获信号

       troff      文本文件排版

       true          返回TRUE

       tsort      拓扑排序

       tty        显示终端设备名

       umask      设置文件掩码

       umount     拆卸文件系统

       uname      显示系统名

       unget      SCCS实用程序

       uniq          删除文件中重复行

       units      度量单位转换

       unlink     删除文件

       unpack     将压缩文件还原

       until      循环语句

       update     更新磁盘

       val        SCCS实用程序

       vc         SCCS实用程序

       vi         全屏幕编辑器

       volcopy       文件系统的文字拷贝

       wait          等待所有字进程结束

       while      循环语句

       who        显示谁在使用系统

       whodo      显示哪些用户在做什么

       write      和另一用户直接对话

       xargs      建立参数表并执行命令

       yacc       语法分析程序生成器