1
1楼 gron 2010-04-11 apropos key-word 找到和 key-word 相关的命令。
man -k key-word 也可以做到 whatis commandname 显示该命令的一句话帮助。
commandname. man -a commandname 显示命令的解释信息。
commandname. (Unix style) info commandname 显示很长的命令解释 commandname. (GNU style) type -a commandname 显示命令 commandname 的信息。
一: shell 基本 shell 命令解释器 目前流行的shell有ash、bash、ksh、csh、zsh等,你可以用下面的命令来查看你自己的shell类型: #echo $SHELL
查看本机器支持的shell #cat /etc/shells 或 chsh -l 改变用户的默认shell
#chsh -s /bin/sh USER 可以直接输入 shell-name
sunOS 默认是 csh, linux默认是 bash shell基本语法 输入输出重定向 > >> < >&s 管道pipe | command1| command2 command1| &command2 前台和后台 & ctrl + z bg fg 注意有时 shell 退出时 被 bg的程序也会退出, AIX 的shell 需要系统设置 要使用 nohup [n]> file 重定向标准输出(或 n)到file。 [n]>> file 重定向标准输出(或 n)到file。 [n]< file 将file重定向到标准输入(或 n)。 [n1]>&n2 重定向标准输出(或 n1)到n2。 > file >&2 重定向标准输出和错误输出到file。 | command 将标准输出通过管道传递给command。 >&2 | command 将标准输出或错误输出通过管道传递给command。 $ echo Hello >foo $ exec 3<foo 4>bar # 打开文件 $ cat <&3 >&4 # 重定向标准输入到 3,标准输出到 4 $ exec 3<&- 4>&- # 关闭文件 $ cat bar Hello n<&- 和 n>&- 表示关闭文件描述符 n。 shell程序的变量和参数 $0 = shell名称或shel脚本名称 $1 = 第一个(1)shell参数 ... $9 = 第九个(9)shell参数 $# = 位置参数的个数 "$*" = "$1 $2 $3 $4 ... $n" "$@" = "$1" "$2" "$3" "$4" ... "$n" $? = 最近执行的命令的退出状态 $$ = 当前shell脚本的PID $! = 最近启动的后台作业的PID 需要记住的基本扩展参数: Form If var is set If var is not set ${var:-string} $var string ${var:+string} string null ${var:=string} $var string (并且执行var=string) ${var:?string} $var (返回string然后退出) ${parameter:offset:length} Form Result ${var%suffix} 删除位于var结尾的suffix最小匹配模式 ${var%%suffix} 删除位于var结尾的suffix最大匹配模式 ${var#prefix} 删除位于var开头的prefix最小匹配模式 ${var##prefix} 删除位于var开头的prefix最大匹配模式 ${!prefix*} ${!prefix@} ${!name[@]} ${!name[*]} ${#parameter} ${parameter#word} ${parameter##word} ${parameter%word} ${parameter%%word} ${parameter/pattern/string} ${parameter//pattern/string} $(command) `command` $((expression)) shell程序设计的流程控制 test测试命令 man test 条件表达式 command && if_success_run_this_command_too command || if_not_success_run_this_command_too if条件语句 man test if list; then list; [ elif list; then list; ] ... [ else list; ] fi if [ ] if [ ] ; then then echo "" elif [ ] then echo "" else echo "" fi for循环 for name [ in word ] ; do list ; done for (( expr1 ; expr2 ; expr3 )) ; do list ; done select name [ in word ] ; do list ; done while和until循环 while list; do list; done until list; do list; done case条件选择 case word in [ [(] pattern [ | pattern ] ... ) list ;; ] ... esac case variable in exp-1) ;; exp-2) ;; *) 其他命令行 esac break和continue function Function name { 若干命令行 } 调用函数的格式为: functionname param1 param2…… 命令分组 “()”和“{}”, 信号 trap 运行shell程序的方法 sh shell程序文件名 该方法的优点是可以利用shell调试功能 sh<SHELL程序文件名< p> 这种方式就是利用输入重定向,使shell命令解释程序的输入取自指定的程序文件。 用chmod命令使shell程序成为可执行的 bash程序的调试 -e:如果一个命令失败就立即退出 -n:读入命令但是不执行它们 -u:置换时把未设置的变量看作出错 -v:当读入shell输入行时把它们显示出来 -x:执行命令时把命令和它们的参数显示出来 bash的内部命令 echo eval shell读入参数args,并将它们组合成一个新的命令,然后执行。 exec export readonly 将一个用户定义的shell变量标识为不可变的。不带任何参数的readonly命令将显示出所有只读的shell变量。 read 从标准输入设备读入一行,分解成若干字,赋值给shell程序内部定义的变量。 shift shift语句按如下方式重新命名所有的位置参数变量:$2成为$1,$3成为$2……在程序中每使用一次shift语句,都使所有的位置参数依次向左移动一个位置,并使位置参数“$#”减一,直到减到0。 wait exit “.”(点) 使shell读入指定的shell程序文件并依次执行文件中的所有语句。 YYMM=$1 expr $YYMM + 1 > /dev/null 2>&1 if [ $? -ne 0 ] then exit fi . 一: 常用命令 echo -n 不换行 ls -d 将目录象文件一样显示,而不是显示其下的文件。 -a 列出目录下的所有文件,包括以 . 开头的隐含文件。 -l 列出文件的详细信息。 -m 横向输出文件名,并以“,”作分格符。 -p -F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通 文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。 -1 一行只输出一个文件。 cp -f 删除已经存在的目标文件而不提示。 -i 和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。 -r 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。 rm -f 删除已经存在的目标文件而不提示。 -i 和f选项相反,在删除目标文件之前将给出提示要求用户确认。。 -r 若给出的源文件是一目录文件,此时rm 将递归删除该目录下所有的子目录和文件。 mkdir -p 创建丢失中间路径名称目录 -m 标志为新的目录指定许可权 mkdir -p -m $(umask -S),u+wx $(dirname Directory) && chown chgrp groupadd useradd alias locate basename dirname paste -d List 用指定在 List 参数(缺省是制表符)中的一个或多个字符来更改分隔输出中相应行的定界符。 join diff comm sort -k [ FStart [ .CStart ] ] [ Modifier ] [ , [ FEnd [ .CEnd ] ][ Modifier ] ] [+[FSkip1] [.CSkip1] [Modifier] ] [-[FSkip2] [.CSkip2] [Modifier]] -n 按算术值对数字字段排序。数字字段可包含前导空格、可选减号、十进制数字、千分位分隔符和可选基数符。对包含任何非数字字符的字段进行数字排序会出现无法预知的结果。 o OutFile 将输出指向 OutFile 参数指定的文件,而不是标准输出。OutFile 参数值可以与 File 参数值相同。 -r 颠倒指定排序的顺序。 -T Directory 将创建的所有临时文件放入 Directory 参数指定的目录中。 uniq -c 在输出行前面加上每行在输入文件中出现的次数。 -d 仅显示重复行。 -u 仅显示不重复的行。 cat head tail tac cut wc grep sed tr awk expect perl lsof nc zcat tar gzip gunzip bzip2 bc dc expr find xargs let seq vim %!command ar date mc nm seq 1000|factor|cut -f2 -d' '|sort -n |uniq 求1000以内的素数
搜索墙@2009 www.pkwall.com all rights reserved QQ:276471788 [京ICP备09111534号]
声明:本站部分数据来源于网络,仅供参考,如有版权问题,请联系我们,我们将及时删除!转载本站请注明来源
| ||||||||||||||||||||||||||||||||||||||||||||