Linux如何修改环境变量PATH,以及系统登录时读取文件的顺序

关于系统登录时会查看哪些文件,继承哪些文件的变量,可以参考我上一篇博客,有关交互式登录和非交互式登录的区别

http://blog.csdn.net/gui951753/article/details/79154496

Linux系统环境变量配置文件:

/etc/profile : 在登录时,操作系统定制用户环境时使用的第一个文件 ,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。

/etc /environment : 在登录时操作系统使用的第二个文件, 系统在读取你自己的profile前,设置环境文件的环境变量。

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

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

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



PASH环境变量的设置方法:

方法一:用户主目录下的.profile或.bashrc文件(推荐)

登录到你的用户(非root),在终端输入:
$ sudo gedit ~/.profile(or .bashrc)
可以在此文件末尾加入PATH的设置如下:
export PATH=”$PATH:your path1:your path2 ...”
保存文件,注销再登录,变量生效。
该方式添加的变量只对当前用户有效。

方法二:系统目录下的profile文件(谨慎)

在系统的etc目录下,有一个profile文件,编辑该文件:
$ sudo gedit /etc/profile
在最后加入PATH的设置如下:
export PATH=”$PATH:your path1:your path2 ...”
该文件编辑保存后,重启系统,变量生效。
该方式添加的变量对所有的用户都有效。

方法三:系统目录下的 environment 文件(谨慎)

在系统的etc目录下,有一个environment文件,编辑该文件:
$ sudo gedit /etc/environment
找到以下的 PATH 变量:
PATH="<......>"
修改该 PATH 变量,在其中加入自己的path即可,例如:
PATH="<......>:your path1:your path2 …"
各个path之间用冒号分割。该文件也是重启生效,影响所有用户。
注意这里不是添加export PATH=… 。

方法四:直接在终端下输入

$ sudo export PATH="$PATH:your path1:your path2 …"
这种方式变量立即生效,但用户注销或系统重启后设置变成无效,适合临时变量的设置。


注 意:方法二和三的修改需要谨慎,尤其是通过root用户修改,如果修改错误,将可能导致一些严重的系统错误。因此笔者推荐使用第一种方法。另外嵌入式 Linux的开发最好不要在root下进行(除非你对Linux已经非常熟悉了!!),以免因为操作不当导致系统严重错误。

下面是一个对environment文件错误修改导致的问题以及解决方法示例:

问题:因为不小心在 etc/environment里设在环境变量导致无法登录
提示:不要在 etc/environment里设置 export PATH这样会导致重启后登录不了系统
解决方法:
在登录界面 alt +ctrl+f1进入命令模式,如果不是root用户需要键入(root用户就不许这么罗嗦,gedit编辑会不可显示)
/usr/bin/sudo /usr/bin/vi /etc/environment
光标移到export PATH** 行,连续按 d两次删除该行;
输入:wq保存退出;
然后键入/sbin/reboot重启系统(可能会提示need to boot,此时直接power off)

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Linux中,环境变量文件系统是两个关键的概念,它们对于系统运行和用户的交互起着至关重要的作用。 **1. Linux环境变量**: 环境变量Linux系统中存储在内存中的配置信息,用于设置和传递应用程序运行的参数或路径。常见的环境变量包括: - PATH: 定义了程序执行的搜索路径,当命令无法在当前目录找到,会在PATH中指定的路径下查找。 - HOME: 存储用户的主目录,许多系统默认会使用这个目录作为默认的工作目录。 - USER/USERNAME: 当前登录用户的用户名。 - LANG/LANGUAGE: 显示和处理文本的语言环境。 **2. Linux文件系统**: 文件系统是操作系统用于组织和存储数据的方式,主要有以下几种: - **EXT(Extended)系列**:如EXT2, EXT3, EXT4,Linux的传统文件系统,支持日志记录和错误恢复。 - **FAT(File Allocation Table)**:适用于老旧的Windows和某些移动设备,不支持大文件和长文件名。 - **HFS+(Hierarchical File System Plus)**:苹果Mac OS的默认文件系统。 - **NTFS(New Technology File System)**:微软Windows系统的常用文件系统,支持长文件名和加密等高级特性。 - **Btrfs(Balanced File System)**:Linux内核支持的现代文件系统,提供更好的数据完整性、空间效率和文件系统操作性能。 **相关问题--:** 1. 如何查看Linux系统中的所有环境变量? 2. Linux系统中如何设置或修改环境变量? 3. 文件系统中,什么是inode,它在文件管理中起到什么作用?

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值