UNIX系统管理:shell基础

完成这一章,你能够作以下事情:

了解shell的工作原理

描述用户登录的过程

描述用户环境变量和这些环境变量的功能。

设置和修改shell变量。

了解和修改一些特殊的环境变量例如PATH ,TERM等等。

为特定的应用定制用户环境变量。

6.1 什么是shell?

shell是一个交互性命令解释器。Shell独立于操作系统,这种设计让用户可以灵活选择适合自己需要的shell。shell让你在命令行键入命令,经过shell解释后传送给操作系统(内核)执行。

这一章介绍POSIX shell提供的交互的特征。

以下是shell功能的一个汇总:

查找命令的位置并且执行相关联的程序

为shell变量赋新值

执行命令替代

处理 I/O重定向和管道功能

提供一个解释性的编程语言界面,包括tests,branches 和loops等语句

当你登录到一个unix系统,shell会为你的终端登录线索定义一些特征,然后出现你的提示符。在POSIX,Bourn,K shell中$符号为默认的提示符。C shell中默认的提示符是%号。

6.2 一些通常使用的shell

/usr/bin/sh     POSIX shell

/usr/bin/ksh     Korn shell

/usr/old/bin/sh   Bourne shell

/usr/bin/csh     C shell

/usr/bin/keysh    A contest-sensitive softkey shell

/usr/bin/rksh    Restricted Korn shell

/usr/bin/rsh     Restricted Bourne shell

POSIX shell 、是一个POSIX兼容的命令编程语言和命令解释器。它可以从终端或者是一个文件中读取并且执行命令。POSIX在许多方面同korn shell 相似。有历史机制。支持任务控制,和其他有用的特性。

Korn shell 同POSIX shell十分类似,是由贝尔试验室的">David Korn开发的。

Bourne shell :缺乏许多在POSIX,和korn shell 中的功能。它是由Stephen R. Bourne开发的,是AT&T unix中最先使用的shell

C shell。是一个普通的语言解释器,有命令历史机制,类似C语言的语法。和任务控制工具。它是由university of California at Berkeley 的william Joy开发的。

Rsh 和rksh是Bourne shell 和Korn shell 的受限制的版本。受限制的shell在设置登录名和环境的时候比普遍的shell 有更多的限制。受限制的shell使用起来就象是具有异常现象的标准的shell。

使用受限制的shell的用户不能:

更改目录

重新设定PATH变量的值

在路径名中使用/符号。

重定向输出。

时间: 2024-11-09 05:05:45

UNIX系统管理:shell基础的相关文章

shell基础(转)

  shell基础1:文件安全与权限 http://bbs.chinaunix.net/forum/viewtopic.php?t=434579&highlight=wingger 附:Linux的用户和用户组管理 http://bbs.chinaunix.net/forum/viewtopic.php?t=438660&highlight=wingger shell基础二:查找技巧,find及xargs的使用http://bbs.chinaunix.net/forum/viewtopic

Shell入门:掌握Linux,OS X,Unix的Shell环境

Shell入门:掌握Linux,OS X,Unix的Shell环境 在Linux或类Unix系统中,每个用户和进程都运行在一个特定环境中.这个环境包含了变量.设置.别名.函数以及更多的东西.下面是对Shell环境下一些常用命令的简单介绍,包括每个命令如何使用的例子,以及在命令行下设定你自己的环境来提高效率. 找出你当前的shell 在终端应用中输入下面命令中的任意一个: ps $$ ps -p $$ 或者 echo "$0" 输出范例: 图1:找出当前的shell 找出所有已安装的sh

linux Shell入门:掌握Linux,OS X,Unix的Shell环境_linux shell

在Linux或类Unix系统中,每个用户和进程都运行在一个特定环境中.这个环境包含了变量.设置.别名.函数以及更多的东西.下面是对Shell环境下一些常用命令的简单介绍,包括每个命令如何使用的例子,以及在命令行下设定你自己的环境来提高效率. 找出你当前的shell 在终端应用中输入下面命令中的任意一个: ps $$ ps -p $$ 或者 echo "$0" 输出范例: 图1:找出当前的shell 找出所有已安装的shell 找到已安装shell的完整路径: type -a zsh t

GDB中运行UNIX的shell程序

在gdb环境中,你可以执行UNIX的shell的命令,使用gdb的shell命令来完成: shell <command string> 调用UNIX的shell来执行<command string>,环境变量SHELL中定义的UNIX的shell将会被用来执行<command string>,如果SHELL没有定义,那就使用UNIX的标准shell:/bin/sh.(http://www.aliyun.com/zixun/aggregation/32995.html&q

Shell基础之-awk命令

Shell基础之-awk命令 首先,大家如果看到有什么不懂的地方,欢迎吐槽!!! 我会在当天或者第二天及时回复,并且改进~~ awk编程 awk是一种编程语言.gawk.是最新版本,当前的linux版本用的都是gawk awk是gawk的软链接 awk工作原理 BEGIN #在未读取文件行之前执行 主输入循环 (main input loop),反复执行,直到终止条件触发 END #在读取文件行完毕后执行 1.在shell命令行输入命令调用awk #awk [-f 域分隔符] 'awk cmd'

Shell基础之-变量、比较、测试

Shell基础之-变量.比较.测试 首先,大家如果看到有什么不懂的地方,欢迎吐槽!!! 我会在当天或者第二天及时回复,并且改进~~ 一.变量 环境变量.位置变量.预定义变量 1.环境变量 env #查看环境变量 2.位置变量 vi location.sh #!/bin/bash SUM=`expr $1 + $2` echo "$1 + $2 = $SUM" ./location 12 34 #则12为第一个位置变量赋值为$1,32为第二个为$2.location为预定义变量 3.预定

Shell基础之-cut命令

Shell基础之-Cut命令 首先,大家如果看到有什么不懂的地方,欢迎吐槽!!! 我会在当天或者第二天及时回复,并且改进~~ cut命令用于从标准输入文件或文本文件中按域或行提取文本 cut [option] file cut命令选项及其意义 -c #指定提取的字符数或字符范围 -f #指定提取的域数或域范围 -d #改变域分隔符 cut -c后跟数字表示字符数或字符范围,共有三种表示方式 -cn 表示第n个字符 -cn-m 表示n-m个字符 -cn,m 表示n.m两个字符 cut -f后跟数字

Shell基础之-sed命令

Shell基础之-sed命令 首先,大家如果看到有什么不懂的地方,欢迎吐槽!!! 我会在当天或者第二天及时回复,并且改进~~ sed 是一个非交互式文本编辑器,它可对文本文件和标准输入进行编辑 sed只是对缓冲区中原始文件的副本进行编辑,并不编辑原始的文件 sed命令调用的三种方式 1.在shell命令行输出命令调用sed sed [option] 'sed cmd' file 2.将sed命令插入脚本 sed [option] -f 'sed.sh' file vi sed.sh sed要调用

Webmin 1.560发布 基于Web的Unix系统管理工具

Webmin 1.560该版式本有一些重大的更新包括翻译更新,网络桥接的支持,一个新的文本登录模块不再需要Java的支持,GPT支持大硬盘,支持CentOS 6等等. Webmin是目前功能最强大的基于Web的Unix系统管理工具.管理员通过浏览器访问Webmin的各种http://www.aliyun.com/zixun/aggregation/17569.html">管理功能并完成相应的管理动作.目前Webmin支持绝大多数的Unix系统,这些系统除了各种版本的linux以外还包括:A

UNIX系统管理:管理文件

完成这一章,你能做以下事情:使用文件操作命令对文件进行操作. 解释排队打印队列的作用. 认识和使用 交互性的排队打印命令. 监视排队打印系统的状态.&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;1 什么是文件 一个数据的容器或者是一个设备的链接?每一个文件有一个名字,文件可能保存有存储在磁盘上的数据 ?有几种不同类别的文件: - 普通文件-?文本文件,数据文件,图片-?可执行的程序-?目录-?设备文件 UNIX系