1) .bashrc文件

在linux系统普通用户目录(cd /home/xxx)或root用户目录(cd /root)下,用指令ls -al可以看到4个隐藏文件,

.bash_history   记录之前输入的命令

.bash_logout    当你退出时执行的命令

.bash_profile    当你登入shell时执行

.bashrc             当你登入shell时执行

请注意后两个的区别:'.bash_profile'只在会话开始时被读取一次,而'.bashrc'则每次打开新的终端时,都要被读取。

这些文件是每一位用户对终端功能和属性设置,修改.bashrc可以改变环境变量PATH、别名alias和提示符。具体如何修改会在下面做介绍。

除了可以修改用户目录下的.bashrc文件外,还可以修改如“/etc/profile”文件、“/etc/bashrc”文件及目录“/etc /profile.d”下的文件。但是修改/etc路径下的配置文件将会应用到整个系统,属于系统级的配置,而修改用户目录下的.bashrc则只是限制在用户应用上,属于用户级设置。两者在应用范围上有所区别,建议如需修改的话,修改用户目录下的.bashrc,即无需root权限,也不会影响其他用户。

2) PATH环境变量修改

PATH变量决定了shell 将到哪些目录中寻找命令或程序。如果要执行的命令的目录在 $PATH 中,您就不必输入这个命令的完整路径,直接输入命令就可以了。一些第三方软件没有将可执行文件放到 Linux 的标准目录中。因此,将这些非标准的安装目录添加到 $PATH 是一种解决的办法。此外,您也将看到如何处理一般的环境变量。

首先,作为惯例,所有环境变量名都是大写。由于 Linux 区分大小写,这点您要留意。当然,您可以自己定义一些变量,如'$path'、'$pAtH',但 shell 不会理睬这些变量。

第二点是变量名有时候以'$'开头,但有时又不是。当设置一个变量时,直接用名称,而不需要加“$”,如

“PATH=/usr/bin:/usr/local/bin:/bin”

假如要获取变量值的话,就要在变量名前加'$':
       “echo $PATH”
       则会显示当前设置的PATH变量“/usr/bin:/usr/local/bin:/bin”

否则的话,变量名就会被当作普通文本了:
       “echo PATH”
       显示“PATH”
       处理 $PATH 变量要注意的第三点是:您不能只替换变量,而是要将新的字符串添加到原来的值中。在大多数情况下,您不能用“PATH=/some /directory”,因为这将删除 $PATH 中其他的所有目录,这样您在该终端运行程序时,就不得不给出完整路径。所以,只能作添加:“PATH=$PATH:/some/directory”,假如你要添加/usr/local/arm/3.4.1/bin交叉编译命令,则操作为“PATH=$PATH:/usr/local/arm/3.4.1/bin”
这样,PATH 被设成当前的值(以 $PATH 来表示)+新添的目录。

到目前为止,你只为当前终端设置了新的 $PATH 变量。如果您打开一个新的终端,运行 echo $PATH ,将显示旧的 $PATH 值,而看不到你刚才添加的新目录。因为你先前定义的是一个局部环境变量(仅限于当前的终端)。

要定义一个全局变量,使在以后打开的终端中生效,您需要将局部变量输出(export),可以用"export"命令:

export PATH=$PATH:/some/directory

现在如果打开一个新的终端,输入 echo $PATH ,也能看到新设置的$PATH 了。请注意,命令'export'只能改变当前终端及以后运行的终端里的变量。对于已经运行的终端没有作用。

为了将目录永久添加到 $PATH ,只要将"export"的那行添加到.bashrc或/etc/bashrc文件中。

3) alias别名

一般在.bashrc或/etc/bashrc文件里有几句话

alias rm='rm -i'

alias cp='cp -i'

alias mv='mv -i'

有了这几句话,当在终端中输入“mv test.c led.c”实际上输入的是“mv -i test.c led.c”,所以说alias是一个别名。你可以在该配置文件中添加自己风格的别名,如“alias ll='ls -l'”,只需要在终端中输入“ll”就实现了“ls -l”的功能。还可以添加其他语句,随自己喜好。

4) 提示符

当打开一个控制台(console) 时,最先看到的就是提示符(prompt),如:[root@localhost ~]#

在默认设置下,提示符将显示用户名、主机名(默认是'localhost')、当前所在目录(在 Unix 中,'~'表示您的 home 目录)。

按照传统,最后一个字符可以标识普通用户($),还是'root'(#)。

可以通过 $PS1 变量来设置提示符。

命令“echo $PS1”,将显示当前的设定。其中可用字符的含义在 man bash 的'PROMPTING'部分有说明。

如何才能完成理想的设置呢?对于健忘的初学者来讲,默认设定有些不友好,因为提示符只显示当前目录的最后一部分。如果你看到象这样的提示符

[wsf@localhost bin]$
      则当前目录可能是'/bin'、'/usr/bin'、'/usr/local/bin'及'/usr/X11R6/bin'。当然,你可以用

pwd (输出当前目录,print working directory)

能不能叫 shell 自动告诉你当前目录呢?

当然可以。这里我将提到的设定,包括提示符,大都包含在文件'/etc/bashrc'中。您可以通过编辑各自 home 目录下的'.bash_profile'和'.bashrc'来改变设置。

在 man bash 中的'PROMPTING'部分,对这些参数(parameter)有详细说明。您可以加入一些小玩意,如不同格式的当前时间,命令的历史记录号,甚至不同的颜色。

一种更适当的设定:
       PS1="[\u: \w]\\$ "
      这样,提示符就变成:
      [wsf: /usr/bin]$
      你可以通过命令 export 来测试不同的设置(比如,export PS1="\u: \w\\$ ")。如果找到了适合的提示符,就将设置放到您的'.bashrc''中。这样,每次打开控制台或终端窗口时,都会生效。

LINUX下配置bashrc文件/ PATH环境变量修改/别名/提示符相关推荐

  1. linux下查看和添加PATH环境变量

    linux下查看和添加PATH环境变量 $PATH:决定了shell将到哪些目录中寻找命令或程序,PATH的值是一系列目录,当您运行一个程序时,Linux在这些目录下进行搜寻编译链接. 编辑你的 PA ...

  2. bashrc文件中环境变量配置错误,导致linux命令无法正常使用的解决方案

    分析原因 bashrc文件中环境变量配置错误,导致linux无法正常使用. 其实解决问题的方法很简单:把你在bashrc文件中写错的东西注释掉或者改写正确即可. 可是此时图形界面登陆不了,vim用不了 ...

  3. 【Linux】5.linux下的export命令和环境变量

    linux下的export命令和环境变量 linux中在 profile 或者 bashrc 或者其他类似的文件中设置环境变量时(比如PATH),如果没有export,那么只能在直接启动的shell中 ...

  4. Ubuntu下增加Python的PATH环境变量

    Ubuntu下增加Python的PATH环境变量 1. Ubuntu专有方式 编辑 /etc/ld.so.conf 文件,如果以下语句不存在,则加入: include /etc/ld.so.conf. ...

  5. Linux下如何设置和查看环境变量

    Linux的变量种类 按变量的生存周期来划分,Linux变量可分为两类:  1 永久的:需要修改配置文件,变量永久生效.  2 临时的:使用export命令声明即可,变量在关闭shell时失效. 按作 ...

  6. LINUX下配置java的WEB环境

     一.安装配置j2sdk : 1. 下载的linux平台上的j2sdk(或jdk.或j2se).建议下载rpm包. 2.  假设用户下载的是j2sdk-1_4_2_08-linux-i586-rpm. ...

  7. shell配置,选择,环境变量修改(ORACLE_HOME,ORACLE_SID),无法使用sqlplus

    ... 零,由于某种误操作,导致用户账户下的shell配置文件丢失被删除 一,你登录到对应主机后,默认使用的那种shell $ echo $SHELL $ pstree $ pstree -up|gr ...

  8. linux系统中tomcat变量,Linux下jdk以及tomcat的环境变量到底要设置在哪个文件中?在线等,希望大家踊跃发言!...

    安装完了,在哪设置环境变量? 说法一堆: 1.用export命令直接在shell下设置,但是只对当前shell生效.如果从另外一个shell登陆,将不能使用刚才设置的变量. 2.在/etc/profi ...

  9. Linux下配置Hadoop全分布式环境

    1. 前提 部署全分布式环境,我们肯定不能在一台服务器上了,这里我用了7台服务器,在VMware上开了7个虚拟机,如下图所示: 我基本配置了一晚上才搞定,第一次配置一般都有错,这时候不妨去到hadoo ...

最新文章

  1. Error: No module named books
  2. Android Priority Job Queue (Job Manager):多重不同Job并发执行并在前台获得返回结果(四)...
  3. **Git分支管理策略
  4. java类的完整生命周期详解
  5. IOS 4.0 以上版本 home键退出 后台执行代码
  6. POS消费机C#例子代码
  7. 弹出对话框拖拽JavaScript实现
  8. Java Web 路径问题
  9. 最好用的手机端C/C++语言编程软件, 不要说没电脑就不学编程了!
  10. Dom4j 解析Xml文档及 XPath查询 学习笔记
  11. effective C++ 条款 11:在operator= 处理‘自我赋值’
  12. JSP技术模型(五)JSP隐含变量
  13. Gridview模板中提供的删除功能
  14. Javascript基础知识笔记一
  15. adb 连接时候不弹出授权对话框
  16. oracle 修改表字段的长度
  17. javascript new对象的过程
  18. office创建数据透视表
  19. linux系统查看ssh是否开启,linux查看与开启ssh
  20. ubuntu——sudo权限问题(sudo:/etc/sudoers is world writable sudo:no valid sudoers sources found,quitting..)

热门文章

  1. C# 控制台语音计算器
  2. Enterprise Library 4.0
  3. Tech·Ed 2007大会课程内容
  4. Java黑皮书课后题第6章:**6.31(金融应用:信用卡号的合法性验证)和**6.32 编写程序,提示用户输入一个long型整数的信用卡号码,显示这个数字是合法的还是非法的
  5. mysql游标遍历修改_mysql使用游标遍历数据进行批量针对性更新数据,急求mysql大神解答...
  6. python 语音识别机器人控制系统_python人脸识别+语音识别 的监控系统
  7. linux父子进程字写父读无效,linux父子进程
  8. bootstrap_bootstrap中日历范围选择插件daterangepicker的使用
  9. 基于py3和pymysql的数据库查询,查询某几列的数据
  10. python中常用的函数