注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 获取当前页面路径,实现权..
 帮助

Linux上的Shell之FAQ(一)


2007-11-23 14:23:14
 标签:Linux Shell FAQ   [推送到技术圈]

版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://riser.blog.51cto.com/252482/51941
为什么使用Shell编程?
简单快捷,适用性广
 
什么是Shell
Shell是用户和Linux系统之间的接口程序,你可以通过它输入命令以使操作系统执行。
 
文件描述符012分别表示什么?
Shell中, 0表示标准输入,1表示标准输出,2表示标准错误输出。
 
>>符号的作用?
在文件后添加时,使用>>,如:ps >> output.txt,这样ps的结果会添加在output.txt文件的最后,而不会冲掉文件中原有的内容。
 
Shell命令中常见2>&1,这是什么意思?
Shell中,>符号常用来表示重定向输出,前面可用文件描述符表示重定向什么输出,默认为1(即标准输出),如果是重定向标准错误输出,则使用2>,后面如果为&1,则表示将标准错误输出重定向到与标准输出的同一位置。
 
/dev/null的作用?
如果在Shell命令中,你希望把输出的结果丢弃,那么可以直接扔到Linux的垃圾桶里,/dev/null就是这样一个垃圾桶。例如:kill -l 214 > /dev/null
 
怎样重定向输入?
shell中重定向输入使用的是<符号,例如:more < ex.txt
 
为什么需要管道?管道怎么使用?
Shell中管道(pipe)功能很强大,可用来链接命令,实现流水线操作。管道这个名字很形象,它就是命令之间的连接渠道。在使用管道时,你把前一个命令的输出和后一个命令的输入对应地接在一起就行了,使用的符号是“|”。例如:ps | sort | grep -v init | more
 
Shell中的通配符
Shell中的通配符功能也挺强大的,主要有如下几类:
1*:匹配任意字符
2?:匹配单个字符
3[集合]:匹配集合中的字符
4[^集合]:匹配不在集合中的字符
5{}:匹配{}中的内容
 
` `符号的作用
Shell中,一对` `符号表示把包含其中的内容以Shell命令的方式执行,注意与普通引号之间的差别。例如:more `grep -l POSIX *`
 
关于Shell脚本的写法
Shell脚本的编写需要注意如下基本要点:
1)第一行以注释开始,实际上这是一行特殊的注释,#!表示其后列出的是执行该脚本的程序,例如:#!/bin/bash,表示该脚本用/bin/bash程序来解释执行。
2)最后一行使用exit命令结束,以确保脚本能以正常方式退出。
 
Shell脚本赋予执行权限
刚编辑好的Shell脚本是不能直接运行的,如果你希望通过./shellfile的方式运行它,就需要给脚本赋予执行权限,通常的做法是:chmod +x shellfile,也可以根据不同的权限要求,对指定的用户授予权限,如:chmod 766 shellfile(另一种格式:chmod o+x shellfile),则该shellfile文件只有其所有者用户(owner)才能直接执行。

本文出自 “第二次启航” 博客,请务必保留此出处http://riser.blog.51cto.com/252482/51941





    文章评论
 
2007-11-23 14:35:34
介绍shell 学习一下 shell编程是比较深奥的东东

2008-07-15 12:17:11
很不错的东西而且很精简,突出重点。

 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: