Linux|Xshell颜色及PS1

Bash Shell的作用
使用Shell实现对Linux系统的大部分管理,例如:
1)文件管理
2)权限管理
3)用户管理
4)磁盘管理
5)网络管理
6)软件管理
7)应用管理
…等等管理
#获取当前时间
[root@tzc ~]# date
2019年 06月 23日 星期日 20:47:55 CST
#创建用户
[root@tzc ~]# useradd tls
#如果要创建100个用户,使用shell script
for n in seq 100; do
useradd testKaTeX parse error: Expected 'EOF', got '&' at position 3: n &?& \ ech…n 已创建成功"
done
[root@tzc ~]# bash user.sh
‘root’ = login user name
‘@’ = 分隔符
‘server’ = hostname
‘~’ = working directory,’~'通配家目录
‘$’ = 普通用户
‘#’ = root用户(超级管理员)
【Linux|Xshell颜色及PS1】登录普通用户
[root@tzc ~]# su - tls
[tls@tzc ~]$
[tls@tzc ~]$ exit
登出
[root@tzc ~]#
主机名的命名规则:dl_wh_web_01.hs.com
#查看当前用户
[root@tzc ~]# whoami
root
#查看当前命令提示符
[root@tzc ~]# echo $PS1
[\u@\h \W]$
root:当前系统的用户
server:当前系统的主机名
~:当前所在的位置
#:超级管理员身份(root用户)
$:普通用户
PS1的常用参数以及含义
\d :代表日期,格式为weekday month date,例如:“Mon Aug 1”
\H :完整的主机名称
\h :仅取主机名中的第一个名字
\t :显示时间为24小时格式,如:HH:MM:SS
\T :显示时间为12小时格式
\A :显示时间为24小时格式:HH:MM
\u :当前用户的账号名称
\v :BASH的版本信息
\w :完整的工作目录名称
\W :利用basename取得工作目录名称,只显示最后一个目录名
# :下达的第几个命令
$ :提示字符,如果是root用户,提示符为 # ,普通用户则为 $

#颜色
30 40 黑色
31 41 红色
32 42 绿色
33 43 黄色
34 44 蓝色
35 45 紫红色
36 46 青蓝色
37 47 白色
PS1=’[\e[32; 40m] [[\u@\h \w \t]$ [\e[0m]’
PS1="[\e[37; 40m][[\e[32; 40m]\u[\e[37; 40m]@\h [\e[36; 40m]\w[\e[0m]]\$ "
PS1="[\e[37; 40m][[\e[32; 40m]\u[\e[37; 40m]@[\e[35; 40m]\h[\e[0m] [\e[36; 40m]\w[\e[0m]]\$ "
shell基础语法
命令行bash shell,为用户提供输入,执行命令的界面
#命令 选项 参数
command [-options] [arguments]
[root@tzc ~]# ls //命令
[root@tzc ~]# ls -l //命令+选项
[root@tzc ~]# ls -l /home/ //命令+选项+参数
#命令:整条shell命令的主体
#选项:用于调节命令的具体功能
#以’-‘引导段个事选项(单个字符),例如”-a“
#以’–'引导长格式选项(多个字符),例如”–all“
#多个短格式选项可以卸载一起,只用一个”-“引导,例如”-la“
#参数:命令操作与偶的对象,如文件、目录名等
#命令必须开头,选项和参数位置可以发生变化
Bash的基本特性
命令补全
tab
命令补全
选项补全
参数补全
如果无法补全选项,那么需要安装一个扩展包
[root@server ~]# yum install -y bash-completion
http://vault.centos.org/
命令快捷键
命令的快捷键可以帮助我们大大提升工作效率
Ctrl + a(home) #光标跳转至正在输入的命令行的首部
Ctrl + e(end) #光标跳转至正在输入的命令行的尾部
Ctrl + w #按照空格来删除bash内容
Ctrl + c #终止前台运行的程序
Ctrl + d #在shell中,ctrl-d表示退出当前shell。(logout、exit)
Ctrl + z #将任务暂停,挂至后台
Ctrl + l #清屏,和clear命令等效。
Ctrl + k #删除从光标到行末的所有字符
Ctrl + u #删除从光标到行首的所有字符
Ctrl + r #搜索历史命令, 利用关键字
Ctrl + s #锁屏
Ctrl + q #解锁
Ctrl + 左右 #按照单词快速跳转光标(Xshell提供的)
ESC + . #获取最后的指令
#在命令行前加面加 “#” 则该命令不会被执行

历史命令 历史命令的作用:追溯之前的发生情况,在企业中,十分重要,涉及到运维的责任,记录历史命令对于运维人员来说,也有一个专业名词:审计-w:保存命令历史到文件 write -c:清空命令历史记录,不会清空文件 clear -d:删除命令历史的第N行 delete #查看历史记录 [root@tzc ~]# history 279cd /etc/yum.repos.d/ 280ls 281cat ./cdrom.repo 282date 283# ip address 284ip address 285route -n 286cat /etc/resolv.conf 287systemctl restart network 288wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo 289[root@tzc ~]# yum makecache 290history #清空历史记录 [root@tzc ~]# history -c#指定一条历史记录删除 [root@tzc ~]# history -d 110#保存历史命令 [root@tzc ~]# history -w#执行上一条命令 [root@tzc ~]# !!#执行上一条ls相关命令 [root@tzc ~]# !ls ls /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0 [root@tzc ~]# !ls ls 1.txt3.txt6.txta.aacepasswdtest.txt 2.txt4.txtaanaconda-ks.cfgdnginx.logsecure.log丽丽安.lnk #执行历史命令中的第74条命令 [root@tzc ~]# !74命令的别名 命令别名讲用户经常使用的复杂命令简单化,创建出属于自己的命令别名。创建语法:alias 别名="命令" 取消语法:unalias 别名 #定义临时别名,只对当前shell生效4.Linux的基础命令目录结构 /etc系统重要配置文件, 以及常用服务配置文件 /var存放系统引导启动时产生的可变文件,文件通常动态更改的,例如: 缓存目录,日志文件 /run系统启动后, 运行的程序产生的运行时数据, 包括进程的pid文件,锁文件等 /home普通用户的主目录, 普通用户的家目录默认为/HOME/USERNAME /root超级管理员的主目录, 普通用户无权操作 /tmp存放临时文件, 一般存放超过10天以上都会自动删除,可以更改删除临时文件的期限 /boot存放系统引导时候需要的文件 /dev存放设备文件 /usr安装的软件, 共享库, 重要的子目录有 /usr/bin用户命令目录 /usr/sbin管理员命令目录 /usr/local本地自定义安装的软件//注意:在Linux7系统中, /bin, /sbin, /lib, /lib64都以软链接的形式链接到/usr/目录下,例如: /bin--> /usr/bin /sbin --> /usr/sbin lib -> usr/lib lib64 -> usr/lib64绝对路径 唯一定位 windwos C:\Users\Administrator\Desktop\架构实验.ppt Linux /etc/sysconfig/network-scripts/ifcfg-ens33 相对路径根据所在环境定义目录管理命令 在CentOS7,用颜色区分不同类型的文件 普通文件是黑色 目录文件是蓝色cd change directory pwd print working directory mkdir make directory 创建空目录 常用选项 -p 创建递归目录结构 [root@tzc ~]# mkdir -p aa/bb/cc需求1:公司需要创建三个站点www,bbs,blog,三个站点页面需要放在同一个主目录下的不同子目录里 [root@tzc ~]# mkdir -p /code/html/{www,bbs,blog}需求2:公司需要创建两个站点,每个站点各有三个业务 jd.com taobao.com www,ms,yhj [root@tzc ~]# mkdir -p /code/{jd,taobao}/{www,ms,yhj}rmdir remove directory 删除空目录tree 列出目录树 [root@tzc ~]# tree . ├── 1.txt ├── 2.txt ├── 3.txt ├── 4.txt ├── 6.txt ├── a ├── a.aa │└── passwd ├── anaconda-ks.cfg ├── c ├── d ├── e ├── nginx.log ├── passwd ├── secure.log ├── test.txt └── \344\270\275\344\270\275\345\256\211.lnk[root@tzc ~]# yum install -y tree[root@tzc ~]# tree /code /code/ ├── html │├── bbs │├── blog │└── www ├── jd │├── ms │├── www │└── yhj └── taobao ├── ms ├── www └── yhj#tree -L 1 / / ├── bin -> usr/bin ├── boot ├── code ├── dev ├── etc ├── home ├── lib -> usr/lib ├── lib64 -> usr/lib64 ├── media ├── mnt ├── opt ├── proc ├── root ├── run ├── sbin -> usr/sbin ├── srv ├── sys ├── tmp5.Linux Web架构

    推荐阅读