Linux的安装及部署
#获取当前时间
[root@server ~]# date
#获取当前时间
[root@hd ~]# date
2019年 06月 22日 星期六 19:12:04 CST
#创建用户
[root@server ~]# useradd 用户名
创建用户名为tls的用户
[root@hd ~]# useradd tls
#查看用户
[root@server ~]#cat /etc/passwd
#查看当前用户
[root@hd ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
tls:x:1000:1000::/home/tls:/bin/bash
#如果要创建100个用户,使用shell script
for n in `seq 100`;do
useradd test$n && \
echo "用户 test$n 已创建成功"
done
[root@hd ~]# for n in `seq 100`;do
> useradd test$n && \
> echo "用户 test$n 已创建成功"
> done
用户 test1 已创建成功
用户 test2 已创建成功
.......
#运行脚本
[root@server ~]# bash user.sh
'root' = login user name
'@' = 分隔符
'server' = hostname
'~' = working directory,'~'通配家目录
'$' = 普通用户
'#' = root用户(超级管理员)
主机名的命名规则:dl_wh_web_01.hs.com
#查看当前用户
[root@server ~]# whoami
[root@hd ~]# whoami
root
#查看当前命令提示符
[root@server ~]# echo $PS1
root:当前系统的用户
server:当前系统的主机名
~:当前所在的位置
#:超级管理员身份(root用户)
$:普通用户
#查看当前命令提示符
[root@hd ~]# echo $PS1
[\u@\h \W]\$
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 白色
#显示时间
[root@hd ~]# PS1='\[\[[\u@\h \w \t]\$ \[\e[0m\]'
[root@hd ~ 20:01:05]#
shell基础语法
命令行bash shell,为用户提供输入,执行命令的界面
#命令 选项 参数
command [-options] [arguments]
[root@server ~]# ls //命令
[root@server ~]# ls -l //命令+选项
[root@server ~]# ls -l /home/ //命令+选项+参数
#命令:整条shell命令的主体
#选项:用于调节命令的具体功能
#以'-'引导段个事选项(单个字符),例如”-a“
#以'--'引导长格式选项(多个字符),例如”--all“
#多个短格式选项可以卸载一起,只用一个”-“引导,例如”-la“
#参数:命令操作与偶的对象,如文件、目录名等
#命令必须开头,选项和参数位置可以发生变化
[root@hd ~]# ls
anaconda-ks.cfg user.sh
[root@hd ~]# ls -l
总用量 8
-rw-------. 1 root root 1275 6月 18 09:22 anaconda-ks.cfg
-rw-r--r-- 1 root root 93 6月 22 19:51 user.sh
[root@hd ~]# ls -l /home/
总用量 0
drwx------ 2 tls tls 62 6月 22 19:14 tls
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@server ~]# history
[root@hd ~]# history
1 sed -ri '/(UUID|HWADDR)/d' /etc/sysconfig/network-scripts/ifcfg-ens33
2 sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
3 systemctl disable firewalld
4 cd /etc/yum.repos.d/
5 ls
6 mkdir bak
7 ls
8 mv CentOS-* bak/
.......
#清空历史记录
[root@server ~]# history -c
[root@hd ~]# history -c
[root@hd ~]# history
1 history
#指定一条历史记录删除
[root@server ~]# history -d 行数
#删除第二条历史记录
[root@hd ~]# history -d 2
[root@hd ~]# history
1 sed -ri '/(UUID|HWADDR)/d' /etc/sysconfig/network-scripts/ifcfg-ens33
2 systemctl disable firewalld
3 cd /etc/yum.repos.d/
4 ls
5 mkdir bak
6 ls
7 mv CentOS-* bak/
#保存历史命令
[root@server ~]# history -w
#执行上一条命令
[root@server ~]# !!
[root@hd ~]# !!
history
1 sed -ri '/(UUID|HWADDR)/d' /etc/sysconfig/network-scripts/ifcfg-ens33
2 systemctl disable firewalld
3 cd /etc/yum.repos.d/
......
#执行上一条ls相关命令
[root@server ~]# !ls
[root@hd ~]# !ls
ls /boot/
config-3.10.0-957.el7.x86_64 initramfs-3.10.0-957.el7.x86_64.img
efi symvers-3.10.0-957.el7.x86_64.gz
grub System.map-3.10.0-957.el7.x86_64
grub2 vmlinuz-0-rescue-44427be481944bc487868b5f1c0cc533
initramfs-0-rescue-44427be481944bc487868b5f1c0cc533.img vmlinuz-3.10.0-957.el7.x8
#执行历史命令中的第n条命令
[root@server ~]# !n
#执行历史命令中的第4条命令
[root@hd ~]# !4
ls
anaconda-ks.cfg done useradd