  
- 帖子
- 212
- 主题
- 189
- 精华
- 0
- 积分
- 1424
- 贡献
- 1106
- 激情
- 1335
- 阅读权限
- 100
- 最后登录
- 2018-6-13
|
软皮沙发
发表于 2018-5-2 09:26
| 只看该作者
Linux修改环境变量PS1(命令行提示符),可以使用vi编辑/etc/profile文件,在最后加上:export PS1="[\u@\h \W]\\$"即可,其中u显示当前用户账号,h显示当前主机名,W显示当前路径,$显示’$'符号9 M# q+ v* x" H6 ?
& a3 H+ G4 q# R, g! Z- Q
8 B: G9 P- l# LW 代替 w 就可以实现绝对路径到相对路径的转换 U" ]$ P0 R$ P8 C$ P
7 x2 p/ ]4 g7 ~) v9 C
+ `3 h# z+ ~' Q7 B- R$ X% P D3 T* V" L N: p
下面简单说说环境下默认的特殊符号所代表的意义:
3 V/ H5 r6 w- h$ b* ]7 Q9 n0 T$ ]! f# t& s
8 W3 e7 m ]# Y0 D& u* B, Td :代表日期,格式为weekday month date,例如:”Mon Aug 1″
. {% [3 ?0 R& V( O6 q8 n3 n% W5 W$ t* s$ B& a4 j# @: | Y% _
# G7 l% B1 o r* m3 vH :完整的主机名称。例如:我的机器名称为:fc4.linux,则这个名称就是fc4.linux
) F, G M8 Q# T/ [+ c7 e3 Y8 f
# t' O4 a7 Q6 F' W N5 O
7 K% c+ C3 G5 q" K, K3 ~h :仅取主机的第一个名字,如上例,则为fc4,.linux则被省略& {0 |% M. ?# F
$ I- z, x0 n# ?' B& m3 A
( W1 E0 j( ^0 [. O* X s: O# y8 Rt :显示时间为24小时格式,如:HH:MM:SS- \- _$ m2 Q3 }5 k' `5 d) o- i
6 ~0 e( D3 `+ L+ ~5 e! k4 ^* d$ `2 ]# y- b% F
T :显示时间为12小时格式
8 y0 f2 A4 f9 j" _9 ]4 ^/ b9 A8 b& N* d3 T- I7 l
8 g. C/ a1 ~; Z% Q1 I. K" }% I3 YA :显示时间为24小时格式:HH:MM
: f+ P- c: K' ?; [3 V
" u9 a! b; K! t7 z l. K$ p4 Q. g+ B9 o3 I
u :当前用户的账号名称- Z7 w' U r. `5 @* l4 u; J
- z# @+ i9 q& t) i& n
8 |! e& ^9 Q7 ]. |7 vv :BASH的版本信息
5 M* o N- O) j+ X1 u' x7 e' h9 q' V: T3 ~% D. |
/ Z. ~1 g, m7 u; Q5 z# T' k7 p
w :完整的工作目录名称。家目录会以 ~代替
" `! x: S. M; i2 K4 b& _1 p0 V. {8 `7 U9 J: {- F9 ]
2 {7 K6 @$ m2 P: p* t
W :利用basename取得工作目录名称,所以只会列出最后一个目录7 h$ c1 l3 y) t5 O/ U8 n% @
$ `5 k; ^8 M9 i
+ x5 Y |" N0 V8 f3 J* y# :下达的第几个命令4 j& o: z$ [9 x6 r" ~ \
( N* a; U4 j% _
5 ?" y' [) R5 A: Y+ O; Z$ :提示字符,如果是root时,提示符为:# ,普通用户则为:$
5 T9 \ k2 }6 z9 o& J/ l ]! k, I R* W8 s% D- n
3 O" K0 O% T5 _: v3 E1 @1 ^
. A( g( Y' B) }: j$ k7 o/ E9 A: f+ F0 Q% O2 c: V
8 w4 I7 }* ]/ I/ X4 \6 l6 S4 b) @6 _* l- p0 V* s
但是这样设置之后显示的提示符是没有颜色的,如果希望加入颜色设置,可以这样:: d. v6 }* W$ i) Z
8 `8 Q$ {. ] M, d% }7 {0 G; K8 c$ b# p5 O0 Z2 a+ c, }2 Z
PS1=”e[1;32mue[me[1;33m@e[me[1;35mhe[m:w$ ". ]9 C, r/ f- i0 O: p
此时,在终端中的显示应该是彩色的提示符了,其中的e[1;xxm和e[m就是改变终端字体颜色的部分,前者是修改颜色,后者是恢复到正常显示。但是 这时还会有问题,在提示符中输入第一行时,回车换行不正常,导致显示很混乱,因此,除了这个修改之外,还需要将全部非打印字符用专用的 bash 转义序列 "[" 和 "]” 括起来。这两个序列通知 bash,被括起来的字符不占用行 上的任何空间,这样就使自动换行能够继续正常工作。最终版本如下(可解决带颜色提示符的不换行问题):9 t D( i0 l m; j
2 y5 H- n$ i$ Y7 u t6 g+ X n8 Y; W0 F2 J9 ?
PS1=”[e[1;32m]u[e[m][e[1;33m]@[e[m][e[1;35m]h[e[m]:w$ “. [" t, w8 Y% ^1 g
. I* u. a2 e* |
2 U! g8 V, E: Y& u8 e, B' n其中,颜色表示为:30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white。$ L0 w. V! I' V$ \ D+ N1 T% o3 l
7 ?! G0 ~: N) g7 {
$ D3 b' j6 {$ N2 O* y
3 e8 j6 q. @+ M* i% x
8 a" N/ L8 u" Z1 D; f5 R5 I
0 k% c, f4 w' Y3 h0 n f
/ K- P0 D- e+ F: n2 C
如果需要改变目录在命令行下显示颜色: {5 F0 P0 {7 V% N
* A' B) |. l4 l! a0 _, d
, ]3 L m5 ~ G, H2 T1、将/etc/DIR_COLORS文件cp到~/下,并改名为.dir_colors。
* K+ g4 R% G: Y, S0 {: o
- B! c8 r' W, F! X9 h5 b9 E+ @5 X
2、编辑.dir_colors文件,找到“DIR 01;34 # directory”,将34改为36。
% [; B( |: ^ b6 p) j
: J$ d' X7 `/ C9 j" i, J4 B* l! }7 E1 u* w1 Q
$ s" f. _& f* Y! A# }/ V( W+ ~+ a1 a& Y9 B$ a& e* P
你可以找到文件的两行注释:3 D! H9 n$ ^6 p
# Text color codes:: \. w8 W) W7 A$ O/ A. B0 e
# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white* }5 T* u. j# [( R: ~
按照颜色对应的数字,你还可以把目录显示颜色改成其他的。+ a6 |! |! h/ K J& `! y
同样其他的显示效果(包括背景)也可以参照说明进行修改。4 E# G6 Y8 N+ W; n
这样你就可以定制自己的linux下命令行方式下的个性化显示效果了。 http://www.linuxso.com/linuxpeixun/21125.html; H" x- d2 \' Y" J
O# k. E ^9 h/ ~
|
|