zoukankan      html  css  js  c++  java
  • Linux登陆的两种状态

    登录脚本的执行顺序:【注:仅适用于 bash shell】

    Login-Shell

    是指登录时,需要提供用户名密码的shell,如:su – user1 , 图形登录, ctrl+alt+F2-6进入的登录界面。
    这种Login shell 执行脚本的顺序:
    1./etc/profile 【全局profile文件;它定义了LoginUser的 PATH, USER, LOGNAME(登录使用者帐号)】
    2. /etc/profile.d/目录下的脚本
    3. ~/.bash_profile 【搜索命令的路径 ——————- 登录级别 环境变量配置文件 】
    4. ~/.bashrc 【存储用户设定的别名和函数 ———- shell级别 环境变量配置文件】
    5. /etc/bashrc 【全局bashrc文件; 它主要定义一些 Function 和 Alias;更改/etc/bashrc会影响到所有用户,由root用户管理。】

    Non-Login shell

    登录终端后,使用ssh 登录 其他机器!
    非登录shell指的是,不需要输入用户名密码的shell,如图形下 右键terminal,或ctrl+shift+T打开的shell
    这种Non-Login shell 执行登录脚本的顺序:
    1. ~/.bashrc
    2. /etc/bashrc
    3. /etc/profile.d/目录下的脚本

    例如使用ssh远程登陆一台机器:

    ssh 目标机器
    

    登陆之后,执行某个命令
    属于 Login-Shell,会自动读取/etc/profile文件中定义的所有变量

    例如使用ssh远程登陆一台机器的同时并使用命令:

    ssh 目标机器 命令
    

    属于Non-Login-shell
    不会读取/etc/profile文件,如果登陆的同时使用的命令需要用到这个文件里的变量则会出现"command not found"的错误
    解决:
    在目标机器的家目录下,编辑~/.bashrc文件,最后一行添加source /etc/profile

  • 相关阅读:
    Linux简介
    在VMware上安装Ubuntu软件步骤与遇到的相关问题及解决方案
    深度学习框架之TensorFlow的概念及安装(ubuntu下基于pip的安装,IDE为Pycharm)
    Windows下安装Python及Eclipse中配置PyDev插件
    结构体定义struct和typedef struct
    定义与声明
    error LNK2005:错误改正方法
    OPENCV 笔记
    RANSANC算法
    梯度下降法和牛顿法
  • 原文地址:https://www.cnblogs.com/sunbr/p/13255121.html
Copyright © 2011-2022 走看看