Ubuntu 默认的终端下面,进入很多层的目录后,前面那个提示符会显示完整的路径,这样命令行太长,让人觉得不舒服,现在教大家一个方法修改一下使命令行只显示当前目录的最后一级目录名,这样看起来也好,用pwd可以看到完整的路径名。

 



【转】如何解决Ubuntu终端里面显示路径名称太长_bash


 



工具/原料



  • ubuntu
  • xshell



方法/步骤


  1.  

    找到配置文件先进行备份:  cp  ~/.bashrc  ~/.bashrc-bak
    找到配置文件修改: vi  ~/.bashrc
    备份是为了防止配置修改出错,可以还原;
    【转】如何解决Ubuntu终端里面显示路径名称太长_bash_02
  2. 下面是我的/home/vagrant/.bashrc,真正修改到就一行代码:找到: 62     PS1='${debian_chroot:+($debian_chroot)}\u@\h:\W\$ '修改将小写w改为大写W保存,执行source /home/vagrant/.bashrc或者重启终端就行了。既可以显示最后一级,又可以查看当前完整路径。原文网址:http://www.linuxidc.com/Linux/2011-10/44289.htm和朋友聊天,他说自己在用Ubuntu的时候会有这样一个困惑:在bash下使用cd命令,进入一些很深的目录后,或者说那些目录名非常长的目录后,bash的命令提示符就特别的长,以至于每个命令都会换行 Hadoop-mapred@hdp32:/etc/opt/directorynameisfuckingsolong/my/name/is/spazzzz$类似于上面这种情况...这种情况就是bash的命令提示符变量PS1的问题了,这里的PS1使用的是完整的路径名:
  1. echo $PS1 
  2. \[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$ 

在这里对上述描述情况发挥作用的是\w这个参数,它表示显示完整路径

如果只想显示当前路径的话,将w改成W,问题就解决了!(至于在哪里修改,这个需要看linux的发行版了,有些在/etc/profile中,有些在~/.bash_profile中)

像刚才那种情况,显示就变成

hadoop-mapred@hdp32:spazzzz$

这样是不是就好多了。

PS:一些变量意义 

\d :代表日期,格式为weekday month date,例如:"Mon Aug 1" 

\H :完整的主机名称。名称就是fc4.linux 

\h :仅取主机的第一个名字,如上例,则为fc4,.linux则被省略 

\t :显示时间为24小时格式,如:HH:MM:SS 

\T :显示时间为12小时格式 

\A :显示时间为24小时格式:HH:MM 

\u :当前用户的账号名称 

\v :BASH的版本信息 

\w :完整的工作目录名称。家目录会以 ~代替 

\W :利用basename取得工作目录名称,所以只会列出最后一个目录 

\# :下达的第几个命令 

\$ :提示字符,如果是root时,提示符为:# ,普通用户则为:

{debian_chroot:+($debian_chroot)} 这句的意思是说,如果在/etc下有debian_chroot文件,则命令提示符前面就附加上debian_chroot文件的内容。