Chinaunix首页 | 论坛 | 博客
  • 博客访问: 344840
  • 博文数量: 46
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 562
  • 用 户 组: 普通用户
  • 注册时间: 2013-05-14 13:32
个人简介

先知者为师

文章分类

全部博文(46)

文章存档

2016年(1)

2015年(6)

2014年(20)

2013年(19)

我的朋友

分类: LINUX

2014-04-25 12:46:33

本篇文章不仅仅只是告诉你修改哪个文件就会有效果,而教你为什么修改此文件,授人鱼不如授人渔,大家共勉。
ubuntu下默认的提示符如下:
    linux@linux:[绝对路径名]$ 
我们在linux开发时 ,必定会进入到多级目录,如果进入的目录层级比较深那么这个提示符就会比较长
比如:
linux@linux:/home/linux/test/tlcp/usr_group/proccred/...
可能会更长,这样光提示符这么长看着就烦,再遇上开发时遇到点问题,那就更浮躁了,
此文给你个清爽的提示符,让你的心情清爽
----------------------------分割下吧-------------------------------------------
shell默认分三类 
1.登录shell
2.交互shell
3.非交互shell

###################################################
#
1首先介绍登录shell
登录linux系统时 ubuntu下 bash会作为默认登录shell,登录shell会处理这些文件
/etc/profile
$HOME/.bash_profile;
$HOME/.bashi_login;
$HOME/.profile
#
/etc/profile 文件是bash shell默认的bash shell主启动文件,系统每个用户登录时都会执行这个启动文件。
另外3个是用户专有的。
查看下 /etc/profile是如何执行的

先查询的PS1(这里声明下 LINUX下PS1环境变量是控制默认命令行提示符的格式)
然后执行的/etc/bash.bashrc,去这个文件看下:

红框就是命令行提示符的格式,这个格式稍后我们再说,这就是说 每个默认的启动都会按这个格式输出的
如果把此文件的PS1更改的话 那么每个用户默认打开的命令行提示符将会更改(当然前提是你没改过自己目录下的文件)
需要source下才能显示
在此文件的末尾加一句 :echo Hello Leader, wellcome to my bash   !
每次启动shell的时候 都会有这句话 感觉是不是离成功不远了呢?!
#
########################################################
#
2. $HOME目录下的启动文件
这样改的效果当然不是很好 因为此PC可能不是你一个人用的,那么你只需更改自己家目录下的文件就行了
先运行命令cd 不加参数进入家目录
    大多数linux发行版只用下面3个启动文件中的一个
$HOME/.bash_profile;
$HOME/.bashi_login;
$HOME/.profile
查看自己家目录下的文件到底是哪一个
我的ubuntu是.profile
跟踪下此文件

15行发现启动的是 $HOME/.bashrc
继续跟踪 查找有关PS1的行

先看下判断语句 color_prompt 我没深入 ,根据经验,显示的命令行 不是这个格式的,
当然也不是下面TERM的,我们只需更改else下边的,PS1变量,
我习惯是显示用户名和目录,目录是相对路径 也就是上边图片上那样,
\w:是绝对路径 \W是相对路径
看下我的命令行显示效果:

只显示当前的相对路径而这个路径的绝对路径非常长的。。
#

##############################################
#
其他更改:

最好是要在$后边加个空格,否则命令行参数和 提示符之间是挨着,不好看
#
################################################
#

最后把PS1的设置贴出来

PS1:提示符的设置
     PS1(是数字1而不是字母l),每个版本bash的PS1变量内的特殊符号可能有些小的差异,你可以先man bash 一下。


/d :代表日期,格式为weekday month date,例如:"Mon Aug 1"
/H :完整的主机名称。例如:我的机器名称为:fc4.linux,则这个名称就是fc4.linux
/h :仅取主机的第一个名字,如上例,则为fc4,.linux则被省略
/t :显示时间为24小时格式,如:HH:MM:SS
/T :显示时间为12小时格式
/A :显示时间为24小时格式:HH:MM
/u :当前用户的账号名称
/v :BASH的版本信息
/w :完整的工作目录名称。家目录会以 ~代替
/W :利用basename取得工作目录名称,所以只会列出最后一个目录
/# :下达的第几个命令
/$ :提示字符,如果是root时,提示符为:#    ,普通用户则为:$

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