linux环境配置(linux环境配置论文)

http://www.itjxue.com  2023-02-14 10:20  来源:未知  点击次数: 

linux环境变量配置

Shell变量有局部变量、环境变量之分。局部变量就是指在某个Shell中生效的变量,只在此次登录中有效。环境变量通常又称“全局变量”,虽然在Shell中变量默认就是全局的,但是为了让子Shall继承当前Shell的变量,需要使用export内建命令将其导出为环境变量。

按变量的生存周期划分:

永久的:需要修改配置文件,变量永久生效。

临时的:使用export命令声明即可,变量在关闭shell时失效。

在配置永久的环境变量时,又可以按照作用范围分为:

用户环境变量

系统环境变量。

系统环境变量对所有系统用户都有效,用户环境变量仅仅对当前的用户有效。

全局(公有)配置,不管是哪个用户,登录时都会读取该文件。

它也是全局(公有)的 bash执行时,不管是何种方式,都会读取此文件。

不要轻易修改此文件

用户环境变量通常被存储在下面的文件中:

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

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

只有bash是以login形式执行时,才会读取.bash_profile,Unbutu默认没有此文件,可新建。 通常该配置文件还会配置成去读取 ~/.bashrc 。

当bash是以non-login形式执行时,读取此文件。若是以login形式执行,则不会读取此文件。

~/.bash_profile 是交互式、login 方式进入 bash 运行的

~/.bashrc 是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。

如想将一个路径加入到环境变量(例如$PATH)中,可以像下面这样做(修改/etc/profile):

你可以自己加上指定的路径,中间用冒号隔开。环境变量更改后,在用户下次登陆时生效,如果想立刻生效,则可执行下面的语句:

bash会在用户登录时,读取下列四个环境配置文件:

全局环境变量设置文件: /etc/profile 、 /etc/bashrc 。 用户环境变量设置文件: ~/.bash_profile 、 ~/.bashrc 。

读取顺序:① /etc/profile 、② ~/.bash_profile 、③ ~/.bashrc 、④ /etc/bashrc 。

2 .bashrc 和 .bash_profile 的区别

.bash_profile 会用在登陆shell, .bashrc 使用在交互式非登陆 shell 。简单说来,它们的区别主要是 .bash_profile 是在你每次登录的时候执行的; .bashrc 是在你新开了一个命令行窗口时执行的。

当通过控制台进行登录(输入用户名和密码):在初始化命令行提示符的时候会执行.bash_profile 来配置你的shell环境。但是如果已经登录到机器,在Gnome或者是KDE也开了一个新的终端窗口(xterm),这时,.bashrc会在窗口命令行提示符出现前被执行。当你在终端敲入/bin/bash时.bashrc也会在这个新的bash实例启动的时候执行。

所以对于我自己,我写了一个 .pathrc 文件

然后在 .bashrc , .zshrc , .bash_profile , /etc/profile 中都加了

下面是 .pathrc 文件

现在,当你从控制台登录机器的时候,.bashrc就会被执行。

四、常用的环境变量

BASH Bash Shell的全路径

CDPATH 用于快速进入某个目录。

PATH 决定了shell将到哪些目录中寻找命令或程序

HOME 当前用户主目录

HISTSIZE 历史记录数

LOGNAME 当前用户的登录名

HOSTNAME 指主机的名称

SHELL 当前用户Shell类型

LANGUGE 语言相关的环境变量,多语言可以修改此环境变量

MAIL 当前用户的邮件存放目录

PS1 基本提示符,对于root用户是#,对于普通用户是$

Reference

[1] /etc/profile、/etc/bashrc、 /.bash_profile、 /.bashrc

[2] Linux如何修改env看到的环境变量? .bashrc和.bash_profile区别

[3] linux环境变量,bashrc与bashprofile

linux环境下安装FastDFS配置详解

项目中使用了FastDFS作为文件系统,这里记录一下它的安装和配置过程

由于是测试环境,所以只提供了一台服务器,后续软件的安装和配置都在这台服务器上完成

1、安装fastdfs公共库libfastcommon,注意fastdfs和libfastcommon的安装目录,后面安装fastdfs-nginx-module时需要进行相关配置

2、安装fastdfs

3、配置Tracker

注意一下存放数据和日志的目录,启动后需要查看日志信息

4、启动Tracker

5、查看日志

为了确保Tracker启动成功,我们可以在刚在配置的日志目录中查看日志信息

出现上述信息表示Tracker已启动成功

6、遇到的问题

Tracker启动后,如果改了Tracker的配置文件想要重新启动,执行启动命令后发现日志中报错

这是因为此时Tracker已经启动了,再执行启动命令就会报错地址已被使用,此时可以执行restart命令进行重启

或者

安装步骤在上面Tracker的安装中已经做好了,直接配置即可

1、配置Storage

注意tracker的地址配置是否正确,否则启动时会报错

2、启动Storage

3、查看日志

出现上述信息表示Storage已启动成功

4、遇到的问题

Storage启动后,如果改了Storage的配置文件想要重新启动,执行启动命令后发现日志中报错

这是因为此时Storage已经启动了,再执行启动命令就会报错地址已被使用,此时可以执行restart命令进行重启

或者

之前阿里云ESC实例迁移,导致服务器内网ip地址发生了改变,重启Storage时日志报错

这是由于Storage配置文件中tracker_server的ip地址还是旧地址,所以会出现连接超时的问题,将配置文件中的地址改成新的地址重启Storage

1、配置fastdfs-nginx-module所需的配置文件,包括mod_fastdfs.conf,http.conf,mime.types

注意tracker_server地址,否则启动后会报错

2、安装配置

注意CORE_INCS和CFLAGS两项的配置

1、建立nginx用户

2、安装配置

3、更改nginx目录权限

4、配置文件nginx.conf

提供一个最简单的配置方式供参考,由于项目中nginx还做了其他处理,配置文件比较复杂,这里就不贴出来了

5、启动nginx

两种方式

或者

使用过程中有其他问题多查看日志报错情况,或者查阅 Nginx 跳转fastdfs存储图片地址报错问题分析过程汇总 ,详细原理讲解和测试查阅下面的参考文档

参考: 分布式文件系统FastDFS实践

linux下配置自己的环境变量文件my_env.sh

配置环境变量分为系统级和用户级,系统级所有用户生效,用户级针对特定用户,现场环境根据职能不同,会通过用户限制操作范围,环境变量修改以实际需要为准,遵循权限最小原则。

一般添加系统环境变量,修改/etc/profile文件,如果操作失误,删除重要配置,影响系统运行。

centos7版本中 /etc/profile 默认扫描路径 /etc/profile.d/ 下sh文件,并添加内容到环境变量中,可以通过这种方式不操作/etc/profile增加环境变量。

在/etc/profile.d/下创建文件 my_env.sh,并设置环境变量,如jdk等,内容如下:

vi /etc/profile.d/my_env.sh

编辑用户文件:~/.bash_profile,增加新path配置信息。如jdk:

自定义命令可以实现很多功能,如项目结构化目录文件生成、系统命令集合、带参命令自动填充等,脚本功能决定自定义命令的丰富程度。

创建自定义命令文件目录,方便集中管理,这里在当前用户目录下创建bin目录:mkdir ~/bin

创建自定义命令文件,文件名为命令名,如vi ~/bin/print,内容打印:echo test,添加文件执行权限:chmod 700 ~/bin/print

系统级

编辑/etc/profile.d/my_env.sh文件,增加环境变量export PATH= PATH:/home/用户名/bin

测试

控制台输入print ,回车即可

linux非root权限配置环境变量

Linux的变量种类

按变量的生存周期来划分,Linux变量可分为两类:

1 永久的:需要修改配置文件,变量永久生效。

2 临时的:使用export命令声明即可,变量在关闭shell时失效。

设置变量的三种方法

1 在/etc/profile文件中添加变量【对所有用户生效(永久的)】

用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。

例如:编辑/etc/profile文件,添加CLASSPATH变量

export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib

注:修改文件后要想马上生效还要运行# source /etc/profile不然只能在下次重进此用户时生效。

2 在用户目录下的.bash_profile文件中增加变量【对单一用户生效(永久的)】

用VI在用户目录下的.bash_profile文件中增加变量,改变量仅会对当前用户有效,并且是“永久的”。

例如:编辑guok用户目录(/home/guok)下的.bash_profile

命令用法如下

$ cd (进入用户登陆目录)

$ls –al .bash_profile(.bash_profile为隐藏文件,因此要用ls –a命令查找)

$vi .bash_profile(用vi编辑.bash_profile)

vi/home/guok/.bash.profile添加如下内容:exportCLASSPATH=./JAVAHOME/lib;JAVA_HOME/jre/lib

注:修改文件后要想马上生效还要运行$ source /home/guok/.bash_profile不然只能在下次重进此用户时生效。

3 直接运行export命令定义变量【只对当前shell(BASH)有效(临时的)】

在shell的命令行下直接使用[export 变量名=变量值] 定义变量,

该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,

shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。

环境变量的查看

1 使用echo命令查看单个环境变量。例如:

echo $PATH

2 使用env查看所有环境变量。例如:

env

3 使用set查看所有本地定义的环境变量。

使用unset删除指定的环境变量

set可以设置某个环境变量的值。清除环境变量的值用unset命令。如果未指定值,则该变量值将被设为NULL。示例如下:

export TEST="Test..." #增加一个环境变量TEST env|grep TEST #此命令有输入,证明环境变量TEST已经存在了

TEST=Test...

unset TEST #删除环境变量TEST

$ env|grep TEST #此命令没有输出,证明环境变量TEST已经删除

常用的环境变量

PATH 决定了shell将到哪些目录中寻找命令或程序

HOME 当前用户主目录

HISTSIZE 历史记录数

LOGNAME 当前用户的登录名

HOSTNAME 指主机的名称

SHELL 当前用户Shell类型

LANGUGE  语言相关的环境变量,多语言可以修改此环境变量

MAIL 当前用户的邮件存放目录

PS1 基本提示符,对于root用户是#,对于普通用户是$

Linux下设置和查看环境变量

Linux下修改.bash_profile 文件改变PATH变量的值

(责任编辑:IT教学网)

更多

推荐PHP+MySQL视频文章