ps1

关于移植根文件系统时([\u@\h \W]\# )的处理方法

孤街浪徒 提交于 2019-12-02 15:27:07
我们经常用busybox生成根 文件 系统 ,可是根 文件 系统 起来以后命令行提示符只有一个“#”号,没有像linux发行版那样是[user@hostname currentpath] #,那么我们这里就说说如何让我们的根 文件 系统 按这个方式显示。 要修改命令行提示符,首先我们需要知道一个环境变量PS1,我们可以查看bash的帮助文档查看 关于 PS1的说明: bash有两级命令提示符,我们这里说的是第一级,这一级缺省的提示符是字符“$”(超级用户是“#”),我们可以通过修改PS1修改这个提示符,格式为: PS1=”command list” 命令列表有很多参数如下: \! 显示该命令的历史记录编号。 \# 显示当前命令的命令编号。 \$ 显示$符作为提示符,如果用户是root的话,则显示#号。 \\ 显示反斜杠。 \d 显示当前日期。 \h 显示主机名。 \n 打印新行。 \nnn 显示nnn的八进制值。 \s 显示当前运行的shell的名字。 \t 显示当前时间。 \u 显示当前用户的用户名。 \W 显示当前工作目录的名字。 \w 显示当前工作目录的路径 我们查看我们发行版linux中的PS1. $echo echo $PS1 [\u@\h \W] \$ 看了发行版是如何显示命令行提示符,那么我们再看一下为什么我们做的根 文件 系统 只显示一个#,用busybox生成的根

linux - 网络配置和权限管理

爷,独闯天下 提交于 2019-12-02 14:44:41
一、Linux网络系统优化 1.网络相关配置 Linux的网络功能相当强悍,一时之间我们无法了解所有的网络命令,在配置服务器基础环境时,先了解下网络参数设定命令。 ifconfig  查询、设置网卡和ip等参数 ifup,ifdown 脚本命令,更简单的方式启动关闭网络 ip  符合指令,直接修改上述功能 在我们刚装好linux的时候,需要用xshell进行远程连接,那就得获取ip地址,有时候网卡默认是没启动的,Linux也就拿不到ip地址,因此我们得手动启动网卡。 1 2 3 4 #编辑网卡配置文件 vim /etc/sysconfig/network-scripts/ifcfg-eth0 #修改配置参数 ONBOOT= yes 网卡配置文件详解 网络配置文件 1 /etc/sysconfig/network 网络接口配置文件 /etc/sysconfig/network-scripts/ifcfg-INTERFACE_NAME DEVICE=: 关联的设备名称,要与文件名的后半部“INTERFACE_NAME”保持一致; BOOTPROTO={static|none|dhcp|bootp}: 引导协议;要使用静态地址,使用static或none;dhcp表示使用DHCP服务器获取地址; IPADDR=: IP地址 NETMASK=:子网掩码 GATEWAY=:设定默认网关;

Linux个性化终端命令提示符PS1

谁说胖子不能爱 提交于 2019-12-02 12:08:22
Linux个性化终端命令提示符PS1 此命令查看系统所有颜色: echo -e "[\e[30m A \e[31m A \e[32m A \e[33m A \e[34m A \e[35m A \e[36m A \e[37m A \e[0m -- \e[1;30m A \e[1;31m A \e[1;32m A \e[1;33m A \e[1;34m A \e[1;35m A \e[1;36m A \e[1;37m A \e[0m -- \e[1;40m A \e[1;41m A \e[1;42m A \e[1;43m A \e[1;44m A \e[1;45m A \e[1;46m A \e[1;47m A \e[0m]" 显示如下 开始修改PS1 1.命令如下 cd 进入当前用户目录 vim ~/.bash_profile 在末尾添加下面的PS1命令 source ~/.bash_profile 使设置立刻生效 2.自己使用的PS1 export PS1='\[[\e[1;31m\]\u\[\e[1;32m\]@\[\e[1;31m\]\t\[\e[0m\]]-[\[\e[1;33m\]\w\[\e[0m\]]-\[\e[1;32m\]\$\[\e[0m\]' 显示如下 来源: CSDN 作者: 天外游心 链接: https://blog.csdn.net/u013024120

linux(centos7)命令提示符优化

末鹿安然 提交于 2019-12-02 05:12:04
1 .PS1是Linux终端用户的一个环境变量,用来定义命令行提示符的参数 \u 表示用户 \h 表示hostname (主机名) \W 表示当前所在目录只显示最后一个目录名 2. PS1的常用参数以及含义: 3 个人修改(按个人喜好配置,建议不要全局修改) 第一步:vim打开你家目录下的隐藏文件.bashrc (个人配置文件) 第二步: 进入编辑模式在最后一行写入,保存并退出 第三部: 重新加载使文件生效 PS1修改完成 第四部:验证 4.修改命令提示符颜色 格式: 第一步 vim ~/.bashrc 数字代表颜色 第二步: 加载完成,颜色发生变化 30  黑色 31  红色 32 绿色 33  黄色 34 蓝色 35 粉色 未完待续 来源: https://www.cnblogs.com/liuhaobk/p/11731400.html

git 自动补全加高亮显示

只愿长相守 提交于 2019-12-01 20:26:48
git clone https://github.com/git/git.git contrib/completion/git-completion.bash 自动补全 contrib/completion/git-prompt.sh 高亮显示当前分支名称 将git-completion.bash下载到用户目录(cd ~),可以重命名为 .git-completion.bash .git-prompt.sh作为隐藏文件 在 .bashrc 中加入一下代码 source ~/.git-completion.bash # 显示分支官方实现 GIT_PS1_SHOWDIRTYSTATE=true GIT_PS1_SHOWCOLORHINTS=true if [ -f ~/.git-completion.bash ]; then source ~/.git-prompt.sh PROMPT_COMMAND='__git_ps1 "[\t][\u@\h:\w]" "\\\$ "' fi .bashrc :source ~/.bashrc 版权声明:本文为CSDN博主「MrBetterMan」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/weixin_36372074/article/details

bash PS1配色

心已入冬 提交于 2019-12-01 07:00:04
bash的命令提示符和终端外观由环境变量PS1定义 PS1 在每个命令之前显示的主提示符,因此它是每个人都不同的。 PS2 当一个命令需要更多的输入(例如,一个多行命令)中显示的辅助提示。 PS3 不是很常用。 PS4 也是不常用。 PS1格式 \u 表示用户(username); \h 表示主机(hostname); \w 表示当前工作目录(directory); \$ 如果您不是超级用户 (非root),则插入一个 "$";如果您是超级用户(root),则显示一个 "#"。 \[ 这个字符应该出现在不占位转义字符(如颜色转义字符)之前,它使bash能够正确计算自动换行; \] 这个字符应该出现在不占位转义字符(如颜色转义字符)之后; \e ASCII转义字符序列开始(也可以键入 \033); \a ASCII响铃字符(也可以键入 \007); \d "Wed Sep 06"格式的日期; \H 主机的全称(如 "mybox.mydomain.com"); \j 在此shell中通过按 ^Z挂起的进程数; \l 此shell的终端设备名 (如"ttyp4"); \n 换行符; \r 回车符; \s shell的名称(如 "bash"); \t 24小时制时间(如 "23:01:01"); \T 12小时制时间(如 "11:01:01"); \@ 带有 am/pm的 12小时制时间;

Bash prompt line wrapping issue

蓝咒 提交于 2019-12-01 03:15:48
Newbie question, I recently changed my PS1 into this: RESET="\[\017\]" NORMAL="\[\033[0m\]" YELLOW="\[\033[0;33m\]" CYAN="\[\033[0;36m\]" export PS1="\[$RESET\]\u@\h:\[$CYAN\]\w\[$YELLOW\]\$(__git_ps1)\[$NORMAL\] \$ " But now I get a line wrapping error. I created a gif to explain the problem: Any ideas what might be wrong? I think you're double-quoting your escape codes with [ and ]. Try this one: export PS1="$RESET\u@\h:$CYAN\w$YELLOW\$(__git_ps1)$NORMAL \$ " The wrapping error occurs whenever a non-printing character is not escaped (such as the escape codes that change the prompt color). It

Bash prompt line wrapping issue

丶灬走出姿态 提交于 2019-11-30 23:31:02
问题 Newbie question, I recently changed my PS1 into this: RESET="\[\017\]" NORMAL="\[\033[0m\]" YELLOW="\[\033[0;33m\]" CYAN="\[\033[0;36m\]" export PS1="\[$RESET\]\u@\h:\[$CYAN\]\w\[$YELLOW\]\$(__git_ps1)\[$NORMAL\] \$ " But now I get a line wrapping error. I created a gif to explain the problem: Any ideas what might be wrong? 回答1: I think you're double-quoting your escape codes with [ and ]. Try this one: export PS1="$RESET\u@\h:$CYAN\w$YELLOW\$(__git_ps1)$NORMAL \$ " 回答2: The wrapping error

Break line in terminal PS1 fix

梦想的初衷 提交于 2019-11-30 08:56:39
I have this code to color my terminal: export PS1="\e[1;30m\][\e[\e[1;30m\]\e[1;33m\] \u@\H \[\e[1;32m\]\w\[\e[0m\] \e[1;30m\]]\n[\[ \e[1;31m\]\T\[\e[0m\]\e[1;30m\] ] > \e[37m\]" But I have one problem, when text should be in the new line it overwrites the first line. Example: In order for bash to figure out how much screen space your prompt takes up (and therefore where the actual command line starts), you have to enclose the non-printing parts of the prompt in \[...\] . Mostly, that means escape sequences like \e[1;30m need to be written as \[\e[1;30m\] . You have some \[ 's and \] 's in

详解C++11智能指针

孤街浪徒 提交于 2019-11-29 03:34:57
前言 C++里面的四个智能指针: auto_ptr, unique_ptr,shared_ptr, weak_ptr 其中后三个是C++11支持,并且第一个已经被C++11弃用。 C++11智能指针介绍 智能指针主要用于管理在堆上分配的内存,它将普通的指针封装为一个栈对象。当栈对象的生存周期结束后,会在析构函数中释放掉申请的内存,从而防止内存泄漏。C++ 11中最常用的智能指针类型为shared_ptr,它采用引用计数的方法,记录当前内存资源被多少个智能指针引用。该引用计数的内存在堆上分配。当新增一个时引用计数加1,当过期时引用计数减一。只有引用计数为0时,智能指针才会自动释放引用的内存资源。对shared_ptr进行初始化时不能将一个普通指针直接赋值给智能指针,因为一个是指针,一个是类。可以通过make_shared函数或者通过构造函数传入普通指针。并可以通过get函数获得普通指针。 为什么要使用智能指针 智能指针的作用是管理一个指针,因为存在以下这种情况:申请的空间在函数结束时忘记释放,造成内存泄漏。使用智能指针可以很大程度上的避免这个问题,因为智能指针就是一个类,当超出了类的作用域是,类会自动调用析构函数,析构函数会自动释放资源。所以智能指针的作用原理就是在函数结束时自动释放内存空间,不需要手动释放内存空间。 auto_ptr (C++98的方案,C++11已经抛弃