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中添加要执行的命令

阅读剩余
THE END