Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Linux登陆的两种状态

Linux登陆的两种状态

作者头像
孙晨c
发布于 2020-07-07 10:32:54
发布于 2020-07-07 10:32:54
1.6K00
代码可运行
举报
文章被收录于专栏:无题~无题~
运行总次数:0
代码可运行

登录脚本的执行顺序:【注:仅适用于 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远程登陆一台机器:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ssh 目标机器

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ssh 目标机器 命令

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-07-06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
linux基础(day24)
8.6 管道符和作业控制 管道符、作业控制 ctrl z //暂停一个任务 jobs //查看后台的任务 bg [id] //把任务调到后台 fg [id] //把任务调到前台 命令后面加&直接丢到后台 管道符的使用 管道符 | ,表示把前面命令输出的结果,传输给后面的命令 cat 1.txt |wc -l ;cat 1.txt |grep 'aaa' grep 命令,用来过滤指定关键词的命令,只要在一行中含有这个关键词,就会把这一行过滤出来 wc -l 命令,查看文件有多少个 [root@loca
运维小白
2022/01/06
6080
jenkins执行shell读不到环境变量问题
从jenkins远程执行shell源码分析系列中,了解到jenkins执行shell的原理。在使用jenkins过程中,发现执行shell读取不到/etc/profile以及用户下.bash_profile设置的环境变量。
lovelife110
2021/01/14
6K0
Linux登录shell和非登录(交互式shell)环境变量配置
使用Jenkins执行shell脚本的时候, 碰到command not found. 比如java mvn, 这些环境变量配置在/etc/profile 中, 但jenkins执行的时候并没有加载.
Ryan-Miao
2020/05/19
2.9K0
Linux 之 /etc/profile、~/.bash_profile 等几个文件的执行过程
在登录Linux时要执行文件的过程如下: 在刚登录Linux时,首先启动 /etc/profile 文件,然后再启动用户目录下的 ~/.bash_profile、 ~/.bash_login或 ~/.profile文件中的其中一个,
阳光岛主
2019/02/19
1.3K0
当我们打开shell的时候,会加载哪些配置文件呢?加载的顺序又是怎么样呢?
当我们打开shell的时候,会加载哪些配置文件呢?加载的顺序又是怎么样呢?登录linux的shell其实分两种,login shell和non-login shell,那么login shell 和non-login shell有什么区别呢? 用户输入用户名密码shell才启动,这是login shell,还有一种non-login shell,不需要登录就可以获取bash页面,例如x-window环境下启动终端,不需要输入用户名密码,这是non-login shell。 login shell读取配置文件
阿章-python小学生
2018/05/18
2.2K0
Linux ssh 无法登录,循环登录:输入密码登录后闪一下又回登录界面
1. 开机出现 pssswd ctrl + d 继续 解决: linux 磁盘挂载目录 /etc/fstab 挂载了不存在的磁盘,需要注释掉后重新启动 2. Linux循环登录:输入密码登录后闪一下又回登录界面 root 密码登录返回登录界面: 解决:注释掉 /root/.bash_profile 文件的所有内容 3. linux 命令 table 补全报错: bash: cannot create temp file for here-document: Read-only file system 解决
eisc
2021/08/04
6.8K0
linux bash环境变量简单总结
一.环境变量简介 Linux是一个多用户的操作系统。每个用户登录系统后,都会有一个专用的运行环境。通常每个用户默认的环境都 是相同的,这个默认环境实际上就是一组环境变量的定义。 环境变量是全局的,设置好的环境变量可以被所有当前用户所运行的程序所使用。 用户可以对自己的运行环境进行定制,其方法就是修改相应的系统环境变量。 常见的环境变量: PATH: 决定了shell将到哪些目录中寻找命令或程序 ROOTPATH: 这个变量的功能和PATH相同,但
小小科
2018/05/03
2.1K0
Linux 登陆shell,交互shell以及环境变量读取顺序
Linux用户在登陆到Linux服务器时,一些登陆的提示欢迎信息,以及特定的环境配置等等都按预先设定好的配置来生效。Linux中的这个shell环境会读取很多不同的配置文件来达成上述目的,同时还有登陆shell与非登陆shell的区分。本文对此作简要描述,供大家参考!
Leshami
2018/08/13
2K0
Linux 登陆shell,交互shell以及环境变量读取顺序
[喵咪Linux(2)]环境变量的坑
#[喵咪Linux(2)]环境变量的坑# ##前言## 玩过linux的童鞋对环境变量都不陌生,我们在安装好一些软件,组件之后想要直接使用它都需要加入环境变量,并且比如java啊golang都必须依赖
喵了个咪233
2018/03/02
7990
[喵咪Linux(2)]环境变量的坑
【科研利器】关于 “.bash_profile” 和 “.bashrc”区别的总结
项目环境部署是很多人的薄弱项,一些简单的工作可以照着搜索来的步骤凑合部署成功,但并不明白其中的原理,偶尔遇到一些 ERR ,就无从下手。项目环境部署,需要一些基础服务,如 java 环境,tomcat 环境、mysql 等等;服务部署成功后,还需要给其配置环境变量;要配置环境变量,就要用到 bashrc 或 bash_profile 文件,可是他们有啥区别,一直不明白,今天看到这篇文章,结合自己实践,分享给各位。
自学气象人
2022/11/02
1.1K0
【科研利器】关于 “.bash_profile” 和 “.bashrc”区别的总结
bash的环境配置文件加载原理 转
在Linux上开发或者部署应用时,免不了要设置配置文件,比如安装JDK,需要为java可执行文件配置环境变量。 大多数时候我们不需要关注shell,但是当你执行"sudo su" 命令时,发现并不能同时把环境变量切换到root的环境;当你执行远程shell文件-"ssh who@host file.sh",发现不能加载环境配置文件时,那么你就要搞清楚bash的环境配置文件加载原理来搞定这些问题。 本文全部是基于CentOS系统写的,其它Linux发行版本可能略有差异。
双面人
2019/04/10
7020
shell学习(七)环境变量设置
环境变量一般指的是用export内置,命令导出的变量,用于定义shell的运行环境、保证shell的正确执行。
god_frey
2022/05/08
5870
Linux环境变量说明与配置
  /etc/profile     范围:对所有用户生效     作用:       a.定义USER变量       b.定义LOGNAME变量       c.定义MAIL变量       d.定义PATH变量       e.定义HOSTNAME变量       f.定义HISTSIZE变量       g.定义umask值       i.调用/etc/profile.d/*.sh文件   /etc/profile.d/*.sh     范围:对所有用户生效     说明:这是一族sh文件,没个都会被调用     例如:       /etc/profile.d/lang.sh       作用:调用/etc/sysconfg/i18n设置语言环境   ~/.bash_profile     范围:用户自己的家目录,对自己生效     作用:       a.调用 ~/.bashrc文件       b.在PATH变量后加入了":$HOME/bin"这个目录   ~/.bashrc     范围:用户自己的家目录,对自己生效     作用:       a.定义alias别名       b.调用/etc/bashrc   /etc/bashrc     范围:对所有用户生效     作用:       a.定义PS1变量(登录以后的提示符样式)       b.如果是无密码登录,则         定义umask值         定义PATH变量         调用/etc/profile.d/*.sh文件
Lansonli
2021/10/09
1.2K0
Linux的环境变量配置在/etc/profile或/etc/profile.d/*.sh文件中的区别是什么?
Linux的环境变量可在多个文件中配置,如/etc/profile,/etc/profile.d/*.sh,~/.bashrc等,下面说明上述几个文件之间的关系和区别。
孙晨c
2021/01/29
2.6K0
Linux的环境变量配置在/etc/profile或/etc/profile.d/*.sh文件中的区别是什么?
Linux环境变量加载顺序分析
我们登录linux有很多种,bash来交互式执行,或者直接非交互式执行命令。试验后,可以发现,原来这几个的环境变量加载都是不同的。
sean.liu
2022/09/07
2.1K0
Linux 之 /etc/profile、~/.bash_profile 等几个文件的执行过程
在登录Linux时要执行文件的过程如下: 在刚登录Linux时,首先启动 /etc/profile 文件,然后再启动用户目录下的 ~/.bash_profile、 ~/.bash_login或 ~/.profile文件中的其中一个, 执行的顺序为:~/.bash_profile、 ~/.bash_login、 ~/.profile。 如果 ~/.bash_profile文件存在的话,一般还会执行 ~/.bashrc文件。 因为在 ~/.bash_profile文件中一般会有下面的代码: if [ -f ~/
小小科
2018/05/02
2.2K0
Ubuntu系统环境变量详解
<p align="left">使用Ubuntu 进行开发绕不开的就是环境变量的配置,由于Linux系统严格的权限管理,造成Ubuntu系统有多个环境变量配置文件,如果不了解其调用顺序,很有可能遇到配置了环境变量,而没有其作用的问题。本文将介绍Ubuntu Linux系统的环境变量。
用户8705048
2021/06/08
2.2K0
Linux环境变量文件介绍[通俗易懂]
在Linux系统中,环境变量按照其作用范围不同大致可以分为系统级环境变量和用户级环境变量。
全栈程序员站长
2022/09/02
1K0
理解 Linux/Unix 登录脚本
不知道你有没有遇到过这样的场景,当你需要设置一个环境变量,或者运行一个程序设置你的shell或桌面环境,但是不知道在哪里是最方便设置的位置。
哲洛不闹
2018/09/14
1.3K0
理解 Linux/Unix 登录脚本
[Linux]shell基础教程4-变量详细讲解
默认情况下,在bash Shell中是 不会区分变量类型 的,例如常见的变量类型为整数、字符串等。这和其他强类型语言(比如C语言等)是有区别的。当然,如果需要指定Shell变量的类型,也可以使用declare -p显示定义变量的类型,但在一般情况下没有这个需求。
祥知道
2020/03/10
7410
推荐阅读
相关推荐
linux基础(day24)
更多 >
交个朋友
加入HAI高性能应用服务器交流群
探索HAI应用新境界 共享实践心得
加入架构与运维学习入门群
系统架构设计入门 运维体系构建指南
加入架构与运维工作实战群
高并发系统设计 运维自动化实践
换一批
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验