给大家介绍下如何修改终端的提示,顺便介绍下提示符的颜色:
PS1变量简介
PS1是Linux终端用户的一个环境变量,用来说明命令行提示符的设置。
可以使用 man bash命令查看bash手册,找到该变量支持的特殊字符,以及这些特殊字符的意义:
\H :#完整的主机名称。
\h :#仅取主机的第一个名字,如上例,则为fc4,.linux则被省略
\t :#显示时间为24小时格式,如:HH:MM:SS
\T :#显示时间为12小时格式
\A :#显示时间为24小时格式:HH:MM
\u :#当前用户的账号名称
\v :#BASH的版本信息
\w :#完整的工作目录名称。家目录会以 ~代替
\W :#利用basename取得工作目录名称,所以只会列出最后一个目录
\# :#下达的第几个命令
\$ :#提示字符,如果是root时,提示符为:# ,普通用户则为:$
修改终端提示符
查看默认提示符设置:
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$
修改默认设置,将如下命令添加到当前登录用户的~/.bashrc文件中,然后使用source使其生效。
#在文件最后添加如下设置
export PS1="[\u@\h \W] \$ "
$ source ~/.bashrc#使其设置生效
颜色设置
在PS1中设置字符序列颜色的格式为:[\e[F;Bm]
其中“F”为字体颜色,编号30~37;“B”为背景色,编号40~47。
下面看下颜色表:
前景背景 颜色
------------------------
30 40 黑色
31 41 红色
32 42 绿色
33 43 黄.色
34 44 蓝色
35 45 紫红色
36 46 青蓝色
37 47 白色
效果控制代码:
代码 意义
-------------------------
0 OFF
1 高亮显示
4 underline
5 闪烁
7 反白显示
8 不可见
修改提示符颜色示例
$ PS1="\[\e[32m\]#\##\[\e[1;31m\]^_^@\[\e[36m\]\h \w]\$\[\e[m\]"
说明:
‘\[\e[32m\]’用来设置‘#\##’的颜色为绿色,#\##就是显示现在运行的是第几条命令
‘[\e[31m\]’设置‘\u@’的颜色为红色并高亮显示,如果指定多个数字需要用分号隔开。\u@ 就是当前登录的用户名后跟一个‘@’符号。
‘\[\e[36m\]’设置‘\h\w’为青蓝色,\h表示主机名的第一位,如果主机名为centos6.lampbo.org,那么就显示centos6;\w将显示完整的绝对路径。
‘\$’ 提示字符,如果是root时,提示符为:# ,普通用户则为:$。
‘\[\e[m\]’使用来关闭颜色设置的。要是你没有这个的话;那么,你的命令提示符,包括你通过命令提示符输出的东西都是和最后一次的颜色设置相同。
为了能够在启动和登录是可以保持刚刚设置的变量,需要将PS1的设置加入到用户home目录的.bashrc文件后。
最终效果:
1,恢复linux启动引导(以ubuntu为例)
有喜欢用wubi装linux的朋友吗,这种安装方法是基于windows的,如果windows挂了,比如重装了或还原了,那么原来安装的linux也就没了,进不去了。
这里分享一个简单的恢复方法:
首先,找到原来的系统安装目录,然后将目录重命名,比如把“ubuntu”重名名为“ubuntu1”,因为如果不重命名的话,安装的时候就会提示你先卸载原来的linux系统。
然后,找到原来的系统安装光盘,或镜像文件重新安装一次。
注意:
这次安装一定要选择与原来的盘符一致,比如原来安装到D盘这次还要安装到D盘,安装大小越小越好,输入用户名和密码点击安装就行了。
安装完后,选稍后重新启动,然后再到系统安装目录下,将新生成的“ubuntu”系统文件夹删除,然后把原来的“ubuntu1”文件夹再改名为“ubuntu”,重启即可。
这样就可以登录进原来的linux了。
2,恢复windows启动引导
如果windows挂了,甚至开机什么都不显示,可以尝试下面几种方法
方法1,如果还有原来的windows安装盘(必须是原来的)或者修复盘,从光盘启动后选择修复即可。
方法2,如果不幸把windows启动盘也丢了,那可以用PE修复。
方法3,如果连PE也没有的话,还有一种方法,就是装一个其他的系统安装盘,xp或win7或linux或苹果系统。
查看文件issue的内容:
Red Hat Enterprise Linux Serverrelease 5.8 (Tikanga)
Kernel \r on an \m
建立测试用户:
[root@node1 ~]# mkdir /chroot
[root@node1 ~]# export _DIR=/chroot
[root@node1 ~]# export _USER=test
创建必要的设备文件:
[root@node1 ~]# mknod -m 644$_DIR/dev/tty1 c 4 1
[root@node1 ~]# mknod -m 644$_DIR/dev/tty2 c 4 2
[root@node1 ~]# mknod -m 644 $_DIR/dev/tty3 c 4 3
[root@node1 ~]# mknod -m 644$_DIR/dev/tty4 c 4 4
[root@node1 ~]# mknod -m 644$_DIR/dev/tty5 c 4 5
[root@node1 ~]# mknod -m 644$_DIR/dev/tty6 c 4 6
[root@node1 ~]# mknod -m 444$_DIR/dev/urandom c 1 9
[root@node1 ~]# mknod -m 666$_DIR/dev/zero c 1 5
[root@node1 ~]# mknod -m 666$_DIR/dev/null c 1 3
[root@node1 ~]# mknod -m 666$_DIR/dev/ptmx c 5 2
[root@node1 ~]# vim /etc/fstab
devpts /chroot/dev/pts
devpts
gid=5,mode=620 0 0
proc /chroot/proc proc defaults 0 0
[root@node1 ~]# cp /bin/bash/bin/false /bin/pwd /usr/sbin/sshd /bin/true $_DIR/bin/
ldd 命令查看每个可执行文件需要的 lib:
ld-linux.so.2 libfipscheck.so.1 libnspr4.so
libaudit.so.0 libgssapi_krb5.so.2 libnss3.so
libcom_err.so.2 libk5crypto.so.3 libnssutil3.so
libcrypto.so.6 libkeyutils.so.1 libpam.so.0
libcrypt.so.1 libkrb5.so.3 libplc4.so
libc.so.6 libkrb5support.so.0 libplds4.so
libdl.so.2 libnsl.so.1 libpthread.so.0
配置文件:
libselinux.so.1
libsepol.so.1
libtermcap.so.2
libutil.so.1
libwrap.so.0
libz.so.1
查看:
[root@node1 ~]# echo "$_USER
[root@node1 ~]# echo "session
[root@node1 ~]# echo "session
$_DIR">>/etc/security/chroot.conf
required pam_chroot.so" >>/etc/pam.d/sshd
required pam_chroot.so">>/etc/pam.d/login
[root@node1 ~]# grep"root:\|$_USER" /etc/passwd > $_DIR/etc/passwd
[root@node1 ~]# grep"root:\|$_USER" /etc/group > $_DIR/etc/group
[root@node1 ~]# chown -R root:root$_DIR
[root@node1 ~]# chown -R$_USER:$_USER $_DIR/home/$_USER
重启服务:
客户端测试:
test@192.168.10.10's password:
-bash-3.2$ ls
-bash: ls: command not found
服务器查看 sshd 进程:
[root@node1 ~]# ps -ef | grep sshd
root 10131 1 0 12:06 ?
root 10249 10131 0 12:21 ?
root 10287 10131 0 12:24 ?
test 10291 10287 0 12:24 ?
root 10296 10253 0 12:24 pts/0
00:00:00 /usr/sbin/sshd
00:00:00 sshd: root@pts/0
00:00:00 sshd: test [priv]
00:00:00 sshd: test@pts/1
00:00:00 grep sshd
[root@node1 ~]# ls -l/proc/10291/root
lrwxrwxrwx 1 root root 0 11-05 12:24/proc/10291/root -> /chroot
cp /bin/uname /chroot/bin/
cp /usr/bin/dirname /chroot/bin/
cp /bin/touch /chroot/bin/
cp /lib/tls/librt.so.1 /chroot/lib/tls
cp /usr/bin/tty /chroot/bin/