Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1677464
  • 博文数量: 1279
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 13084
  • 用 户 组: 普通用户
  • 注册时间: 2018-03-07 16:26
个人简介

Linux学习小标兵,专注Linux资讯分享,技术文章分享

文章分类

全部博文(1279)

文章存档

2023年(236)

2022年(285)

2021年(265)

2020年(248)

2019年(213)

2018年(32)

我的朋友

分类: LINUX

2022-01-20 22:13:38

什么是LINUX SHELL环境?shell在会话中会保存着大量信息,而这些信息就是shell环境。LINNX命令程序通过获取SHELL环境中的数据(此处的数据通常称为环境变量)来输出本机相应的配置数据。

LINUX环境变量

Linux shell环境中存储了两种基本类型的数据:环境变量和shell变量。当然,除了变量,shell也存储了一些可编程的数据,即别名和shell 函数。

如何查看环境变量呢?

我们可以用bash命令set,或者使用printenv命令程序来查看环境变量。

它们的区别是:set 命令不仅显示shell数据,而且可以显示环境变量列表,而printenv命令仅仅显示环境变量列表。

鉴于环境变量列表比较长,我们可以将每个命令的输出通过管道符传递给less 来输出列表,例如:

//执行命令

[test@linuxprobe ~]$ printenv | less

//输出内容:环境变量及其数值的列表

KDE_MULTIHEAD=false

SSH_AGENT_PID=6666

HOSTNAME= linuxprobe

GPG_AGENT_INFO=/tmp/gpg-PdOt7g/S.gpg-agent:6689:1

SHELL=/bin/bash

TERM=xterm

XDG_MENU_PREFIX=kde-

HISTSIZE=1000

XDG_SESSION_COOKIE=6d7b05c65846c3eaf3101b0046bd2b00-1208521990.996705

-1177056199

GTK2_RC_FILES=/etc/gtk-2.0/gtkrc:/home/me/.gtkrc-2.0:/home/me/.kde/sh

are/config/gtkrc-2.0

GTK_RC_FILES=/etc/gtk/gtkrc:/home/me/.gtkrc:/home/me/.kde/share/confi

g/gtkrc

GS_LIB=/home/me/.fonts

WINDOWID=29360136

QTDIR=/usr/lib/qt-3.3

QTINC=/usr/lib/qt-3.3/include

KDE_FULL_SESSION=true

USER=test

LS_COLORS=no=00:fi=00:di=00;34:ln=00;36:pi=40;33:so=00;35:bd=40;33;01

:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=00;32:\*.cmd=00;32:\*.exe:

//printenv 命令也可输出特定变量- USER的数值:

[test@linuxprobe ~]$ printenv USER

test

变量

内容

DISPLAY

如果你正在运行图形界面环境,那么这个变量就是你显示器的名字。通常,它是”:0”,意思是由X 产生的第一个显示器。

EDITOR

文本编辑器的名字

SHELL

shell 程序的名字

HOME

用户家目录

LANG

定义了字符集以及语言编码方式

OLD_PWD

先前的工作目录

PAGER

页输出程序的名字。这经常设置为/usr/bin/less

PATH

由冒号分开的目录列表,当你输入可执行程序名后,会搜索这个目录列表。

PS1

Prompt String 1. 这个定义了你的shell 提示符的内容。随后我们可以看到,这个变量内容可以全面地定制

PWD

当前工作目录

TERM

终端类型名。类Unix 的系统支持许多终端协议;这个变量设置你的终端仿真器所用的协议。

TZ

指定你所在的时区。大多数类Unix 的系统按照协调时间时(UTC) 来维护计算机内部的时钟,然后应用一个由这个变量指定的偏差来显示本地时间。

USER

你的用户名

建立LINUX shell 环境

每当我们登录系统后,bash 程序就会自动启动,且会读取一系列配置脚本,这些配置脚本被称为启动文件。这些启动文件定义了可供所有用户共享的默认shell 环境。

那么位于家目录中的启动文件,定义了用户个人的shell 环境。

确切的启动顺序取决于shell 会话类型模式。有两种shell 会话类型模式:一个是登录shell 会话模式,另一个是非登录shell 会话模式。

登录shell 会话模式中会提示用户输入用户名和密码;非登录shell 会话模式通常在GUI下启动终端会话时出现。

登录shell 会话模式下启动文件内容:

文件

内容

/etc/profile

针对所有用户的全局配置脚本

?/.bash_profile

用户个人的启动文件。可用来修改全局配置脚本中的设置

?/.bash_login

如果文件?/.bash_profile 没有找到,bash 会尝试读取这个脚本

?/.profile

如果文件?/.bash_profile 或文件?/.bash_login 都没有找到,bash 会试图读取这个文件。

非登录shell 会话模式下启动文件内容:

文件

内容

/etc/bash.bashrc

针对所有用户的全局配置文件

?/.bashrc

用户个人的启动文件。可用来修改全局配置脚本中的设置

修改linux shell环境

依据通常的操作思路,通过添加目录到PATH 变量或定义新的环境变量,再把这些更改存放至.bash_profile 文件中;那么对于其它的更改呢,需要存放至.bashrc 文件中。

除了系统管理员具将系统中的所有用户修改默认设置的权限外,其他用户只能限定对个人家目录下的文件进行修改。

我们通过使用一个叫做文本编辑器的程序来编辑(或读、写)shell 的启动文件以及其它配置文件。文本编辑器是一个类似于文字处理器的程序,允许使用移动光标在屏幕上编辑。但不同之处在于文本编辑器不仅支持纯文本,而且常包含为便于写程序而设计的特性。由此可见,文本编辑器是开发人员用来写代码,以及系统管理员用来管理控制系统的配置文件的重要工具之一。

文本编辑器通常分为两种基本类型:图形化的和非图形化的(基于文本)编辑器。

一些典型的图形化编辑器有GNOME 和KDE。GNOME编辑器自带了gedit 的编辑器,它通常在GNOME 菜单中称为“文本编辑器”。KDE自带了三种编辑器,分别是kedit,kwrite,kate。

那么基于文本的编辑器有nano、vi 和emacs。

nano 编辑器是一个简单易用的编辑器。vi 编辑器(目前已被vim (“Vi IMproved” 的简写)替代)是类Unix 操作系统的传统编辑器。emacs 编辑器属于庞大的、多用途的,可做任何操作的编程环境。

无论哪种类型的文本编辑器都可以在命令行中输入编辑器的名字及想要编辑的文件名,执行文本编辑操作。在这篇文章中,我们学到了用文本编辑器来编辑配置文件的基本技巧。

这篇文章主要讨论了linux SHELL环境的一些基础知识及基本的操作技巧。在编写这篇文章过程中我还参考了《Linux就该这么学(第2版)》这本书,基于红帽8编写,内容很贴近实践,很有理论指导实践价值的一本书籍。

阅读(332) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~