(014) Linux之环境

十年运维系列之基础篇 - Linux

作者:曾林

联系:[email protected]

网站:www.jplatformx.com

版权:文章未经同意请勿转载



一、引言

在shell会话调用环境期间,shell会存储大量的信息。有一些程序会查找环境中存储的变量来调整自己的行为。知道了这一点之后,用户就可以使用环境来自定义shell。

二、环境中存储的是什么

尽管shell在环境中存储了两种基本类型的数据,但是在bash中,这两种类型基本上没有区别。这两种数据类型分别是环境变量和shell变量。shell变量是由bash存放的少量数据,环境变量就是除此之外的所有其他变量。除变量之外,shell还存储了一些编程数据,也就是别名和shell函数。

要了解环境中存储的内容,需要用到集成在bash中的set命令或者printenv程序。不同的是,set命令会同时显示shell变量和环境变量,而printenv只会显示环境变量。

set命令截图如下(其中包括环境变量和shell变量):

printenv命令截图(只包括环境变量):

环境变量中包含了相当多的变量,下表展示了一些常用的有趣的环境变量。

变量 说明
SHELL 本机shell名称
HOME 本机主目录的路径名
LANG 定义了本机语言的字符集和排序规则
OLD_PWD/PWD 先前的工作目录/当前的工作目录
PATH 以冒号分隔的一个目录列表,当用户输入一个可执行程序的名称时,会查找该目录列表
PS1 提示符字符串1.定义了本机shell系统提示符的内容。
TERM 终端类型的名称。类UNIX系统支持很多种终端协议;此变量定义了本机终端模拟器使用的协议
USER 用户名

三、环境是如何建立的

用户登录系统之后,bash程序就会启动并读取一系列称为启动文件的配置脚本,这些脚本定义了所有用户共享的默认环境。接下来,bash会读取更多存储在主目录下的用于定义个人环境的启动文件。这些步骤执行的确切顺序是由启动的shell会话类型决定的。

时间: 2024-08-15 06:17:39

(014) Linux之环境的相关文章

linux网络环境下socket套接字编程(UDP文件传输)

今天我们来介绍一下在linux网络环境下使用socket套接字实现两个进程下文件的上传,下载,和退出操作! 在socket套接字编程中,我们当然可以基于TCP的传输协议来进行传输,但是在文件的传输中,如果我们使用TCP传输,会造成传输速度较慢的情况,所以我们在进行文件传输的过程中,最好要使用UDP传输. 在其中,我们需要写两个程序,一个客户端,一个服务端,在一个终端中,先运行服务端,在运行客户端,在服务端和客户端都输入IP地址和端口号,注意服务端和客户端的端口号要相同,然后选择功能,在linux

                          我的linux学习过程 -环境变

ls 这个命令其实很简单!但他是如何运行的呢! 我现在的理解应该是 把 ls='ls --color=auto'这句话写在了一个配置文件中! 当我们 运行 ls 的时候 其实运行的是 ls --color=auto这个命令! 所以 ls 这个变量就是环境变量!那我们该如何配置环境变量呢! 两种方式 1:配置临时环境变量!方法  alias ls='ls --color=atuo' 2:配置永久环境变量!方法  讲 alias ls='ls --color=auto'这句话写到配置文件中去 配置文

在Linux x86_64环境下编译memcached

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态.数据库驱动网站的速度.Memcached基于一个存储键/值对的hashmap.其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信.但是它并不提供冗余(例如,复制其hashmap条目):当某个服务器S停止运行或崩溃了,所有存放在S上的键/值对都将丢失. 说简单一点memcach

虚拟机Linux java环境变量设置readhat系统

最近在学习Linux 期间找了好多资料才配置成功 现在把Linux的环境变量配置记录一下 系统环境VMware readhat5.5版本 jdk1.6 我使用的是jdk-6u45-linux-x64.bin 包 首先把jdk的bin包拷贝到虚拟机的系统上我放到了/home/wangs/目录下 使用 ./jdk-6u45-linux-x64.bin 命令解压bin包 在系统的 /etc/profile.d 目录下创建java.sh脚本touch java.sh;编辑脚本vi java.sh exp

嵌入式linux开发环境搭建(四)——Samba服务器的搭建

嵌入式linux开发环境搭建(四)--Samba服务器的搭建 linux系统:ubuntu Server 12.04 安装流程如下: 1.安装 sudo apt-get install samba samba-common 2.修改配置文件/etc/samba/smb.conf [samba] comment = Samba Server browseable = yes path = /home/samba printable = no writable = yes write list =

嵌入式linux开发环境搭建(五)——Ubuntu第三方软件仓库源

嵌入式linux开发环境搭建(五)--Ubuntu第三方软件仓库源 一般来说ubuntu官方的软件仓库由于服务器在国外,下载更新速度较慢,需要将软件仓库更换为国内镜像点. 1.修改源配置文件 先备份原来的配置文件 mv /etc/apt/sources.list /etc/apt/sources.list.bak vim /etc/apt/sources.list 将国内的Ubuntu镜像点添加到配置文件 Ubuntu 163镜像点: deb http://mirrors.163.com/ubu

嵌入式linux开发环境搭建(三)——TFTP服务器的搭建

嵌入式linux开发环境搭建(三)--TFTP服务器的搭建 系统环境:Ubuntu 14.04 server amd64 1.软件安装 apt-get install tftpd tftp openbsd-inetd 2.查看修改配置文件vim /etc/inetd.conf tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /srv/tftp /srv/tftp为Tftp服务器根目录,可以修改为/home/tftp 3.创

Linux中环境变量文件及配置

一.环境变量文件介绍 转自:http://blog.csdn.net/cscmaker/article/details/7261921 Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的环境变量.所以管理环境变量的文件也分为系统级和用户级的,下面贴一个网上找到的讲的比较明白的文件介绍(略作修改)[1]: 1.系统级:(1)/etc/profile:该文件是用户登录时,操作系统定制用户环境时使用的第一个文件

Dart入门—Linux开发环境

Dart入门-Linux开发环境 在正文开始前,希望大家能看一下这段,我第一次听说Dart是在去年5月份,那段时间工作比较闲,在网上看到<Google 演示用 Dart 开发 Android 应用>,然后就开始去了解,而且认识了很多朋友,其中就有"河马",他说:"Dart所有的资料都是英文的,我们需要建立一个中文社区,让更多人了解.学习它". 后来他真的就建立了DartLang中文社区,我当时就觉得我应该也能做点什么,于是就组织了几个好友对Dart的官方