  
- 帖子
- 212
- 主题
- 189
- 精华
- 0
- 积分
- 1364
- 贡献
- 1046
- 激情
- 1305
- 阅读权限
- 100
- 最后登录
- 2018-6-13
|
软皮沙发
发表于 2018-5-2 09:26
| 只看该作者
Linux修改环境变量PS1(命令行提示符),可以使用vi编辑/etc/profile文件,在最后加上:export PS1="[\u@\h \W]\\$"即可,其中u显示当前用户账号,h显示当前主机名,W显示当前路径,$显示’$'符号! o0 W. e: V1 F2 p
$ D8 b8 k, s7 l Y- j; o A
$ {7 K) I- O* `3 uW 代替 w 就可以实现绝对路径到相对路径的转换# }9 \, p" G o) v
" N" m) O1 m! D# [) s: z# D
! v* Z# _' o* b- K, N* _' l p3 j" I7 V3 }4 _
下面简单说说环境下默认的特殊符号所代表的意义:3 [; s) v& d' w. U, v. M; Q) D
, g% H; I& B: i. t9 q# c# n ~
" U v$ g: G; ?
d :代表日期,格式为weekday month date,例如:”Mon Aug 1″9 L$ \; _% k4 X+ E6 v& k: L P
2 [# s. x5 `- H& D3 D
) K! Z6 S, A% m& N- D! PH :完整的主机名称。例如:我的机器名称为:fc4.linux,则这个名称就是fc4.linux
2 u3 ]% u7 E0 g5 `
7 I6 s6 s0 O# v* d* \& X
* O0 R; D+ [+ n# C( L( t' M Fh :仅取主机的第一个名字,如上例,则为fc4,.linux则被省略4 r- ^& e6 K. t$ E* w9 U& X( H
, }+ t; O6 l' b6 @
/ g) v) G- t: A. rt :显示时间为24小时格式,如:HH:MM:SS
1 g b7 G9 M* @, {0 a1 r& b; d! A* A9 M' j& N, T
; D, O; V3 D+ l$ ~
T :显示时间为12小时格式
! X$ d/ E3 e: C
$ t5 ^1 D4 }6 P: B, Q' `$ k6 ]1 d7 c
A :显示时间为24小时格式:HH:MM$ v+ H* B6 a( x% i! p
; \# z3 C& t# o6 {6 \/ L% L+ P
u :当前用户的账号名称
, M# g, k) X6 R1 D$ L
: E) [9 h: B. h1 ?
' [6 [7 G1 w( b0 }' A7 i. L, `v :BASH的版本信息
6 n2 U& J9 ?5 W; {' T
" p9 I% Q% [. u8 ^+ ~2 x/ S8 s- |3 a0 y3 \1 ?( A Y: N
w :完整的工作目录名称。家目录会以 ~代替6 A3 P; P, `6 O# v5 a
" \; [& U, ]0 _3 K+ r. z y! `( Y" L/ A, o; V$ M
W :利用basename取得工作目录名称,所以只会列出最后一个目录 f4 o6 G! k6 t& B% _
% n9 _% F# U' Y; a- y! A7 U! H
$ R. C) T* _( d# :下达的第几个命令
/ ]: q( I! r! W2 e7 |* V0 \1 e: j8 l
. R6 T5 w( C z* P: B8 n$ [; l7 d2 z! u
$ :提示字符,如果是root时,提示符为:# ,普通用户则为:$
6 v. G0 e5 b) Z) Y' U) f; j2 k4 U! c% |
, i: {# Q% |7 o( j0 \ Q
* z. G, H4 t4 V |5 \7 Q! Y
6 p4 g. I; g8 e! X* E: ?9 r
$ w4 c- A2 |9 w2 z5 \5 x; G0 ?0 X' x2 n p4 w1 {% f: h
但是这样设置之后显示的提示符是没有颜色的,如果希望加入颜色设置,可以这样:8 F; d/ f6 K4 p& N* f0 v
/ G- s( h2 x. M. s
9 W! D* ?0 k2 q. H5 S$ N/ S+ xPS1=”e[1;32mue[me[1;33m@e[me[1;35mhe[m:w$ "
% |' S+ H. ^; d5 `' r此时,在终端中的显示应该是彩色的提示符了,其中的e[1;xxm和e[m就是改变终端字体颜色的部分,前者是修改颜色,后者是恢复到正常显示。但是 这时还会有问题,在提示符中输入第一行时,回车换行不正常,导致显示很混乱,因此,除了这个修改之外,还需要将全部非打印字符用专用的 bash 转义序列 "[" 和 "]” 括起来。这两个序列通知 bash,被括起来的字符不占用行 上的任何空间,这样就使自动换行能够继续正常工作。最终版本如下(可解决带颜色提示符的不换行问题):7 R( B6 k' ?. }+ _, n5 M
6 c( }, t+ c) Q7 L: _& v: P
- t, ^4 s/ M+ C( ]* s2 o
PS1=”[e[1;32m]u[e[m][e[1;33m]@[e[m][e[1;35m]h[e[m]:w$ “
# z" `- v' i) X& x' h, q% O2 K, c+ e$ n3 ? E
8 G' D9 `' i4 L) }% V$ k0 j其中,颜色表示为:30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white。& m4 u* H6 }& D# ~4 t
+ C( i# H, f: W# i. c# C. g5 S5 F" \3 }" D
+ V5 I& E! \- ?( P E! C( h1 s/ c1 f6 U
; U5 e8 n( \) O9 e$ Q& @; y4 p+ {8 @8 W9 l
如果需要改变目录在命令行下显示颜色:; j7 o3 F' o p7 q6 Z! H
0 t+ s( x0 v( ^/ `* i! w" C) G1 s5 P3 v
1、将/etc/DIR_COLORS文件cp到~/下,并改名为.dir_colors。$ i9 ~: v' j _& r6 N; F6 e% ~
( P% b0 K( m+ d6 i" u
" U5 O* {, e- T& a! q
2、编辑.dir_colors文件,找到“DIR 01;34 # directory”,将34改为36。
C/ }. [$ [2 y8 T
4 L! K$ p/ j/ S6 J
) b4 W2 e& a; \! U q+ X: t* y+ z' y4 k5 W. t
0 m: p+ q: R7 s6 p g, d& K6 A
你可以找到文件的两行注释:
0 o0 r# W# X2 D9 i1 o# Text color codes:
2 f3 [* E: V8 r# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white" x/ X- Y/ Y; [/ E% z9 C2 @
按照颜色对应的数字,你还可以把目录显示颜色改成其他的。 ?* ]- V2 n* U9 J Z
同样其他的显示效果(包括背景)也可以参照说明进行修改。
! @: U6 W! s' Y" G5 G& B这样你就可以定制自己的linux下命令行方式下的个性化显示效果了。 http://www.linuxso.com/linuxpeixun/21125.html
7 q9 @* | b! A* w( |) I- _/ F' L. i5 }" q) H
|
|