当我们登陆linux后,显示的提示字符究竟是什么意思呢?又可不可以设置呢。

首先来看看默认的显示:

普通用户:
[fuwh@localhost ~]$ root用户:
[root@localhost ~]#

可以看到,普通用户和root用户的显示是有差别的。那每个符号又是什么意思呢 ?

fuwh/root:当前登陆的用户。

@localhost:连接的主机名,我是连接的本地的,所以就是localhost了

~:表示的就是当前所在的目录,我现在是在自己的家目录,所以就显示的~

$/#:这个是提示字符,如果是root的话,就是#,普通用户的话就是$

那么,我们可不可以设置个性化的显示呢,不如说,现在当你移动到别的目录下的时候是这样显示的:

[fuwh@localhost stu22]$ pwd
/home/fuwh/stu/stu22
[fuwh@localhost stu22]$

那我们希望,如果能够显示当前路径的完整路径就好了。

那这个在哪里配置呢?

其实,控制提示字符显示的是一个变量PS1的值。我们可以用set来查看当前PS1的值

[fuwh@localhost stu22]$ set
BASH=/bin/bash
PS1='[\u@\h \W]\$ '
PS2='> '
PS4='+ '
PWD=/home/fuwh/stu/stu22 .....其他省略

可以看到目前PS1的值为[\u@\h \W]$ ,当我们每次按下回车之后,最后显示的时候都会去读取这个值。

那其中这些配置又是什么意思呢?

\d :可显示出『星期 月 日』的日期格式,如:"Mon Feb 2"
\H :完整的主机名。举例来说,鸟哥的练习机为『www.vbird.tsai』
\h :仅取主机名在第一个小数点之前的名字,如鸟哥主机则为『www』后面省略
\t :显示时间,为 24 小时格式的『HH:MM:SS』
\T :显示时间,为 12 小时格式的『HH:MM:SS』
\A :显示时间,为 24 小时格式的『HH:MM』
\@ :显示时间,为 12 小时格式的『am/pm』样式
\u :目前使用者的账号名称,如『root』;
\v :BASH 的版本信息,如鸟哥的测试主板本为 3.2.25(1),仅取『3.2』显示
\w :完整的工作目录名称,由根目录写起的目录名称。但家目录会以 ~ 取代;
\W :利用 basename 函数取得工作目录名称,所以仅会列出最后一个目录名。
\# :下达的第几个命令。
\$ :提示字符,如果是 root 时,提示字符为 # ,否则就是 $ 啰~

那通过上面的变量说明,我们如果要显示全路径的话,应该就知道怎么修改了吧?

只需要做如下修改就可以了哦

[fuwh@localhost stu22]$ PS1='[\u@\h \w]\$ '
[fuwh@localhost ~/stu/stu22]$

是不是很简单,很方便?

但是,我们发现,每次我们退出重新登陆之后,这个变量就没有了。

为了能够让下次登陆也有效,我们需要激昂这个变量的值写入到我们自己的配置文件当中去。

在Centos中,登陆分为两种:

login:普通的文字界面,帐号密码登陆

non-login:在登陆图形界面后打开的命令行终端

这两种登录方式在登陆的时候,读取的配置文件是不一样的

login:

  1、etc/profile,这个属于系统整体的配置

  2、~/.bash_profile或~/.bash_login或~/.profile这个属于个人配置(只有当~/.bash_profile不存在才会去读~/.bash_login,~/.bash_login不存在才会读~/.profile)

non-login:~/bashc

我们查看~/.bash_profile的内容:

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi # User specific environment and startup programs PATH=$PATH:$HOME/bin
export PATH

发现,它会去读取~/.bashrc的内容。里面也配置了PASH的值,所以如果我把一个脚本之类的文件放在家目录的bin目录下,就可以直接执行。

所以我们考虑,在这个文件真的最后加上PS1的配置、

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi # User specific environment and startup programs PATH=$PATH:$HOME/bin
PS1='[\u@\h \A \w]\$ '
export PS1
export PATH

修改之后,发现还没有生效。因为没有去读取配置文件,如果我们下次登陆就会生效。

但是我们也可以主动的去读取这个配置文件通过source或者.来读取。

source ~/.bash_profile

这样就可以立马生效了。

Linux提示字符设置的更多相关文章

  1. Linux Eclipse代码提示功能设置(Java & C/C++)

    最近在Linux下开发,由于长期使用Visual Studio 2010,对代码提示功能情有独钟,现在在Linux下,使用Eclipse做开发,当然免不了怀念Visual Studio强悍的代码提示, ...

  2. linux BASH shell设置字体与背景颜色

    linux BASH shell下设置字体及背景颜色的方法. BASH shell下设置字体及背景颜色  echo -e "\e[31mtest\e[41m"  \e[30m 将字 ...

  3. linux使用ps1设置命令行提示符

    要自定义命令行提示,需要ps1来设置.完成自定义需要以下几个步骤: 1.编辑~/.bashrc文件 vi ~/.bashrc 2.在.bashrc文件中添加以下一行自定义内容 export PS1=& ...

  4. CentOS Linux服务器安全设置

    转自:http://www.osyunwei.com/archives/754.html 引言: 我们必须明白:最小的权限+最少的服务=最大的安全 所以,无论是配置任何服务器,我们都必须把不用的服务关 ...

  5. Linux提示no crontab for root的解决办法

    Linux提示no crontab for root的解决办法 安装crontab:yum install crontabs 说明:/sbin/service crond start //启动服务/s ...

  6. Eclipse代码提示功能设置(Java & Eclipse+CDT C/C++)

    http://developer.51cto.com/art/200907/136242.htm http://blog.chinaunix.net/u/21684/showart_462486.ht ...

  7. Linux 纯字符界面的玩法

    Linux 纯字符界面的用途 装逼必备 省资源,服务器一般不安装图形界面 图形界面崩溃后紧急救援 进入字符界面的正确方式 目前新的 Linux 发行版基本上都使用 Systemd 作为 init 程序 ...

  8. 虚拟机运行Linux提示【此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态。】的问题

    虚拟机运行Linux提示[此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态.]的问题 换了台新笔记本,安装了虚拟机,导入以前的Linux系统镜像,出问题了. 提示以下错误信息: ...

  9. linux网络基础设置 以及 软件安装

    ifconfig #查看所有已激活的网卡信息 临时配置 #yum install net-tools -y 默认ifconfig是没有安装的,可能需要安装 ifconfig eth0 #查看单独一块网 ...

随机推荐

  1. [Java反射机制]用反射改进简单工厂模式设计

    如果做开发的工作,工厂设计模式大概都已经深入人心了,比较常见的例子就是在代码中实现数据库操作类,考虑到后期可能会有数据库类型变换或者迁移,一般都会对一个数据库的操作类抽象出来一个接口,然后用工厂去获取 ...

  2. python全栈学习--day10(函数进阶)

    一,引言 现在我有个问题,函数里面的变量,在函数外面能直接引用么? def func1(): m = 1 print(m) print(m) #这行报的错 报错了:NameError: name 'm ...

  3. Docker深入浅出系列教程——Docker简介

    我是架构师张飞洪,钻进浩瀚代码,十年有余,人不堪其累,吾不改其乐.如果你和我的看法不一样,请关注我的头条号,我们一起奇闻共赏,疑义相析. 本节属于入门简介,从三个小方面进行简单介绍Docker. Do ...

  4. 听翁恺老师mooc笔记(1)--为何选择学习C

    知识点1:众多编程语言,为何选择C? 现在我们的同学喜欢java,也参加很多java的培训班,java是比较热门,但是C语言在工业界依然有重要的地位,在很多领域无可替代,几乎所有和硬件打交道的地方都得 ...

  5. 20162311 实验三 敏捷开发与XP实践 实验报告

    20162311 实验三 敏捷开发与XP实践 实验报告 实验内容 一.研究学习IDEA中的Code菜单 使用Code ->Reformate Code功能将以下代码格式化 public clas ...

  6. 设计模式NO.3

    设计模式NO.3 本次博客内容为第三次设计模式的练习.根据老师的要求完成下列题目: 题目1 某商品管理系统的商品名称存储在一个字符串数组中,现需要自定义一个双向迭代器(MyIterator)实现对该商 ...

  7. scrapy 避免被ban

    1.settings.pyCOOKIES_ENABLED = False DOWNLOAD_DELAY = 3 ROBOTSTXT_OBEY = Falseip代理池设置 IPPOOL = [{'ip ...

  8. SOAP不同版本引起的问题

     曾经遇到这样一个问题,在组织soap字符串时报这个错误: 2013-5-29 17:25:56 org.apache.cxf.phase.PhaseInterceptorChain doDefaul ...

  9. php的借用其他网站的页面覆盖Logo的技巧

    php的借用其他网站的页面覆盖Logo的技巧, <body> <div id="red_f"></div> <div class=&quo ...

  10. 从一个事件绑定说起 - DOM

    事件绑定的方式 给 DOM 元素绑定事件分为两大类:在 html 中直接绑定 和 在 JavaScript 中绑定. Bind in HTML 在 HTML 中绑定事件叫做内联绑定事件,HTML 的元 ...