第十一章 认识Bash Shell

系统可用的shell:/etc/shells

主要的两个shell:bash 、csh   系统默认:bash shell

用户执行的命令记录在:~/.bash_history

type 命令可查询执行的命令式内部命令还是外部命令

命令格式:command [-option] paremeter

其中,[]并不是实际存在命令中 ,命令太长可以以“\” 转义,“\”后接特殊字符

环境变量通常以大写字母表示,echo $变量 (显示变量内容)

在设置变量时 "=" 两边不能有空格

变量名只能是英文或者是数字,而数字不能作为变量的开头

“ ''” 内的特殊字符转换为一般字符 而“""”内的特殊字符可以保持变量特性

“\” 转义符号可以将特殊符号转换为一般符号

export 提示变量为环境变量

unset 变量名称(取消变量)

在一串命令中,``之内的命令先执行,而其执行结果作为外部输入

env 命令:显示系统的环境变量

$RANDOM 为随机变量 其取值 0~32767之间,若去0~9之间的随机数:declare -i number=$RANDOM * 10 / 32767;echo $number

与当前shell的操作接口有关的变量,都会设置为大写字母

PS1变量:设置系统提示符 其中,\d 日期 \H 完整的主机名 \h 显示主机名称的第一个名称 \t 显示时间(24小时) \T 显示时间(12小时) \A 显示时间(精确到分) \u 显示当前系统的用户账号 \v 显示bash的版本信息 \w 完整工作目录名称 \W 工作目录名称 \# 执行第几个命令 \$ 提示符 $: 本shell的PID ?: 上一个执行命令的回传码

Linux 支持的语系: locale 查看

语系环境变量:/usr/lib/locale目录中

LANG 主语言环境

LC_CTYPE 字符判别的编码

LC_NUMERIC 数字系统的显示信息

LC_TIME 时间系统的显示数据

LC_COLLATE 字符串的比较与排序

LC_MONETARY 币值格式的显示

LC_MESSAGES 消息的显示

LC_ALL 语言环境的整体设置

语系配置文件:/etc/sysconfig/i18n

read 的变量读取从键盘输入的变量 -p 提示信息 -t 秒数

declare 声明变量的属性 -a 数组 -i 整数 -x定义为环境变量 -r 变量只读,不能设置,也不能取消

数组以${数组} 的方式读取

ulimit 限制用户使用的系统资源

-H 严格显示 -S 警告 -a 列出所有的限制 -C 可建立的最大核心文件容量 -d 程序数据可使用的最大容量 -f 此shell可建立的最大文件容量,一般为2G -t可用于锁定的内存容量 -p可用于管道处理数量 -t 可使用的最大CPU时间 -u 用户使用的最大进程数

alias 设置别名 unalias 取消别名

history 历史命令 -n 列出N行 -c 清楚 -a 当前新增的history -r 将histfiles文件中内容读入到当前shell的历史记录中 -w 将当前的历史记录内容加入到histfiles文件中

/etc/issue 或 /etc/motd 设置显示登录消息

/etc/issue.net 设置远程telnet 显示消息

环境变量设置文件:bashrc、~/.bashrc 、~/.profile、/etc/inputrc、source.

注:在命令行输入的变量,命令别名都针对此次登录生效

一. 系统设置值

  1./etc/sysconfig/i18n 语言/语系设置文件

  2./etc/profile 该文件设置的几个重要变量(PATH USER MAIL HOSTNAME HISTSIZE UMASK等)

  3./etc/profile.d/*.sh

  4./etc/man.config (man路径设置)

二.系统设置值

  1.~/.bash_profile (优先) ~/.bash_login 、~/.profile (只要一个即可,登录读取)

  2.~/.bashrc (执行shell时会读取)

  3.~/.history (登录读取)

  4.~/.bash_logout

一般用户登录设置文件:

 1./etc/profile -> /etc/profile.d与inputrc -> ~/.bash_profile 或者 ~/.bash_login 或者 ~/.profile -> ~/.bashrc(最终读取)

# source ~/.bashrc 将设置文件读取到当前shell的环境变量中,立即生效

# . /.bashrc 同上

三. 终端环境设置

stty (set tty)-a 列出参数 “^”表示 ctrl和按那个键的意思

主要参数:

eof:end of file 输入结束

erase:向后删除字符

intr