shell

shell

什么是shell

	Shell 是Linux系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行
	shell 也被称为LINUX 的命令解释器(command interpreter) 
	shell 是一种高级程序设计语言

bash shell

	GNU Bourne-Again Shell(bash) 是GNU计划中重要的工具软件之一,目前也是 Linux 标准的shell ,与sh兼容
	CentOS 默认使用
	显示当前使用的shell
		echo ${SHELL}
	显示当前系统使用的所有shell
		cat /etc/shells
			cat连续的将文件内容显示到屏幕上
				-n:	由1开始对所有输出的行数编号; 
				-b:	打印行号,只不过对于空白行不编号; 
				-s:	当遇到有连续两行以上的空白行,就代换为一行的空白行; 
				-A:	显示不可打印字符,行尾显示“$”; 
				-e:	等价于"-vE"选项; 
				-t:	等价于"-vT"选项; 
				-E: 	显示行结束符
				-T:	显示制表符
				-v:	显示其他的非打印字符

bash的配置文件

	按生效范围划分,存在两类:
	全局配置:
		/etc/profile
		/etc/profile.d/*.sh
		/etc/bashrc
	个人配置:
		~/.bash_profile
		~/.bashrc
	bash中Profile和bashrc的配置作用
		按功能划分,存在两类:
			profile 类和bashrc类 
		profile 类:
			为交互式登录的shell 提供配置
			全局:/etc/profile,/etc/profile.d/*.sh
			个人:~/.bash_profile
			功用:
				用于定义环境变量
				运行命令或脚本
		bashrc 类:
			为非交互式和交互式登录的shell 提供配置
			全局:/etc/bashrc
			个人:~/.bashrc
			功用:
				定义命令别名和函数
				定义本地变量
	配置文件的生效方式
		修改profile和bashrc文件后可以通过以下来生效
			重启shell进程
			或者 source  ## .|source ~/.bashrc

shell 登录两种方式

	交互式登录:
		直接通过终端输入账号密码登录
		使用“su - UserName”  切换的用户
			执行顺序:/etc/profile --> /etc/profile.d/*.sh -->~/.bash_profile --> ~/.bashrc --> /etc/bashrc
	非交互式登录:
		su UserName
		图形界面下打开的终端
		执行脚本
		任何其它的bash 实例
			执行顺序: ~/.bashrc --> /etc/bashrc -->/etc/profile.d/*.sh
	用户登录前的提示的配置文件
			/etc/issue
	用户登录后提示的配置文件
			/etc/motd

bash中的退出时的任务

	保存在~/.bash_logout 文件中,每个用户可有自己单独的任务,在退出登录的shell是运行。
	一般是用于创建自动备份和清楚临时文件
posted @ 2018-02-02 11:01  shenxm  阅读(230)  评论(0编辑  收藏  举报