System startup files

When you log in, the shell defines your user environment after reading the initialization files that you have set up. The characteristics of your user environment are defined by the values given to your environment variables. You maintain this environment until you log out of the system.

The shell uses two types of profile files when you log in to the operating system. It evaluates the commands contained in the files and then executes the commands to set up your system environment. The files have similar functions, except that the /etc/profile file controls profile variables for all users on a system, whereas the .profile file allows you to customize your own environment.

The shell first runs the commands to set up your system environment in the /etc/environment file and then evaluates the commands contained in the /etc/profile file. After these files are run, the system then checks to see if you have a .profile file in your home directory. If the .profilefile exists, the system runs this file. The .profile file will specify if an environment file also exists. If an environment file exists (usually named .env), the system then runs this file and sets up your environment variables.

The /etc/environment, /etc/profile, and .profile files are run once at login time. The .env file, on the other hand, is run every time you open a new shell or a window.

  • /etc/environment file
    The first file that the operating system uses at login time is the /etc/environment file. The /etc/environment file contains variables specifying the basic environment for all processes.
  • /etc/profile file
    The second file that the operating system uses at login time is the /etc/profile file.
  • .profile file
    The .profile file is present in your home ($HOME) directory and lets you customize your individual working environment.
  • .env file
    A fourth file that the operating system uses at login time is the .env file, if your .profile contains the following line: export ENV=$HOME/.env

/etc/environment file

The first file that the operating system uses at login time is the /etc/environment file. The /etc/environment file contains variables specifying the basic environment for all processes.

When a new process begins, the exec subroutine makes an array of strings available that have the form Name=Value. This array of strings is called the environment. Each name defined by one of the strings is called an environment variable or shell variable. The exec subroutine allows the entire environment to be set at one time.

When you log in, the system sets environment variables from the /etc/environment file before reading your login profile, named .profile. The following variables make up the basic environment:

HOME The full path name of the user's login or HOME directory. The login program sets this to the name specified in the /etc/passwd file.
LANG The locale name currently in effect. The LANG variable is initially set in the /etc/profile file at installation time.
NLSPATH The full path name for message catalogs.
LOCPATH The full path name of the location of National Language Support tables.
PATH The sequence of directories that commands, such as sh, time, nice and nohup, search when looking for a command whose path name is incomplete.
TZ The time zone information. The TZ environment variable is initially set by the /etc/profile file, the system login profile.

For detailed information about the /etc/environment file, see the AIX 5L™ Version 5.3 Files Reference.

/etc/profile file

The second file that the operating system uses at login time is the /etc/profile file.

The /etc/profile file controls system-wide default variables, such as:

  • Export variables
  • File creation mask (umask)
  • Terminal types
  • Mail messages to indicate when new mail has arrived

The system administrator configures the /etc/profile file for all users on the system. Only the system administrator can change this file.

The following example is a typical /etc/profile file:

#Set file creation mask
unmask 022
#Tell me when new mail arrives
MAIL=/usr/mail/$LOGNAME
#Add my /bin directory to the shell search sequence
PATH=/usr/bin:/usr/sbin:/etc::
#Set terminal type
TERM=lft
#Make some environment variables global
export MAIL PATH TERM

For detailed information about the /etc/profile file, see the AIX 5L™ Version 5.3 Files Reference .

.profile file

The .profile file is present in your home ($HOME) directory and lets you customize your individual working environment.

Because the .profile file is hidden, use the ls -a command to list it.

After the login program adds the LOGNAME (login name) and HOME (login directory) variables to the environment, the commands in the$HOME/.profile file are executed if the file is present. The .profile file contains your individual profile that overrides the variables set in the/etc/profile file. The .profile file is often used to set exported environment variables and terminal modes. You can customize your environment by modifying the .profile file. Use the .profile file to control the following defaults:

  • Shells to open
  • Prompt appearance
  • Keyboard sound
The following example is a typical .profile file:
PATH=/usr/bin:/etc:/home/bin1:/usr/lpp/tps4.0/user::
epath=/home/gsc/e3:
export PATH epath
csh

This example has defined two path variables (PATH and epath), exported them, and opened a C shell (csh).

You can also use the .profile file (or if it is not present, the /etc/profile file) to determine login shell variables. You can also customize other shell environments. For example, use the .cshrc file and .kshrc file to customize a C shell and a Korn shell, respectively, when each type of shell is started.

.env file

A fourth file that the operating system uses at login time is the .env file, if your .profile contains the following line: export ENV=$HOME/.env

The .env file lets you customize your individual working environment variables. Because the .env file is hidden, use the ls -a command to list it. For more information about the ls command, see ls. The .env file contains the individual user environment variables that override the variables set in the/etc/environment file. You can customize your environment variables as desired by modifying your .env file.

The following example is a typical .env file:

export  myid=`id | sed -n -e 's/).*$//' -e 's/^.*(//p'`
#set prompt: login & system name & path
if [ $myid = root ]
then typeset -x PSCH='#:\${PWD}> '
PS1="#:\${PWD}> "
else typeset -x PSCH='>'
PS1="$LOGNAME@$UNAME:\${PWD}> "
PS2=">"
PS3="#?"
fi
export PS1 PS2 PS3
#setup my command aliases
alias ls="/bin/ls -CF" \
d="/bin/ls -Fal | pg" \
rm="/bin/rm -i" \
up="cd .."
Note: When modifying the .env file, ensure that newly created environment variables do not conflict with standard variables such as MAILPS1PS2, and IFS.

From:

System startup files的更多相关文章

  1. Update startup files更新安装文件

    The service request did not complete because access to the service configuration manager was not gra ...

  2. Linux后门入侵检测工具,附bash漏洞解决方法[转载]

    转自:http://blog.jobbole.com/77663/ 官网 ClamAV杀毒软件介绍 ClamAV是一个在命令行下查毒软件,因为它不将杀毒作为主要功能,默认只能查出您计算机内的病毒,但是 ...

  3. C语言中没有main函数生成可执行程序的几种方法

    1.define预处理指令 这种方式很简单,只是简单地将main字符串用宏来代替,或者使用##拼接字符串.示例程序如下: #include <stdio.h> #define begin ...

  4. Linux后门入侵检测工具

    一.rootkit简介 rootkit是Linux平台下最常见的一种木马后门工具,它主要通过替换系统文件来达到入侵和和隐蔽的目的,这种木马比普通木马后门更加危险和隐蔽,普通的检测工具和检查手段很难发现 ...

  5. 没有main函数的helloworld

    差点儿全部程序猿的第一堂课都是学习helloworld程序,以下我们先来重温一下经典的C语言helloworl /* hello.c */ #include <stdio.h> int m ...

  6. module使用和设置

    Modules environmentDescription This is a system that allows you to easily change between different v ...

  7. Linux后门入侵检测工具,附bash漏洞解决方法

    一.rootkit简介 rootkit是Linux平台下最常见的一种木马后门工具,它主要通过替换系统文件来达到入侵和和隐蔽的目的,这种木马比普通木马后门更加危险和隐蔽,普通的检测工具和检查手段很难发现 ...

  8. gcc, ld

    GCC gcc除了具备基本的c文件编译功能外,还把其它工具的功能也集成了进来,比如as的汇编功能,ld的链接功能. 因此,gcc也可以通过-Wa, option,将option传给汇编器as:也可以通 ...

  9. Common Linux log files name and usage--reference

    reference:http://www.coolcoder.in/2013/12/common-linux-log-files-name-and-usage.html if you spend lo ...

随机推荐

  1. [BZOJ 5093]图的价值

    Description 题库链接 一个带标号的图的价值定义为每个点度数的 \(k\) 次方的和.给定 \(n\) 和 \(k\) ,请计算所有 \(n\) 个点的带标号的简单无向图的价值之和.对 \( ...

  2. [HNOI2002]跳蚤

    题目描述 Z城市居住着很多只跳蚤.在Z城市周六生活频道有一个娱乐节目.一只跳蚤将被请上一个高空钢丝的正中央.钢丝很长,可以看作是无限长.节目主持人会给该跳蚤发一张卡片.卡片上写有N+1个自然数.其中最 ...

  3. HDU2108和HDU2036(叉乘)

    hdu2108 判断是否为凸边形 判断连续三点的叉乘 若为凸,内角<180:若为凹,内角>180 所以通过正负来判断 #include <iostream> #include ...

  4. mysql 及 posgresql之优劣势大比拼

    特性 MySQL PostgreSQL 实例 通过执行 MySQL 命令(mysqld)启动实例.一个实例可以管理一个或多个数据库.一台服务器可以运行多个 mysqld 实例.一个实例管理器可以监视 ...

  5. Windows10下配置python的环境变量

    从官网下载Windows下的python版本,一路按照默认进行安装. 安装之后配置环境变量的步骤如下: 1,点"我的电脑",右键选"属性". 2,选择" ...

  6. Python中tuple的功能介绍

    Tuple的功能介绍 1. 元祖的两种方法 1. 元祖的内置方法 两个元祖的相加 格式:x.__add__(y)等同于x+y 例如:tu1 = (1,2,3,) print(tu1.__add__(( ...

  7. SecureCRT永久设置保护眼睛配色方案

    配色后效果如下: 下面开始配色 1.选项(Options)==>会话选项(Sessions options)==>终端(Terminal)==>仿真(Emulation) 按图中标注 ...

  8. URLconnection

    URLconnection 开发中最常用的两种网络请求: 1.标准Java接口(java.NET) --HttpURLConnection,可以实现简单的基于URL请求.响应功能:  2.Apache ...

  9. Docker学习系列(三)Docker搭建gitlab的两种方式

    一.直接下载docker-ce 1.拉取gitlab/gitlab-ce Randy:~ Randy$ docker pull gitlab/gitlab-ce Using default tag: ...

  10. vue移动端组件库vux使用小记

    1.首先安装vux:npm install  vux 2.安装vux-loader:npm install  vux-loader 3.确认是否已安装less-loader:npm  install ...