首页 > 系统 > Linux > 正文

Linux下的shell与make用法

2020-04-27 18:58:08
字体:
来源:转载
供稿:网友

    一、shell

    1.1 什么是shell

    ● 用户与Linux的接口

    ● 命令解释器

    ● 支持多用户

    ● 支持复杂的编程语言

    ● Shell有很多种,如:csh,tcsh,pdksh,ash,sash,zsh,bash等。Linux的缺省Shell为bash(Bourne Again Shell)。

    Shell是用户和操作系统之间最主要接口。通过Shell,可以同时在后台运行多个应用程序,并且在把需要与用户交互的程序放在前台运行。

    通过在多条命令的序列中使用变量和流程控制,Shell可以作为一名复杂的编程语言。

    1.2 转义字符和通配字符

    ● 转义字符(metacharacters)指的是在Shell中有特殊含义的字符。

    例如:< > | ; ! ? * [ ] $ / " ' ` ~ ( ) { } ^

    #ls file[1-10].c

    #count=`ls –l | grep '^d'| wc –l`

    ● 通配字符(wildcards)是转义字符的子集,用来查找匹配文件名

    例如:? * [] [-] [!]

    ● 使用<Tab>键,可以自动补齐。

    通配一个字符:"?"

    通配多个字符:"*"

    1.3 输入输出重定向

    ● 系统定义三个标准文件:标准输入(stdin)、标准输出(stdout)、标准错误输入(stderr)

    ● 管道符:"|",将前一个命令的输出转成下一个命令的输入。

    ● 过滤器(filters):用来接收标准输入,经过一定的转化,再写到标准输出。所以,过滤器一般放在管道符中间。

    每个程序起动时,就有三个文件描述:STDIN (0),STDOUT(1),STDERR(2)。用"<"改变输入,用">"改变输出,用"2>"改变错误输出,用"》"来追加到已有的文件中。

    常用的过滤器如下:expand,sed,awk,fmt,tac,tr,grep,nl,pr.

    多条命令可以输入到一行中,并用";"字符分隔。在一行命令后加"/"表示另起一行继续输入,下一行的提示符变为">"

    printf("/t"); 

    1.4 Shell变量

    ● Shell变量(Variables)是程序用来保存数据用的。

    ● Shell特殊变量:系统定义了一些特殊的变量。如$HOME等。使用set命令查看当时系统中定义的变量。

    系统定义的特殊变量有:$TERM(当前终端类型),$PATH(命令的搜索路径),$MANPATH(手册页存放的目录),$HOME(用户主目录),$LANG(当前使用语言),$PS1,$PS2(命令提示符),$SHELL(当前Shell名)。

    在命令行上打入:变量名=变量值,可以定义变量。使用 echo $变量名查看变量值。使用 unset 取消对变量的定义。

    #hello="123"

    单引号表示忽略其中所有的转义字符,双引号表示忽略其中除了 $ ` / 以外的其他的转义字符。反斜线(/)表示忽略下一个转义字符。

    多条命令可以输入到一行中,并用";"字符分隔。在一行命令后加"/"表示另起一行继续输入,下一行的提示符变为">"

    ● Shell系统变量
(责任编辑:武林网)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表