深色模式
Linux 终端
终端的概念
TTY 是 Teletype 或 Teletypewriter 的缩写,原来是指电传打字机,后来这种设备逐渐键盘和显示器取代。
硬件终端:
早期的硬件终端是电传打字机,到今天已经灭绝了,今天所使用的都是软件终端。
控制台:
控制台与计算紧密相连,属于计算机的一部分,控制台也是一个终端。
Linux终端 输出与重定向
在shell脚本中,默认情况下,总是有三个文件处于打开状态,标准输入(键盘输入)、标准输出(输出到屏幕)、标准错误(也是输出到屏幕),它们分别对应的文件描述符是0
,1
,2
。
1>
表示标准输出重定向,可以省略为>
,例:ls /usr >output.log
2>&1
表示把标准错误重定向到标准输出。
&>file
表示把标准输出和标准错误都重定向到file文件中。
/dev/null
是一个文件,这个文件比较特殊,所有传给它的东西它都丢弃掉
例:
sh
ls a.txt b.txt 1>file.out 2>&1
Linux终端 nohup和&
&
:指在后台运行。
nohup
:不挂断的运行,注意并没有后台运行的功能,,就是指,用nohup运行命令可以使命令永久的执行下去,和用户终端没有关系,例如我们断开SSH连接都不会影响他的运行,注意了nohup没有后台运行的意思;&才是后台运行
例:
sh
# 不挂断,将1和2重定向到日志文件中,后台执行
nohup serv.sh >serv.log 2>&1 &
Linux终端 提示符设置
PS1
与PS2
PS1
:就是用户平时的提示符。 默认值:[\u@\h \W]\$
。
PS2
:第一行没输完,等待第二行输入的提示符。
PS1
提示符特殊符号说明:
\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时,提示符为:#
,普通用户则为:$
例:
sh
export PS1="[\u@\h \w]\$" # 显示全路径
修改PS1
提示符的颜色:
我们可以通过设置PS1
变量使提示符成为彩色。在PS1
中设置字符序列颜色的格式为:
\[\e[F;Bm\]
其中F
为字体颜色,编号30~37;B
为背景色,编号40~47。
可通过\e[0m
关闭颜色输出;特别的,当B为1时,将显示加亮加粗的文字,详细请看下面的颜色表与代码表。
颜色表
前景 | 背景 | 颜色 |
30 | 40 | 黑色 |
31 | 41 | 红色 |
32 | 42 | 绿色 |
33 | 43 | 黄色 |
34 | 44 | 蓝色 |
35 | 45 | 紫红色 |
36 | 46 | 青蓝色 |
37 | 47 | 白色 |
代码 | 意义 |
0 | off |
1 | 高亮显示 |
4 | underline |
5 | 闪烁 |
7 | 反色显示 |
8 | 不可见 |
例:
sh
export PS1="\[\e[35;1m\][\u@\h \W]\$\[\e[0m\]" # 紫色,高亮
export PS1="\[\e[32m\][\u@\h \W]\$\[\e[m\]" # 绿色,不高亮
30 40 黑色
31 41 紅色
32 42 綠色
33 43 黃色
34 44 藍色
Linux hostname
查看hostname
hostname记录在/etc/hostname文件中
[root@tx1 ~]$cat /etc/hostname
tx1
通过两个命令查看:
- hostname
- hostnamectl
[root@tx1 ~]$hostname
tx1
[root@tx1 ~]$hostnamectl
Static hostname: tx1
Icon name: computer-vm
Chassis: vm
Machine ID: c28d40cbc8e3adcb4e32d9779a77b39e
Boot ID: cad41ad00a7e41cab4c0630c1a8c31e5
Virtualization: kvm
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-862.el7.x86_64
Architecture: x86-64
修改hostname
修改hostname记录
直接修改:
[root@tx1 ~]$vi /etc/hostname
或者,通过命令:
[root@tx1 ~]$hostnamectl set-hostname <newname>
修改/etc/hosts解析配置
把ipv4和ipv6的解析配置都改到新hostname上。
[root@tx1 ~]$vi /etc/hosts