技术的乐趣在于分享,欢迎多多交流,多多沟通。
全部博文(877)
分类: LINUX
2014-03-24 16:01:45
我想将mini2440开发板启动后进入shell时的信息:【root@FriendlyARM】,后面的FriendlyARm改为其它内容,请问应该如何修改文件系统中的配置文件? 问题解决了 在/etc目录下有一个mime.types文件,其中有这么一句: application/x-futuresplash spl 然后在这个目录下还有一个叫profile的文件(用户环境配置文件,每个用户登录时都会运行的环境变量设置),其中有这么一句: PS1='[root@FriendlyARM]\$ 将这个里面的FriendlyARM修改后,就可以了。 PS1:命令行提示符 下面是PS1变量中各特殊符号的含义: \a 显示系统日期,格式:星期 日期 例:PS1="\d >" 结果:六 10月 24 > \A 显示系统时间,格式:HH:MM 例:PS1="\A >" 结果:21:04 > \t 显示系统时间,格式:HH:MM:SS (24小时制) 例:PS1="\t >" 结果:21:04:32 > \T 显示系统时间,格式:HH:MM:SS (12小时制) 例:PS1="\T >" 结果:09:04:32 > \h 显示称(简称) 例:PS1="\h >" 结果:CentOS > \H 显示称(全称) 例:PS1="\H >" 结果:CentOS.localdomain > 注:这里对称说明一下,如果查看本机主机名称,直接执行命令"hostname",如果想修改主机名称,则要以"root"用户权限,对 "/etc/sysconfig/network "文件进行修改 \u 显示用户名称 例:PS1="\u >" 结果:root > \v 显示 bash 版本号 例:PS1="\v >" 结果:3.2.25 > \w :完整的工作目录名称。根目录会以 ~代替 例:当前路径 /root/test PS1="\w >" 结果:~/test > \W :显示以 "basename" 命令取得路径信息的最底层目录名称 例:当前路径 /root/test PS1="\W >" 结果:test > \# :显示当前用户要求系统执行的命令的序号 例:执行 PS1="\u \# >" 结果:root 1 > 再执行 ls -la 结果:root 2 > 再执行 clear 结果:root 3 > \$ :提示字符,如果是root时,提示符为:# ,普通用户则为:$ 注:这个提示字符我试验了,可试改过后,即使是"root"用户,也是显示"$",不大明白是为什么。 这个我找到原因了,"\$"一定要写成 "\\$" 这样就可以了。 默认的PS1内容为: PS1='[\u@\h \W]\$ ' ,所以默认的提示符就是: [root@CentOS ~]# 如果想要永久的变更系统命令提示符,则要对 "/etc/bashrc" 进行修改,退出再进入,就不会恢复原来的了。 方法如下:执行 "cat /etc/bashrc | grep PS1",找到提示符变量设置的代码,然后执行 "vi /etc/bashrc"对前一命令查到的代码进行修改,并保存。 |
现在我们经常会用busybox生成根文件系统,可是根文件系统起来以后命令行提示符只有一个“#”号,没有像linux发行版那样是[user@hostname currentpath] #,那么我们这里就说说如何让我们的根文件系统按这个方式显示。
首先要介绍一个环境变量PS1
我们可以查看bash的帮助文档查看关于PS1的说明:
bash有两级命令提示符,这里说的是第一级,这一级缺省提示符是字符“$”,我们可以通过修改PS1修改这个提示符,格式是;
PS1=“参数”
命令列表有很多参数如下:
\! 显示该命令的历史记录编号。
\# 显示当前命令的命令编号。
\$ 显示$符作为提示符,如果用户是root的话,则显示#号。
\\ 显示反斜杠。
\d 显示当前日期。
\h 显示主机名。
\n 打印新行。
\nnn 显示nnn的八进制值。
\s 显示当前运行的shell的名字。
\t 显示当前时间。
\u 显示当前用户的用户名。
\W 显示当前工作目录的名字。
\w 显示当前工作目录的路径
首先我们需要修改buxybox中配置,添加如下两个选项:
Busybox Settings --->
Busybox Library Tuning --->
[*] Username completion
[*] Fancy shell prompts
创建/etc/hostname添加如下内容(我们的主机名):
Happy
修改init.d/rcS添加如下内容(导入主机名配置文件):
/bin/hostname –F /etc/hostname
修改根文件系统中/etc/profile文件添加如下内容:
HOSTNAM=`/bin/hostname`
PS1=`[\u@\h \W]\# `
export PS1 HOSTNAME
创建/etc/passwd添加如下内容:
root:x:0:0:root:/root:/bin/sh
这个时候我们重新启动我们的开发板会发现命令行提示符已经是我们想要的那种现实了:
[root@Happy/etc] #
文件的执行过程是:
profile----->HOSTNAME --------->/bin/hostname
rcS------>/bin/hostname--------->/etc/hostname--------------->Happy