闲情逸致 http://EZ38.com
分类: LINUX
2010-03-05 16:06:02
Shell是操作系统与用户进行交互操作的界面 常用的shell有Bsh 、Csh、 Ksh、 Bash(默认加载的) /etc/Shells 默认保存路径 使用cat /etc/Shells可以查看系统支持的shell 直接输入shell名字可以更改当前的shell 修改/etc/passwd 文件可以更改用户默认加载的shell 如:magic:x:500:500:root:/home/magic:/bin/bash Bash的主要功能: v 命令行编辑功能 v 命令和文件名补全功能 v 命令历史功能 v 命令别名功能 v 提供作业控制功能 v 具有将命令序列定义为功能键的功能 v 灵活的Shell脚本编程 Shell变量的分类 v 环境变量 v 预定义变量 v 位置变量 v 用户自定义变量(本地变量) 常用环境变量echo $USER 表示当前用户的登录名称,值与whoami命令的结果一致 echo $UID 表示当前用户的用户名,该变量的值与”id-u”命令的结果一致 echo $SHEL 表示当前用户的登录Shell,值与”passwd”文件中的Shell字段一致 echo $HOME 表示当前用户的登录目录(宿主目录),值与”psaawd”文件中home字段一致 echo $PWD 表示用户当前所在的目录,值与pwd命令的结果一致 echo $PATH 表示当前用户的命令搜索路径,即用户不指定全路径名执行命令时,Shell程 序将在哪些目录以及按照何种顺序进行命令的搜索 echo $PS1 和echo $PS2 环境变量配置文件 /etc/bashrc 系统中用户登陆是默认加载的变量 /etc/profile /home/~/.bash_profile 用户个人环境变量 为隐藏文件位于属主目录下 /home/~/.bashrc 用户自定义变量自定义变量的设置 $ DAY=Sunday 自定义变量 自定义的变量一定要大写 $ echo $DAY 自定义变量的查看与引用 $ export DAY 自定义变量的输出 $ unset DAY 自定义变量的清除 使用Tab键可以补全 命令名 或文件名和文件夹名 使用上下方向键浏览已输入命令(历史命令) $ history 历史命令的查看 属主目录/.bash_history 用户命令历史保存文件 $ history -c 命令历史的清除 $ alias 显示已定义的别名 $ alias lujing='pwd' 命令别名的定义 把pwd 定义为lujing $ alias lujing 取消lujing的别名定义 $ unalias -a 取消所有定义的别名 系统别名定义配置文件在 /etc/profile.d/ 目录的中 输入输出文件 文件编号 默认设备 标准输入 0 键盘 标准输出 1 显示器 标准错误输出 2 显示器 输入重定向 $ wc < test 把test重定向到wc统计“字数 单词数 行数” 输出重定向 $ ls /etc/ > etcdir 将标准输出重定向到etcdir文件 $ ls /etc/sysconfig/ >> etcdir 将标准输出重定向追加到etcdir文件 >>代表追加 $ nocmd 2> errfile 将错误输出重定向到errfile文件 $ ls afile bfile &> errfile 将标准输出和错误输出重定向到errfile文件 管道 cat 123 | head -5 把第一个处理结果交给|以后的参数处理 shell脚本概念:类似与dos批处理、以文本方式保存、执行是不用编译、具有可执行(x)属性 /etc/init.d/ 下存在这很多系统服务的脚本 vi hello.sh 建立并编辑脚本 hello 输入 echo hi,magic 保存 并用chmod 设置可执行权限 $ bash hello.sh 使用Shell命令程序执行脚本程序 $ . hello.sh 使用“.”命令执行脚本程序 $ ./hello.sh 直接执行具有执行属性的脚本程序 (必须具有可执行权限) |