环境变量:linux的环境变量其实就是在启动时执行一下赋值语句
系统级
1./etc/environment
系统级$PATH
2.其他启动文件(https://www.cnblogs.com/lance-ehf/p/4271464.html)
(1)/etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置。
(2)/etc/bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取。
(3)~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。
(4)~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。
(5) ~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件. 另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承 /etc/profile中的变量,他们是"父子"关系。
(6)~/.bash_profile 是交互式、login 方式进入 bash 运行的~/.bashrc 是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。
启动项
注意:(http://blog.sina.com.cn/s/blog_81e6c30b01019lcv.html)
(1)login shell:取得bash 时需要完整的登入流程,就称为login shell。举例来说,同tty1~tty6登入时,需要输入用户名和密码,此时取得的bash就称为login shell
(2)non-login shell:取得bash介面的方法不需要重复登入的动作。
举两个例子(1)以X window登入linux后,再以X的图形化介面启动终端机,此时那个终端机并不需要再次的输入用户名和密码,那个bash的环境就称为non-login shell
(2)在原本的bash环境中再次下达bash这个指令,同样没有要求输入用户名和密码,那个第二个bash也是non-login shell
non-login shell是不是就是现在我在自己的主机上,远程的登录到测试机呢?login shell就是直接对服务器进行操作?
login shell会执行的脚本通常有 /etc/profile和~/.bash_profile。
non-login shell会执行的脚本通常有/etc/bashrc (在Ubuntu Jaunty上是/etc/bash.bashrc)和~/.bashrc。
Login Shell
初始化脚本加载顺序如下:
1. /etc/profile,/etc/profile.d/*
2. $HOME/.bash_profile,$HOME/.bashrc,/etc/bashrc或者/etc/bash.bashrc
3. $HOME/.bash_login
4. $HOME/.profile
同一行内多个脚本是表示后面的脚本被包含在前面的脚本中得到加载。
Non-Login Shell
可理解为开头部分描述的interactive shell
初始化脚本加载顺序如下:
1. $HOME/.bashrc,/etc/bashrc或者/etc/bash.bashrc,/etc/profile.d/*
退出shell时去执行$HOME/.bash_logout
网络参数
1.Host
/etc/host
2.IP 与DNS(https://www.cnblogs.com/LJ-fish/archive/2010/05/17/1737674.html)
一、redhat系统的网络配置文件
要建立一个Linux服务器就首先要了解Linux环境下和网络服务相关的配置文件的含义及如何进行安全的配置。在Linux系统中,TCP/IP网络是 通过若干个文本文件进行配置的,也许你需要编辑这些文件来完成联网工作,下面介绍几个基本的TCP/IP网络配置文件。
1./etc/sysconfig/network-scripts/ifcfg-<interface-name>文件
在RedHat中,系统网络设备的配置文件保存在/etc/sysconfig/network-scripts目录下,ifcfg-eth0包含第一块 网卡的配置信息,ifcfg-eth1包含第二块网卡的配置信息。在启动时,系统通过读取这个配置文件决定某个网卡是否启动和如何配置。
下面是/etc/sysconfig/network-scripts/ifcfg-eth0文件的示例:
DEVICE=eth0
IPADDR=192.168.0.2
NETMASK=255.255.255.0
BROADCAST=192.168.0.255
ONBOOT=yes
BOOTPROTO=none
GATEWAY=192.168.0.1
若希望手工修改网络地址或增加新的网络连接,可以通过修改对应的文件ifcfg-<interface-name>或创建新的文件来实现。
DEVICE=<name> <name>表示物理设备的名字
IPADDR=<address> <address>表示赋给该网卡的IP地址
NETMASK=<mask> <mask>表示子网掩码
BROADCAST=<address> <address>表示广播地址
ONBOOT=yes/no 启动时是否激活该卡
BOOTPROTO=none none:无须启动协议
bootp:使用bootp协议
dhcp:使用dhcp协议
GATEWAY=<address> <address>表示默认网关
MACADDR=<MAC-address> <MAC-address>表示指定一个MAC地址
USERCTL=yes/no 是否允许非root用户控制该设备
2./etc/resolv.conf文件
文件/etc/resolv.conf配置DNS客户端,它包含了DNS服务器地址和域名搜索配置,每一行应包含一个关键字和一个或多个的由空格隔开的参数。下面是一个例子文件:
search wuxp.com
nameserver 192.168.0.1
nameserver 192.168.0.2
search wuxp.com:表示当提供了一个不包括完全域名的主机名时,在该主机名后添加wuxp.com的后缀; nameserver:表示解析域名时使用该地址指定的主机为域名服务器。其中域名服务器是按照文件中出现的顺序来查询的。因此,应该首先给出最可靠的服 务器。目前,至多支持三个名字服务器。
3./etc/sysconfig/network文件
该文件用来指定服务器上的网络配置信息,下面是一个示例:
NETWORK=yes
RORWARD_IPV4=yes
HOSTNAME=server.wuxp.com
GAREWAY=192.168.0.1
GATEWAYDEV=eth0
NETWORK=yes/no 网络是否被配置
FORWARD_IPV4=yes/no 是否开启IP转发功能
HOSTNAME=<hostname> <hostname>表示服务器的主机名
GAREWAY=<address> <address>表示网络网关的IP地址
GAREWAYDEV=<device> <device>表示网关的设备名,如:eth0
4./etc/hosts文件
当机器启动时,在可以查询DNS以前,机器需要查询一些主机名到IP地址的匹配。这些匹配信息存放在/etc/hosts文件中。在没有域名服务器情况下,系统上的所有网络程序都通过查询该文件来解析对应于某个主机名的IP地址。
下面是一个/etc/hosts文件的示例:
127.0.0.1 Localhost server.wuxp.com
192.168.0.3 station1.wuxp.com
最左边一列是主机IP信息,中间一列是主机名。任何后面的列都是该主机的别名。
网络配置例子:
你可以进入/etc/sysconfig/network-scripts。找到ifcfg-eth0.编辑它如下:
DEVICE = eth0
ONBOOT = yes
BOOTPROTO = static
IPADDR= 10.9.100.221(你需要的固定ip)
NETMASK=255.0.0.0
GATEWAY=10.255.255.254
如果需要动态分配IP,那么
DEVICE = eth0
ONBOOT = yes
USERCTL = yes
BOOTPROTO = dhcp
完了之后:/etc/rc.d/init.d/network restart
二、ubuntu系统的网络配置文件
Ubuntu 的网络配置文件主要有以下几个
IP地址配置文件: /etc/network/interfaces
打开后里面可设置DHCP或手动设置静态ip。前面auto eth0,让网卡开机自动挂载.
1. 以DHCP方式配置网卡
编辑文件/etc/network/interfaces:
sudo vi /etc/network/interfaces
并用下面的行来替换有关eth0的行:
# The primary network interface - use DHCP to find our address
auto eth0
iface eth0 inet dhcp
用下面的命令使网络设置生效:
sudo /etc/init.d/networking restart
也可以在命令行下直接输入下面的命令来获取地址
sudo dhclient eth0
2. 为网卡配置静态IP地址
编辑文件/etc/network/interfaces:
sudo vi /etc/network/interfaces
并用下面的行来替换有关eth0的行:# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.3.90
gateway 192.168.3.1
netmask 255.255.255.0
将上面的ip地址等信息换成你自己就可以了.用下面的命令使网络设置生效:
sudo /etc/init.d/networking restart
3. 设定第二个IP地址(虚拟IP地址)
编辑文件/etc/network/interfaces:
sudo vi /etc/network/interfaces
在该文件中添加如下的行:
auto eth0:1
iface eth0:1 inet static
address 192.168.1.60
netmask 255.255.255.0
network x.x.x.x
broadcast x.x.x.x
gateway x.x.x.x
根据你的情况填上所有诸如address,netmask,network,broadcast和gateways等信息.
用下面的命令使网络设置生效:
sudo /etc/init.d/networking restart
主机名称配置文件(/bin/hostname)
使用下面的命令来查看当前主机的主机名称:
sudo /bin/hostname
使用下面的命令来设置当前主机的主机名称:
sudo /bin/hostname newname
系统启动时,它会从/etc/hostname来读取主机的名称.
DNS配置文件
首先,你可以在/etc/hosts中加入一些主机名称和这些主机名称对应的IP地址,这是简单使用本机的静态查询.
要访问DNS 服务器来进行查询,需要设置/etc/resolv.conf文件.
sudo vi /etc/resolv.conf
nameserver 202.96.128.68
nameserver 61.144.56.101
nameserver 192.168.8.220
/重新设置网络,以启用新设置
sudo /etc/init.d/networking restart
ok
如果你喜欢用其他的记事本编辑器例如gedit等那就把其中命令中的vi换成gedit就可以了。
本文出处:http://hi.baidu.com/ihihshan/blog/item/ce1223d5b4dc0a09a08bb748.html