Linux提示字符设置
当我们登陆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提示字符设置的更多相关文章
- Linux Eclipse代码提示功能设置(Java & C/C++)
最近在Linux下开发,由于长期使用Visual Studio 2010,对代码提示功能情有独钟,现在在Linux下,使用Eclipse做开发,当然免不了怀念Visual Studio强悍的代码提示, ...
- linux BASH shell设置字体与背景颜色
linux BASH shell下设置字体及背景颜色的方法. BASH shell下设置字体及背景颜色 echo -e "\e[31mtest\e[41m" \e[30m 将字 ...
- linux使用ps1设置命令行提示符
要自定义命令行提示,需要ps1来设置.完成自定义需要以下几个步骤: 1.编辑~/.bashrc文件 vi ~/.bashrc 2.在.bashrc文件中添加以下一行自定义内容 export PS1=& ...
- CentOS Linux服务器安全设置
转自:http://www.osyunwei.com/archives/754.html 引言: 我们必须明白:最小的权限+最少的服务=最大的安全 所以,无论是配置任何服务器,我们都必须把不用的服务关 ...
- Linux提示no crontab for root的解决办法
Linux提示no crontab for root的解决办法 安装crontab:yum install crontabs 说明:/sbin/service crond start //启动服务/s ...
- Eclipse代码提示功能设置(Java & Eclipse+CDT C/C++)
http://developer.51cto.com/art/200907/136242.htm http://blog.chinaunix.net/u/21684/showart_462486.ht ...
- Linux 纯字符界面的玩法
Linux 纯字符界面的用途 装逼必备 省资源,服务器一般不安装图形界面 图形界面崩溃后紧急救援 进入字符界面的正确方式 目前新的 Linux 发行版基本上都使用 Systemd 作为 init 程序 ...
- 虚拟机运行Linux提示【此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态。】的问题
虚拟机运行Linux提示[此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态.]的问题 换了台新笔记本,安装了虚拟机,导入以前的Linux系统镜像,出问题了. 提示以下错误信息: ...
- linux网络基础设置 以及 软件安装
ifconfig #查看所有已激活的网卡信息 临时配置 #yum install net-tools -y 默认ifconfig是没有安装的,可能需要安装 ifconfig eth0 #查看单独一块网 ...
随机推荐
- Java基础学习笔记十 Java基础语法之final、static、匿名对象、内部类
final关键字 继承的出现提高了代码的复用性,并方便开发.但随之也有问题,有些类在描述完之后,不想被继承,或者有些类中的部分方法功能是固定的,不想让子类重写.可是当子类继承了这些特殊类之后,就可以对 ...
- 用Python满足满足自己的“小虚荣”
首先声明,学习这个只是为了好玩,只是为了好玩,并不是想用这个弄虚作假,做一些不好的事情!一心想做技术人,自制自治! 我们有时候发布一篇日志,或者是一篇博文,总希望自己的浏览量能高点,这样看起来也倍有面 ...
- nodejs安装和卸载
Ubuntu 上安装 Node.js 方式一:直接安装 一.安装 1.$ sudo apt-get install nodejs2.$ sudo apt-get install npm二.升级 ...
- TensorFlow实现Softmax Regression识别手写数字中"TimeoutError: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败”问题
出现问题: 在使用TensorFlow实现MNIST手写数字识别时,出现"TimeoutError: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应 ...
- 20162327WJH程序设计与数据结构第七周总结
学号 20162327 <程序设计与数据结构>第7周学习总结 教材学习内容总结 1.关于接口的理解:接口可以理解为比较纯粹的抽象类 2.接口的特点:用interface定义接口 接口中的方 ...
- python中functools.singledispatch的使用
from functools import singledispatch @singledispatch def show(obj): print (obj, type(obj), "obj ...
- oracle删除某个用户所有表(转)
1. select 'Drop table '||table_name||';' from all_tables where owner ...
- 【iOS】swift 74个Swift标准库函数
本文译自 Swift Standard Library: Documented and undocumented built-in functions in the Swift standard li ...
- Node.js系列文章:编写自己的命令行界面程序(CLI)
CLI的全称是Command-line Interface(命令行界面),即在命令行接受用户的键盘输入并作出响应和执行的程序. 在Node.js中,全局安装的包一般都具有命令行界面的功能,例如我们用于 ...
- 5种做法实现table表格中的斜线表头效果
table表格,这个东西大家肯定都不陌生,代码中我们时常都能碰到,那么给table加一个斜线的表头有时是很有必要的,但是到底该怎么实现这种效果呢? 我总结了以下几种方法: 1.最最最简单的做法 直接去 ...