『忘了再学』Shell基础 — 23、其他环境变量配置文件
1、注销时生效的环境变量配置文件
在用户退出登录时,只会调用一个环境变量配置文件,就是~/.bash_logout
文件。
这个文件默认没有写入任何内容,可是如果我们希望再退出登录时执行一些操作,比如清除历史命令,或者备份某些数据,就可以把命令写入这个文件。
2、其他配置文件
还有一些环节变量配置文件,最常见的就是~/.bash_history
文件,也就是历史命令保存文件。
3、Shell登录信息相关文件
(1)/etc/issue文件说明
我们在登录tty1-tty6
这六个本地终端时,会有几行的欢迎界面。
这些欢迎信息是保存在哪里的?可以修改吗?
当然可以修改,这些欢迎信息是保存在/etc/issue
文件中,
该文件就是一个普通文件显示,配置的内容,重启生效。
我们查看下这个文件:
[root@localhost ~]# cat /etc/issue
# 当前CentOS系统的版本
CentOS release 6.8 (Final)
# 当前系统的主要相关信息
Kernel \r on an \m
可以支持的转义符我们可以通过man agetty
命令查询,在表中我们列出常见的转义符作用:
转义符 | 作用 |
---|---|
\d |
显示当前系统日期。 |
\s |
显示操作系统名称。 |
\l |
显示登录的终端号,这个比较常用。 |
\m |
显示硬件体系结构,如1386,1686等。 |
\n |
显示主机名。 |
\o |
显示域名。 |
\r |
显示内核版本。 |
\t |
显示当前系统时间。 |
\u |
显示当前登录用户的序列号。 |
注意:该欢迎信息,值对本地的
tty1-tty6
终端生效,远程终端,如ssh
登陆的终端是看不到上面信息的。
(2)/etc/issue.net文件说明
/etc/issue
文件是在本地终端登录时显示欢迎信息的文件,如果是远程登录(如ssh
远程登录,或telnet
远程登录)需要显示欢迎信息,则需要配置/etc/issue.net
文件。
使用这个文件时需要注意:
- 首先,在
/etc/issue
文件中支持的转义符,在/etc/issue.net
文件中是不能使用的。 - 其次,
ssh
远程登录是否显示/etc/issue.net
文件中的欢迎信息,是由ssh
的配置文件决定的。 - 如果我们需要ssh远程登录可以查看
/etc/issue.net
的欢迎信息,那么首先需要修改ssh
的配置文件/etc/ssh/sshd_config
,加入如下内容:[root@localhost ~]# cat /etc/ssh/sshd_config # …省略部分输出… # 把Banner none的注释打开
# 然后添加/etc/issue.net文件在Banner后
# 使issue.net文件生效 # no default banner path
# Banner none
Banner /etc/issue.net # …省略部分输出…
这样在
ssh
远程登录时,也可以显示欢迎信息,只是不再可以识别\d
和\l
等信息了。 - 配置完成
/etc/issue.net
文件,重启远程终端即可。
(3)/etc/motd文件说明
/etc/motd
文件中也是显示欢迎信息的,
这个文件和/etc/issue
及/etc/issue.net
文件的区别是:
/etc/issue
及/etc/issue.net
是在用户登录之前显示欢迎信息,
而/etc/motd
是在用户输入用户名和密码,正确登录之后显示欢迎信息。
在/etc/motd
文件中的欢迎信息,不论是本地登录,还是远程登录都可以显示。
提示:
更多的建议在
/etc/motd
文件中写一些警告信息,而不是欢迎信息。
/etc/motd
文件是一个空文件,直接编辑你需要显示的内容即可。配置完成
/etc/motd
文件,重启远程终端即可。
4、定义Bash快捷键
查询系统中所有生效的快捷键
[root@localhost ~]# stty -a
修改Bash快捷键:
# 格式
[root@localhost ~]# stty 关键字 快捷键
# 查看查询系统中所有生效的快捷键
[root@localhost ~]# stty -a
speed 38400 baud; rows 24; columns 87; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>;
swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V;
flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts -cdtrdsr
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc
-ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl
echoke
# 修改intr快捷键
# 定义ctrl+p快捷键为强制终止,^字符只要手工输入即可。
[root@localhost ~]# stty intr ^p
# 查看查询系统中所有生效的快捷键
[root@localhost ~]# stty -a
speed 38400 baud; rows 24; columns 87; line = 0;
intr = ^P; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>;
swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V;
flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts -cdtrdsr
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc
-ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl
echoke
提示:系统默认的快捷键,并不建议更改,这里只是告诉你可以修改。
『忘了再学』Shell基础 — 23、其他环境变量配置文件的更多相关文章
- 『忘了再学』Shell基础 — 13、环境变量(一)
目录 1.用户自定义的环境变量 (1)环境变量设置 (2)查询自定义环境变量 (3)删除自定义环境变量 2.系统自带的环境变量--PATH环境变量 (1)PATH环境变量 (2)PATH环境变量的作用 ...
- 『忘了再学』Shell基础 — 14、环境变量(二)
目录 1.PS1变量的作用 2.PS1变量的查看 2.PS1可以支持的选项 3.PS1环境变量的配置 4.总结 提示: 在Linux系统中,环境变量分为两种.一种是用户自定义的环境变量,另一种是系统自 ...
- 『忘了再学』Shell基础 — 15、环境变量(三)
目录 1.LANG语系变量介绍 2.如何查看Linux中支持的语系 3.查看当前系统的语系 4.总结 提示: 在Linux系统中,环境变量分为两种.一种是用户自定义的环境变量,另一种是系统自带的环境变 ...
- 『忘了再学』Shell基础 — 12、用户自定义变量
目录 1.变量定义 2.变量调用 3.变量的修改 4.查看变量 (1)-u选项说明: (2)-x选项说明: (3)set命令说明: 5.变量删除 1.变量定义 变量正确定义. 格式:变量名=" ...
- 『忘了再学』Shell基础 — 16、位置参数变量
目录 1.位置参数变量$n 2.位置参数变量$*和$@ 3.位置参数变量$# 位置參数变量的作用主要用于脚本的传参. 位置參数变量的名称和作用都是确定不能改变的,但是该变量的内容是可以更改的,也就是变 ...
- 『忘了再学』Shell基础 — 11、变量定义的规则和分类
目录 1.定义变量的规则 2.变量的分类 1.定义变量的规则 在定义变量时,有一些规则需要遵守 变量名称可以由字母.数字和下划线组成,但是不能以数字开头.如果变量名是2name则是错误的. 在Bash ...
- 『忘了再学』Shell基础 — 5、Bash基本功能(命令的别名和常用快捷键)
目录 1.给命令设置别名 (1)设置别名的命令格式 (2)命令别名永久生效 (3)别名的优先级 2.Bash常用快捷键 1.给命令设置别名 Linux系统的命令别名我们之前已经说过了,这里再过一边. ...
- 『忘了再学』Shell基础 — 22、主要的环境变量配置文件说明
目录 1.source命令 2.Linux系统中环境变量配置文件 (1)登录时生效的环境变量配置文件 (2)/etc/profile环境变量配置文件 (3)/etc/profile.d/*.sh环境变 ...
- 『忘了再学』Shell基础 — 4、Bash基本功能(history命令)
目录 1.history历史命令 2.设置命令历史记录的条数 3.清空历史命令 4.历史命令的调用 5.命令与文件的补全 在Linux系统中默认的Shell就是Bourne-AgainShell(简称 ...
随机推荐
- 前端面试题整理——普通函数和new函数
下列代码的输出值: function A() { console.log(1) } function fn() { A = function () { console.log(2) } return ...
- 什么是静态内部(Static Inner)类,语法要注意什么?
4静态内部类(Static Inner Classes) 马克-to-win:这里的内部类的static,意思是它可以不用实例化外部类,就自己单独被实例化,单独存在(有点像生活中的办公室和办公桌(独立 ...
- java中内部类中还有内部类请给实例!
2.当内部类中还有一个内部类,下面给出了一个实例.[新手可忽略不影响继续学习](以下多出代码, 用蓝色标记)例2.2:class ShellMark_to_win { int shell_x = ...
- javascript当中嵌套函数
3)嵌套函数例 3.3.1<head> <meta http-equiv="content-type" content="text/html; c ...
- 在 MarkDown 中添加表格(例如:在 CSDN 中添加表格)
内容 一.使用 Markdown 创建表格(例如:在 CSDN 中创建表格) 1. 表格格式 对齐方式 -: 设置内容和标题栏居右对齐: :- 设置内容和标题栏居左对齐: :-: 设置内容和标题栏居中 ...
- Idea导出jar包和使用自定义API
自定义jar简单实现案例 学习内容 1. 自定义工具类 2. 导出jar 3. 加载Jar包 4. 调用自定义的API方法 总结 学习内容 1. 自定义工具类 新建一个java项目,然后创建包和工具类 ...
- vue点击按钮复制文本框内容
1.npm进行安装 npm install clipboard --save 2.在需要使用的组件中import 引用方法:import Clipboard from 'clipboard'; 3.添 ...
- OA办公软件篇(二)—权限管理
权限管理的背景 权限管理的作用 迭代历程 关键名词释义 权限管理模型 具体实现 写在最后 权限管理的背景 在OA办公软件篇(一)-组织架构一文中,我们说到组织架构是软件系统的权限体系的重要搭建依据 ...
- 简单说一说jsonp原理
背景:由于浏览器同源策略的限制,非同源下的请求,都会产生跨域问题,jsonp即是为了解决这个问题出现的一种简便解决方案. 同源策略即:同一协议,同一域名,同一端口号.当其中一个不满足时,我们的请求即会 ...
- Halo 开源项目学习(四):发布文章与页面
基本介绍 博客最基本的功能就是让作者能够自由发布自己的文章,分享自己观点,记录学习的过程.Halo 为用户提供了发布文章和展示自定义页面的功能,下面我们分析一下这些功能的实现过程. 管理员发布文章 H ...