shell
程序员文章站
2022-08-09 22:07:20
shell 什么是shell bash shell bash的配置文件 shell 登录两种方式 bash中的退出时的任务 ......
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是运行。
一般是用于创建自动备份和清楚临时文件