1.shell基本参数#cat/etc/shells系统提供的shell位置#bsh,csh,ksh,bash更改root用户的shell环境#chsh更改普通用户的shell环境#more/etc/passwd查看所有用户的shell环境2.Shell变量2.1、环境变量#set|more查看环境变量2.2、常用环境变量介绍#echo$USER显示当前用户的登录名#echo$UID显示当前用户的用户ID#echo$SHELL显示当前用户的登录shell#echo$HOME显示当前用户的主目录#echo$PWD显示当前用户的目录#echo$PATH表示当前用户的命令搜索路径#echo$PS1显示当前用户的主提示符#echo$PS2显示当前用户的辅助提示符2.3、环境变量配置文件#ls-l/etc/bashrc/etc/profile显示环境变量的全局配置文件“bashrc”用于定义全局函数和别名。该文件的内容除了系统中的所有登录用户提供的设置也适用于非交互式shell和非登录shell“配置文件”文件负责设置全局环境并适用于所有用户登录shell#ls-l/home/用户名/.bash_profile/home/用户名/。bashrc显示用户username的配置文件#cd/etc/skel进入初始用户配置文件#cp.bash_logout.bash_profile.bashrc.emacs.gtkrc/home/username复制用户初始配置文件到用户username(when用户自己配置文件设置错误时使用)2.4、位置变量格式:$nn从1到9单引号(''):不进行任何变量替换,保持字符串原值双引号(""):替换为变量的值,并将其作为字符串的一部分反引号(``):用于命令替换,引号中命令的执行结果会将命令本身替换为字符串2.5,预定义变量#echo$#表示位置参数变量#echo$*表示位置参数#echo$?的内容命令执行后返回的状态,用于检查命令执行是否正确;在Linux中,命令退出状态为0表示命令正确执行,任何非零值表示命令执行错误#echo$$表示当前进程的进程号#echo$!表示后台运行的最后一个进程号#echo$0表示当前正在执行的进程的名称2.6、用户自定义变量#variableName=变量值DAY=Sunday#echo$变量名echo$DAY#unset-f-vname2.7、bash常用函数#history历史命令查看#history-c命令历史清除2.8、命令别名#aliascommand='newCommand'aliasll='ls-l'用llalias代替ls-lcommand#unalias-anamecancelcommandalias#cd/etc/profile.d/查看系统别名定义文件3、管道和重定向3.1、输入heavyOrientation#wc/etc/passwd计算文件/etc中的字符数、单词数和行数/passwd#wcfile将/ect/passwd下的内容覆盖到文件#cat/etc/passwd>>file将/etc/passwd下的内容追加到file#aaa2>errfile将aaa命令显示的错误结果输入到errfile#lsafilebfile&>allfile将标准输出和错误输出重定向到同一个文件#ls/etc/passwd/|head-5显示passwd4前5行的内容ShellScript#ls-l/etc/init.d/目录下有相当多的系统服务启动程序,都是Shell脚本文件,可以使用file命令查询这些文件的类型#bash*.sh使用shell命令执行脚本#。/home/techer/filename.sh在shell中执行filename.sh比较大小#!/bin/bashif[$1-gt$2]thenecho"$1>$2"elseecho"$2>$1"fi#数字判断一些命令#-gt表示大于#-lt表示小于#-eq表示等于#-ne表示不等于#-ge表示大于或等于#le表示小于平等的
