在Linux环境下使用终端,命令前会有命令提示符,一般包括用户名、主机名、还有目录名。如果命令提示符占据绝大部分,留给我们输入命令的空间就有限,当然也可以换行,但是这不够直观。
在我的终端里linux命令大全,我实际的命令是cat spark-defaults.conf.template | grep "spark",但是因为用户名、主机名和目录名占据了40%左右的空间,导致我的命令不能在一行完全输入,当命令更加复杂的情况下很不直观。
接下来我给出两个解决办法
1. 命令换行,即命令和命令提示符不在一行
2. 减少命令提示符的长度
解决方法是有了,但是怎么执行呢?有关于命令提示符的修改在~/.bashrc文件中,如果是root用户,即/root/.bashrc,如果是普通用户则是/home/用户名/.bashrc。
vim ~/.bashrc
注意:这里文件名有个点,Linux文件名开头为.表示隐藏文件,直接用ls命令是看不到的
vim中输入/@,查找@这个字符(vim命令模式/可以查找指定字符)。因为命令提示符是用户名@主机名,所以我当时猜测相关语句应该有@这个字符,果不其然。
回到我们之前的两个解决办法
程序员都知道换行符是\n,在Linux的shell中也不意外,所以我们在命令提示符结尾加入\n。可以看到这里有个if语句linux命令大全,经过我的测试,else语句会被执行到,当然也可以和我一样if和else后的语句都修改
然后执行source ~/.bashrc使之前的修改生效
命令提示符包括用户名、主机名、目录名,我们就将他们缩短或者不显示也可以解决问题。
删除用户名
没有多用户需求的小伙伴可以采用此方法,像我就一个用户和root用户,所以我就删除了用户名,将\u删除即可,也可以一起删除@这个字符,因为@是用户名和主机名的分隔符,删除了其中一个,@自然也没有存在的必要了
删除用户名和@
source一下查看结果,如下:
删除主机名
如果没有ssh到其他主机需求的话,可以使用此方法。删除@\h就可以了。
主机名和目录名之间有个:,不需要的话也可以一并删除
主机名被我删除了,图片里面没有@\h字样。
显示当前目录
如果不想显示全路径,只想显示当前路径名,可以把\w换成\W,小写换成大写。
命令分为主机专用命令和所有人都可用的命令2种:。在 域中,如果没有配置为使用内部硬件时钟或外部时间源,修改域服务器的时间,首先需要确认域中的主域控制器,在域中任意一台服务器上做以下操作,进入命令提 示符,键入命令net time,返回当前的主域控制器和当前时间,主域控制器是test,当前时间是2005年4月25日下午2:11。可以通过修改此环境变量来修改当前的命令符,比如下列命令会将提示符修改成字符串“hello,my newprompt :) ”。
vim中使用/命令来搜索命令删除了@之后可以通过:n来定位我们想要的行号,如我就采用了:67
\d :代表日期,格式为weekday month date,例如:”Mon Aug 1”
\H :完整的主机名称。例如:我的机器名称为:fc4.linux,则这个名称就是fc4.linux
\h :仅取主机的第一个名字,如上例,则为fc4,.linux则被省略
\t :显示时间为24小时格式,如:HH:MM:SS
\T :显示时间为12小时格式
\A :显示时间为24小时格式:HH:MM
\u :当前用户的账号名称
\v :BASH的版本信息
\w :完整的工作目录名称。家目录会以 ~代替
\W :利用basename取得工作目录名称,所以只会列出最后一个目录
$ :提示字符,如果是root时,提示符为:# ,普通用户则为:$