• bash基础之三配置文件


    一、shell的两种登录方式:

    1、交互式登录:
    (1)直接通过终端输入账号密码登录
    (2)使用“su - UserName” 或“su -l 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"
  • 相关阅读:
    Linux下PCI设备驱动程序开发 PCI驱动程序实现(三)
    一个动态内存管理模块的实现
    【Linux device driver】设备驱动程序概述(一)
    Linux PCI设备驱动程序开发 PCI 体系结构(一)
    [linux driver]用I/O命令访问PCI总线设备配置空间
    【Linux device driver】网络设备驱动程序(二)
    【Linux device driver】网络设备驱动注意的问题(三)
    C++中的引用、const引用和非const引用
    C++的数组和指针
    “指向const对象的指针” 和 “const指针”
  • 原文地址:https://www.cnblogs.com/liuzhiyun/p/11317285.html
Copyright © 2020-2023  润新知