Linux运维实训day2

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

猜你喜欢

转载自blog.csdn.net/qq_37324376/article/details/93708661