Fosdccf.blog.chinaunix.net
sdccf
全部博文(19283)
Linux酷软(214)
tmp(0)
PostgreSQL(93)
Solaris(383)
AIX(173)
SCOUNIX(575)
DB2(1005)
Shell(386)
C/C++(1187)
MySQL(1750)
Sybase(465)
Oracle(3695)
Informix(548)
HP-UX(0)
IBM AIX(2)
Sun Solaris(0)
BSD(1)
Linux(8597)
SCO UNIX(23)
2011年(1)
2009年(125)
2008年(19094)
2007年(63)
clifford
linky521
曾德标
fengzhan
leon_yu
mcuflowe
yt200902
guanyuji
GY123456
snow888
carlos94
丸喵喵
sean229
cxunix
可怜的猪
cqxc413
xzzgege
wb123456
分类:
2008-04-19 13:06:30
●系统几种常用的shell包括:Korn (ksh ),Bourne (bsh),C (cs)
shell的基本功能有:
● 用户输入命令的语法分析器和命令解释器
● 能够支持多个任务(一个前台和多个后台任务)
● 提供一个shell编程环境
例如: > < | ; ! * ? [ ] $ \ " ' `
● 通配符:能够在代替文件名中多个字符,包括有:
? ---- 替代一个字符
* ---- 替代任意个字符
[ ] --- 替代[ ] 中的任意一个字符
[!] --- 替代除[ ] 中!后字符外的任意一个字符
[-] --- 替代连续字符范围中的任一字符
[!-] -- 替代字符范围以外的任一字符
如: $ls ne?
new net
$ls ?e?
new net few
* ----- 代替多个字符
$ls n*
new nest net
$ls test1*
test1 test1.2 test1.3
$ls ne[stw]
net new
$rm [fghjdn]e[tw]
few net new
$ls *[1-5]
$qprt [!tn]*
myfile few
系统中的标准文件是指标准输入(键盘),标准输出(显示器),标准错误输出(显示器)
●文件描述字
● 每个程序都有自己的文件描述字,程序启动后,shell 定义了三种描述字:STDIN , STDOUT , STDERR分别代表系统的三个标准文件,其它的描述字由程序在打开文件时指定.
● command < filename 输入重定向到文件
● command > filename 输出重定向到文件
● command >> filename 输出重定向附加到文件
● command 2> filename 错误重定向到文件
● command 2>> filename 错误重定向附加到文件
● 输入重定向到文件: <
● $mail student < letter
● $
$ls
file1 file2 file3
输出重定向到文件: >
$ls > ls.out
输出重定向附加到文件 :>>
$who >> whos.there
● 输出重定向的应用---用cat命令创建文件
$cat > newfile
this is a new file, It is created ….
< ctrl+d >
$cat filea fileb
cat : cannot open fileb
●错误输出重定向到文件 : 2 >
$cat filea fileb 2 > errfile
$cat errfile
cat:cannot open fileb
●附加到文件: 2>>
$cat filea fileb 2>> errfile
$command < infile > outfile 2> errfile
$command >> appendfile 2>> errfile < infile
●重定向联合:
$command > outfile2 2>&1
该命令将标准错误输出重定向到与标准输出相同的文件中去
注意:上例与下例不同:
$command 2>&1 outfile
command1 | command2
如: $ls | wc -w
8
● 给出当前目录中的文件数(不包括隐藏文件),等价于:
$ls > tmpfile
$wc -w tmpfile
● 9 tmpfile
$rm tmpfile
●command | filter
cat 作为过滤器,如:
$ls -R /home/wang | cat a* |wc -l
tee作为过滤器。
Tee命令从标准输入读,同时输出到标准输出和文件,起分离输出作用。如:
$ls | tee /tmp/ls.save |wc -w
●同一命令行可以输入多条命令,命令间用 ; 隔开,各命令输入、输出不相关。
●command1 ; command2
●一条命令占多行:当命令在一行太长,希望分行输入时:
● $command1( 前部分 ) \ (回车 )
> command1 ( 后部分 )
如:
$cat /home/student1/datadir/datafile\
>/home/student2/datadir/datafile
上一篇:IBM AIX基础5—文本编辑器
下一篇:IBM AIX基础7—使用shell变量
登录 注册