当我们登陆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 IO之 Netty与NIO服务器

    前面介绍了基本的网络模型以及IO与NIO,那么有了NIO来开发非阻塞服务器,大家就满足了吗?有了技术支持,就回去追求效率,因此就产生了很多NIO的框架对NIO进行封装--这就是大名鼎鼎的Netty. ...

  2. PTA题目的處理(四)

    题目7-3 求交错序列前N项和 1.实验代码 #include <stdio.h> //#include <stdlib.h> int main() { ,N; double ...

  3. 20145237《Java程序设计》第一周学习总结

    教材学习内容总结 java可分为Java SE.Java EE.Java ME三大平台. java SE分为JVM.JRE.JDK.与java语言四个部分. JRE包括java SE API和JVM. ...

  4. python的PEP8 代码风格指南

    PEP8 代码风格指南 这篇文章原文实际上来自于这里:https://www.python.org/dev/peps/pep-0008/ 知识点 代码排版 字符串引号 表达式和语句中的空格 注释 版本 ...

  5. 201621123043《java程序设计》第4周学习总结

    1. 本周学习总结 1.1 写出你认为本周学习中比较重要的知识点关键词 关键字:继承.覆盖.多态 1.2 尝试使用思维导图将这些关键词组织起来.注:思维导图一般不需要出现过多的字. 1.3 可选:使用 ...

  6. AngularJS1.X学习笔记11-服务

    如果我没记错的话,spring里边有个service层.什么是服务呢?个人理解就是很多地方要用的,可以跨越控制器甚至是跨越模块的工具.AngularJS也为我们提供了服务这种机制,这让我们可以将一些不 ...

  7. 增加Linux虚拟机的硬盘空间

    原配置为40G,现需要增加到60G,操作方法如下: 一.虚拟机关机,在编辑设置里调整硬盘空间到60G 二.虚拟机开机,扩展硬盘空间 1.安装gparted,命令如下 sudo apt-get inst ...

  8. python 中 reduce 函数的使用

    reduce()函数也是Python内置的一个高阶函数. reduce()函数接收的参数和 map()类似,一个函数 f,一个list,但行为和 map()不同,reduce()传入的函数 f 必须接 ...

  9. Spring Security入门(2-3)Spring Security 的运行原理 4 - 自定义登录方法和页面

    参考链接,多谢作者: http://blog.csdn.net/lee353086/article/details/52586916 http元素下的form-login元素是用来定义表单登录信息的. ...

  10. java线程池01-ThreadPoolExecutor构造方法参数的使用规则

    为了更好的使用多线程,JDK提供了线程池供开发人员使用,目的在于减少线程的创建和销毁次数,以此达到线程的重复利用. 其中ThreadPoolExecutor是线程池中最核心的一个类,我们先简单看一下这 ...