ps1 linux docker ps -a
虚拟机Linux的/etc/profile怎么恢复更改前的
Linux系统下/etc/profile这个文件是每个用户登录时都会运行的环境变量设置,该文件初始的脚本信息是相同的,可以自己新建一个该文件,然后写入下面代码:
如果是删除的admin用户下该文件
suadmin#切换到admin用户
vim/etc/profile#新建一个配置文件
#写入一下脚本即可
#/etc/profile:system-wide.profilefilefortheBourneshell(sh(1))
#andBournecompatibleshells(bash(1),ksh(1),ash(1),...).
if["$PS1"];then
if["$BASH"]&&["$BASH"!="/bin/sh"];then
#Thefilebash.bashrcalreadysetsthedefaultPS1.
#PS1='\h:\w\$'
if[-f/etc/bash.bashrc];then
./etc/bash.bashrc
fi
else
if["`id-u`"-eq0];then
PS1='#'
else
PS1='$'
fi
fi
fi
#Thedefaultumaskisnowhandledbypam_umask.
#Seepam_umask(8)and/etc/login.defs.
if[-d/etc/profile.d];then
foriin/etc/profile.d/*.sh;do
if[-r$i];then
.$i
fi
done
unseti
fi
#然后!wq保存文件即可。
Linux终端提示符PS1设置
linux终端提示符默认如下显示效果
这里主要想在终端提示这里看到登录用户、服务器ip和绝对路径,如下显示:
这里主要通过PS1变量来进行设置
ps1默认为 [\u@\h \W]\$
各提示符的含义如下:
由此可知,默认显示当前用户、主机的第一个名字、当前工作目录
可以将PS1修改为如下:
上面还包含提示符颜色的设置,具体可以参考 PS1设置
如果想PS1的设置永久有效,可以在/etc/profile或.bashrc文件里进行设置,然后打开一个新的终端就会看到新设置的提示符生效了。
但是这里可能会发现,主机名显示的不是ip,显示如下:
原因是这里的hostname不是ip
因为需要修改hostname,提供一个快速永久修改hostname的方法
这时hostname就改成主机的ip了,
重新打开终端后就变成了想要的终端提示符
关于linux的 PS2、PS3、PS4可以参考 linux下PS1、PS2、PS3、PS4最全详解
linux中#是什么意思
#相当于命令提示符,是bash这个shell默认提供给root账户的,实际运行中不需要你输入#符号,同理非root用户的提示符是$号
你可以在 PS1环境变量中随意设置这个提示符
几种常用终端的命令提示符
BASH: root账户:#,非root账户:$
KSH: root账户:#,非root账户:$
CSH[TCSH]: root账户:%,非root账户:%
其实类比来讲这个符号就想到与windows下命令行的>
将一行命令写入脚本其实非常简单
echo"command args">> scriptname
其中 command是命令 args是命令参数, scriptname是脚本名称
然后运行 chmod+x scriptname加上执行权限
如果需要开机运行,只需要将scriptname这个脚本链接到开机对应的运行级别里
比如你的运行级(init level)是5(通常的图形界面登录运行级)那么只需要 ln-s scriptname/etc/rc.d/rc5.d/scriptname即可其他运行级类似
(/etc/rc.d/rc5.d/并不固定,参考你的发行版设定)
这个是比较通用的办法,其他的例如 redhat企业版,可以直接在/etc/rc.d/rc.local中添加要执行的命令