linux - 用户登陆自加载脚本

原创 2015年12月08日 15:07:47

公共加载脚本

/etc/profile

此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置

/etc/bashrc | /etc/bash.bashrc (In Ubuntu)

为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.

私人加载脚本

~/.bash_profile

每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.

~/.bash_login

若bash是以login方式执行时,读取~/.bash_profile,若它不存在,则读取~/.bash_login,若前两者不存在,读取~/.profile。

~/.profile

if ~/.bash_profile or ~/.bash_login exists,~/.profile is not read by bash(1)

Ubuntu下的.profile

if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
        . "$HOME/.bashrc"
    fi
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

~/.bashrc

该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取.
大多数自登陆加载操作都放在这个文件中.比如:
- ls的一些别名设置:

# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    alias ls='ls --color=auto'
    #alias dir='dir --color=auto'
    #alias vdir='vdir --color=auto'

    alias grep='grep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias egrep='egrep --color=auto'
fi
# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
  • .bash_aliases自定义别名文件的加载
# Add an "alert" alias for long running commands.  Use like so:
#   sleep 10; alert
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

~/.bash_logout

当每次退出系统(退出bash shell)时,执行该文件. 另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是”父子”关系.

参考:http://www.ahlinux.com/shell/20239.html

相关文章推荐

linux系统用户登陆时脚本执行顺序

在用户登录的时候执行sh脚本的顺序:每次登录的时候都会完全执行的 /etc/profile.d/file /etc/profile /etc/bashrc /root/.bashrc /ro...

Linux学习笔记(6)----Bash shell 登陆后配置文件的加载

在Linux中,有许多命令,其中包括 alias命令别名 和 bash的内置命令 那么我们敲入一个命令之后,系统是根据什么顺序优先执行的呢? 鸟哥书中这样表示: 1.以相对/绝对路径执行命令,例...

linux批量用户加载

  • 2011年08月28日 14:43
  • 478B
  • 下载

zabbix3.0.4-agent通过shell脚本获取mysql数据库登陆用户

zabbix3.0.4获取数据库登陆用户趋势详解 主要思路: 通过zabbix客户端shell脚本mysql命令取出用户表中的数据将结果反馈给zabbix,画出趋势图 1.修改zabbix-ag...

OSX: 实用脚本程序(bash scripts)系列-22- 用户登陆历史

好久木有分享代码了,今天找到一个,这个挺好,可以从log里面把用户登陆/登出的用户名和时间显示出来,对于想看看电脑何时/谁使用了多长时间电脑有所帮助,这个是网上抄过来的:...

linux0.11是如何加载并执行一个二进制可执行文件和shell脚本文件的?

1.linux0.11是如何加载并执行一个二进制可执行文件和shell脚本文件的?   答:linux0.11仅支持ZMAGIC执行文件格式,并且执行文件代码都从逻辑地址0开始执行,因此不支持含有代...

Linux操作系统学习_用户进程之由新进程创建到可执行程序的加载

fork()函数大家应该都不陌生,一个现有进程可以调用fork函数来创建一个新进程,由fork()创建的新进程通常被称为子进程。fork()函数被调用一次,但返回两次,两次返回的区别在于,子进程的返回...

linux 用户启动后加载文件

首先加载 /etc/profile 会根据UID数值判断,使用umask丢弃权限
  • nqxqxq
  • nqxqxq
  • 2017年07月12日 15:50
  • 51

Linux 之 SSH免密登陆之三 单机脚本的编写

根据前2节的详细说明,那么将其作为一个脚本是非常简单的事情。 [1] Linux 之 SSH免密登陆之一 基础解析 [2] Linux 之 SSH免密登陆之二 配置无效解析 主要思路 判断本地的i...

ssh登陆linux后台运行脚本不关闭

最近在将自己的一个项目从win转移到linux,所以在测试一些ssh启动脚本的事情。有一个问题就是通过ssh启动的脚本你一断开ssh,脚本就会被关闭掉。查了很多个办法比如nohup等,发现screen...
  • hacklyc
  • hacklyc
  • 2017年05月07日 21:44
  • 260
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:linux - 用户登陆自加载脚本
举报原因:
原因补充:

(最多只允许输入30个字)