bash的配置文件

一、shell的两种登录方式:

1、交互式登录:

(1)直接通过终端输入账号密码登录

(2)使用“su - UserName” 切换的用户

执行顺序:/etc/profile --> /etc/profile.d/*.sh --> ~/.bash_profile --> ~/.bashrc --> /etc/bashrc

2、非交互式登录:

(1)su UserName

(2)图形界面下打开的终端

(3)执行脚本

(4)任何其它的bash实例

执行顺序: ~/.bashrc --> /etc/bashrc --> /etc/profile.d/*.sh

二、bash的配置文件

1、按生效范围划分,有两类:

  • 全局配置:

    • /etc/profile
    • /etc/profile.d/*.sh
    • /etc/bashrc
  • 个人配置:
    • ~/.bash_profile
    • ~/.bashrc

2、按功能划分,存在两类:

  • profile类:为交互式登录的shell提供配置

    • 全局:/etc/profile, /etc/profile.d/*.sh
    • 个人:~/.bash_profile

      功用:

      (1) 用于定义环境变量

      (2) 运行命令或脚本
  • bashrc类:为非交互式和交互式登录的shell提供配置

    • 全局:/etc/bashrc
    • 个人:~/.bashrc

      功用:

      (1) 定义命令别名和函数

      (2) 定义本地变量

3.修改profile和bashrc文件后需生效

两种方法:

1重新启动shell进程

2 . 或source

例:

. ~/.bashrc

注意:(1) . 或source 是在当前shell中生效;bash file 是开一个子进程去生效。

(2) 脚本中不支持别名

三、bash退出任务

退出时运行的脚本

保存在~/.bash_logout文件中(用户)

在退出登录shell时运行,常用于:

  • 创建自动备份
  • 清除临时文件

四、练习

1、让所有用户的PATH环境变量的值多出一个路径,例如:/usr/local/apache/bin

在 /etc/profile.d/env. sh 文件,重新添加PATH变量。

PS1="\[\e[1;36m\][\u@\h \W]\\$\[\e[0m\]"
PATH=/usr/local/apache/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

2、用户root登录时,将命令指示符变成红色,并自动启用如下别名:

rm=‘rm –i’

cdnet=‘cd /etc/sysconfig/network-scripts/’

editnet=‘vim /etc/sysconfig/network-scripts/ifcfg-eth0’

editnet=‘vim /etc/sysconfig/network-scripts/ifcfg-eno16777736 或 ifcfg-ens33 ’ (如果系统是CentOS7)

命令符红色:

在/etc/profile.d/env.sh中定义
PS1="\[\e[1;31m22\][\u@\h \W]\\$\[\e[0m\]"

定义别名:

在 ~/.bashrc中将放入以下命令:
alias rm=‘rm –i’
alias cdnet=‘cd /etc/sysconfig/network-scripts/’
alias editnet=‘vim /etc/sysconfig/network-scripts/ifcfg-eth0’
alias editnet=‘vim /etc/sysconfig/network-scripts/ifcfg-eno16777736 或 ifcfg-ens33 ’

3、任意用户登录系统时,显示红色字体的警示提醒信息“Hi,dangerous !”

在/etc/profile.d/env.sh 中添加

echo -e "\e[1;31mHi,dangerous ! \e[0m"

4、编写生成脚本基本格式的脚本,包括作者,联系方式,版本,时间,描述等

5、编写用户的环境初始化脚本reset.sh,包括别名,登录提示符,vim的设置,环境变量等

vim  /root/reset.sh

bash配置文件的更多相关文章

  1. Mac下的Bash配置文件冲突问题

    Mac下默认的Bash配置文件是~/.profile.有的软件安装时会生成~/.bash_profiel.有了这个文件.之前的.profiel就不会再被加载,需要手动把里面的文件内容转移到.bash_ ...

  2. 多人共用一个Linux用户, 实现Bash配置文件独立

    本文中提到的 账户, 用户 均表示同一概念. 例如 ssh wbourne@192.168.xxx.101, 账户, 用户 指的均是 wbourne. 背景 在工作中, 我们经常会连接Linux服务器 ...

  3. Linux 下 Bash配置文件读取

    Linux安装时可能要修改的配置文件:/etc/profile./etc/bashrc(ubuntu没有这个文件,对应地,其有/etc/bash.bashrc文件.我用的是ubuntu系统,所以下面将 ...

  4. linux shell编程之变量和bash配置文件(第一篇)

    编程语言有两类 强类型:如C语言.数据具有其特定的类型,先声明定义后才能使用.数据运算时必须符合类型要求(如不能把字符串类型数据直接与整型数据做算数运算) 弱类型:如shell.数据默认为字符型,不用 ...

  5. Bash脚本编程之脚本基础和bash配置文件

    脚本基础 参考资料:Shell Scripts (Bash Reference Manual) 不严谨地说,编程语言根据代码运行的方式,可以分为两种方式: 编译运行:需要先将人类可识别的代码文件编译成 ...

  6. bash配置文件说明

    login shell: /etc/profile 所有用户全局设定,它首先会调用以下文件:     /etc/inputrc     /etc/profile.d/*.sh     /etc/sys ...

  7. bash 配置文件

    两类: profile类:为交互式登录的shell进程提供配置 bashrc类:为非交互式登录的shell进程提供配置 登录类型: 交互式登录shell进程: 直接通过某终端输入账号和密码后登录打开的 ...

  8. (转) linux下vim和bash配置文件

    1.注释版  ~/.vimrc "去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限 set nocompatible set autoread " 文件修改之后自动载入 ...

  9. bash启动时加载配置文件过程

    本文目录: 1.1 判断是否交互式.是否登录式 1.2 几种常见的bash启动方式 1.3 加载bash环境配置文件 当用户登录系统时,会加载各种bash配置文件,还会设置或清空一系列变量,有时还会执 ...

随机推荐

  1. Java 创建bat命令文件运行可执行jar包

    在可执行jar包所在文件夹下创建txt文件(必须在同一文件夹目录下),打开创建的txt文件输入如下内容并保存: @echo off java -jar 包名.jar pause 如下图所示: 然后将后 ...

  2. vs 小贴士

    1. ubuntu上vs code root执行 sudo code --user-data-dir="~/.vscode-root" 2. 设置vs code 打开在新的标签页打 ...

  3. 04: CI(持续集成)/CD(持续交付/持续部署)

    1.1 持续集成.持续交付 介绍   参考博客:https://www.cnblogs.com/cay83/p/8856231.html 1.传统交付 1. 传统软件的开发与交付的周期都很漫长,从需求 ...

  4. msql 事务

    START TRANSACTION      delete from t_emp    delete from t_deptcommit START TRANSACTION delete from t ...

  5. 不用再去找rem了,你想要的rem都在这

    一.兼容性. 目前,IE9+,Firefox.Chrome.Safari.Opera 的主流版本都支持了rem(大胆用吧,目前几乎所有手机浏览器都支持rem) 二.什么是rem. rem是相对于根元素 ...

  6. 什么是RESTful API、WSGI、pecan

    RESTful API REST的全称是Representational State Transfer(表征状态转移), 是Roy Fielding在他的博士论文Architectural Style ...

  7. 如何写一个 Burp 插件

    Burp 是 Web 安全测试中不可或缺的神器.每一个师傅的电脑里面应该都有一个 Burp.同时 Burp 和很多其他神器一样,它也支持插件.但是目前总体来说网上 Burp 插件开发的资料不是特别特别 ...

  8. [Linux]Linux下经常会用到的简单实例(持续更新)

    1.查找某些进程并结束他们: ps -elf | grep '进程关键字' | awk '{print $4}'| xargs kill -9 解析: ps -elf 的 -e 代表列出所有进程,-l ...

  9. ftp建立虚拟用户实现文件上传和下载

    环境 centos7 1.开启vsftpd服务 2.检查vsftpd服务是否开启 3.添加虚拟用户口令文件 vi etc/vsftpd/vuser.txt 4.生成虚拟用户口令认证文件 如果没有db_ ...

  10. saiku数据实现实时更新

    (1) # vim saiku-server/tomcat/webapps/ROOT/js/saiku/Settings.yaml 将 LOCALSTORAGE_EXPIRATION: 3600000 ...