• ADMIN云计算系统管理


    云计算系统管理

    一、inux简介

    Linux是一种操作系统!!
    操作系统:一堆软件的集合,让计算机硬件正常的工作
    C/S结构:客户端(简单、方便)与服务端(稳定、高效、安全)

    Unix/Linux发展史

    ● UNIX诞生,1970-1-1
    ● Ken Thompson、Dennis Ritchie
    ● 根据MULTICS项目的经验开发了一个多任务

    操作系统 —— UNICS,后改为UNIX

    ● 1973年,用C语言重写了UNIX
    ● 1978年,有大约600台计算机运行UNIX
    ● Linux之父,Linus Torwalds
    ● 1991年10月,发布0.02版(第一个公开版)内核
    ● 1994年03月,发布1.0版内核
    ● 标准读音:“哩呐科斯”
    内核:调配计算机硬件资源
    用户---->内核---->硬件
    内核版本号:主版本.次版本.修订号

    Linux版本及应用

    ● 发行版的名称/版本由发行方决定
    ● Red Hat Enterprise Linux 5/6/7/8
    ● Suse Linux Enterprise 12
    ● Debian Linux 7.8
    ● Ubuntu Linux 14.10/15.04
    ● ……

    Red Hat系列版本

    ● 红帽 Linux 企业版
    ● 简称RHEL(Red Hat Enterprise Linux)
    ● http://www.redhat.com/
    ● Fedora Core 社区版
    ● http://fedoraproject.org/
    ● CentOS,社区企业操作系统
    ● Community Enterprise Operating System
    ● http://www.centos.org/
    光盘镜像文件:整个操作系统的数据


    二、Linux系统的安装


    三、Linux预备知识

    Linux目录结构

    系统结构系统结构
    根目录:/:Linux系统的起点(所有的数据存放的目录)
    路径:/abc/1.txt #在根目录下,有abc目录,在abc目录里有1.txt文件。在Linux中一个路径,只有开头的/ 才表示为根目录
    Unix/Linux的基本哲学理念:一切皆文件
    /dev:存放设备(键盘、鼠标、光驱、硬盘……)相关的数据

    常见的硬盘接口类型名称规则
    真机Wdindows,虚拟机为Linux平台:
    /dev/sda:SCSI接口的硬盘,第一块
    /dev/sdb:SCSI接口的硬盘,第二块
    /dev/sdc:SCSI接口的硬盘,第三块


    真机为Linux平台:
    虚拟机硬盘的接口类型:独有的接口类型为vd


    四、Linux基本操作

    获取命令行

    方式:获得命令行终端(tty)

    右键“打开终端”

    字体变大:ctrl shift +
    字体变小:ctrl -

    命令行提示符

    [当前登录的用户@主机名 当前所在的目录]
    [root@localhost ~]#
    #结尾表示当前登录的身份为root
    $结尾表示当前登录的身份为普通用户

    pwd — Print Working Directory

    用途:查看当前工作目录

    cd — Change Directory

    用途:切换工作目录
    格式:cd [目标文件夹位置]

    ls — List

    格式:ls [目录或文件名]…

    [root@localhost ~]# pwd    #显示当前所在的位置
    [root@localhost ~]# cd   /   #切换到根目录下 
    [root@localhost /]# ls       #显示当前目录下内容
    [root@localhost ~]# cd   /etc
    [root@localhost etc]# ls  /root #查看指定目录内容
    [root@localhost etc]# ls  /     #查看根目录内容
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 绝对路径:以根开始的路径
    • 相对路径:以当前为参照的路径
    ]# cd  /opt   #绝对路径,与当前所在位置无关
    ]# pwd
    ]# cd   rh   #相对路径,与当前所在位置有关
    ]# pwd
    ]# cd  /etc/pki  #绝对路径,与当前所在位置无关
    ]# pwd
    ]# cd  CA  #相对路径,与当前所在位置有关
    ]# pwd
    #   ..  表示上一层目录
    [root@localhost CA]# cd   /etc/pki/CA
    [root@localhost CA]# pwd
    [root@localhost CA]# cd    ..   #后退
    [root@localhost pki]# pwd
    /etc/pki
    [root@localhost pki]# cd   ..
    [root@localhost etc]# pwd
    /etc
    [root@localhost etc]# cd    ..
    [root@localhost /]# pwd
    /
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 目录:蓝色
    • 文本文件:黑色

    cat

    查看文本文件内容,适合查看内容较少文件

    ]# ls   /root/
    ]# ls   /root/anaconda-ks.cfg 
    ]# cat  /root/anaconda-ks.cfg
    ]# cat  /root/initial-setup-ks.cfg
    ]# cat  /etc/passwd
    ]# cat  /etc/fstab     
    ]# cat  /etc/group
    ]# cat  /etc/redhat-release  #查看系统版本
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    less

    查看文本文件内容,适合查看内容较多文件

    [root@localhost /]# less  /etc/passwd
    	#按上、下键进行滚动
    	#按q键进行退出
    
    • 1
    • 2
    • 3

    hostname

    查看与临时设限主机名

    [root@localhost /]# hostname #查看主机名
    localhost.localdomain
    [root@localhost /]# hostname  abc.haha.xixi #临时设置主机名
    [root@localhost /]# hostname 
    abc.haha.xixi
    #设置
    [root@localhost /]# echo abc.haha.xixi > /etc/hostname #修改配置文件更改主机名
    [root@localhost ~]# hostnamectl set-hostname mysql #使用命令设置主机名
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    新开一个全新的命令行终端,查看提示符变化

    lscpu

    列出CPU处理器信息

    [root@A ~]# lscpu
    Architecture:          x86_64
    CPU op-mode(s):        32-bit, 64-bit
    Byte Order:            Little Endian
    CPU(s):                1  #核心数
    On-line CPU(s) list:   0
    Thread(s) per core:    1
    Core(s) per socket:    1
    Socket(s):             1
    NUMA node(s):          1
    Vendor ID:             GenuineIntel
    ......
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    列出内存信息

    [root@A ~]# cat   /proc/meminfo
    MemTotal:         997956 kB   #一共内存总和
    
    • 1
    • 2

    查看网卡的IP地址

    ]# ifconfig
    lo: 本机回环接口   IP永远为127.0.0.1
    127.0.0.1:永远代表本机
    ]# ifconfig  eth0  192.168.1.1   #临时设置IP
    ]# ifconfig
    ]# ping   192.168.1.1
    Ctrl+c:结束正在运行命令
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    mkdir创建目录

    [root@A ~]# mkdir   /opt/test
    [root@A ~]# ls   /opt/
    [root@A ~]# mkdir  /root/nsd01
    [root@A ~]# ls  /root/
    
    • 1
    • 2
    • 3
    • 4

    touch创建文本文件

    [root@A opt]# touch   /opt/1.txt
    [root@A opt]# ls  /opt/
    [root@A opt]# touch   /opt/2.txt
    [root@A opt]# ls  /opt/
    
    • 1
    • 2
    • 3
    • 4

    head、tail 命令(查看部分文件内容)

    格式:head -n 数字 文件名(文本开头)
    tail -n 数字 文件名(文本结尾)

    [root@A /]# head  -1  /etc/passwd
    [root@A /]# head  -2  /etc/passwd
    [root@A /]# head  -3  /etc/passwd
    
    [root@A /]# tail  -1  /etc/passwd
    [root@A /]# tail  -2  /etc/passwd
    [root@A /]# tail  -3  /etc/passwd
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    grep命令过滤文本文件内容

    作用:输出包含指定字符串的行

    [root@A /]# grep  root  /etc/passwd
    [root@A /]# grep  bash  /etc/passwd
    [root@A /]# grep  lisi  /etc/passwd
    [root@A /]# grep  zhangsan  /etc/passwd
    [root@A /]# grep  haha  /etc/passwd
    
    • 1
    • 2
    • 3
    • 4
    • 5

    vim修改文本文件内容(文本编辑器)

    三个模式:命令模式插入模式(输入模式)末行模式
    vim当文件不存在时,会自动创建此文件
    vim不能创建目录

    [root@A /]# vim  /opt/haxi.txt  
    
    • 1

    命— i 键(接着写) 或者 o 键(另起一行) —》插入模式(Esc回到命令模式)
    命令模式— 英文的冒号:—》末行模式(Esc回到命令模式)
    末行模式 :wq #保存并退出
    末行模式 :q! #强制不保存并退出

    关机poweroff与重启reboot

    [root@A /]# poweroff  #关机
    [root@A /]# shutdown  #Linux 将在一分钟内关闭。“-h”选项明确表示关闭或关闭系统。
    [root@A /]# shutdown -r #重启 Linux 的标准命令
    [root@A /]# init 0 # 关机
    [root@A /]# init 6 # 重启
    
    • 1
    • 2
    • 3
    • 4
    • 5

    五、Linux命令行基础

    Linux命令

    用来实现某一类功能的指令或程序
    在Linux中执行大多数命令时,都要找到命令所对应的程序

    ]# hostname
    ]# which  hostname     #查询命令对应的程序
    ]# ls  /usr/bin/hostname
    ]# which ifconfig     #查询命令对应的程序
    
    • 1
    • 2
    • 3
    • 4

    命令的执行依赖于解释器(默认解释器/bin/bash)

    用户—>解释器—>内核—>硬件
    绿色:可以执行的程序

    命令行完整格式:

    命令字 [选项]… [参数1] [参数2]…

    ]# cat  --help           #查看命令帮助信息
    ]# cat  -n  /etc/shells   #显示行号
    ]# cat  -n  /etc/passwd
    ]# cat  -n  /etc/redhat-release
    ]# cat  -n  /etc/fstab 
    ]# ls  -l    /etc/passwd    #长格式显示
    ]# ls  -l    /etc/fstab      #显示详细属性
    ]# ls  -l    /etc/shells
    ]# ls  -l    /root/  #默认显示目录内容的详细属性
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    Tab键自动补全

    可补齐命令字选项参数文件路径软件名服务名

    ]# if(tab) (tab)        #列出以if开头的命令  
    ]# ifco(tab)
    ]# cat   /etc/re(tab) (tab)
    ]# cat   /etc/red(tab)
    ]# ls  /etc/sysconfig/network-scripts/
    ]# ls  /et(tab)/sysco(tab)/netw(tab)- (tab)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    快捷键

    • Ctrl + c:结束正在运行的命令
    • Esc+.或Alt+.:粘贴上一个命令的参数
    [root@localhost ~]# ls  /etc/hosts
    [root@localhost ~]# ls  -l  Alt + . 
    [root@localhost ~]# cat  Alt + . 
    [root@localhost ~]# cat  -n  Alt + .
    
    • 1
    • 2
    • 3
    • 4
    • Ctrl + l:清空整个屏幕
    • Ctrl + u:从光标处清空至行首
    • Ctrl + w:往回删除一个单词(以空格界定)

    光盘镜像文件中软件包

    首先将光盘镜像文件,放入虚拟机的光驱设备
    光盘镜像文件—》光驱设备—》访问点(目录)

    [root@svr1 /]# ls  /dev/sr0
    /dev/sr0
    [root@svr1 /]# ls  /dev/cdrom
    /dev/cdrom
    [root@svr1 /]# ls -l  /dev/cdrom
    lrwxrwxrwx. 1 root root 3 5月   5 09:03 /dev/cdrom -> sr0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    Windows显示光盘内容:
    光盘---->光驱设备---->DVD驱动器(图标)

    Linux显示光盘内容:
    光盘---->光驱设备---->访问点(目录)
    /dev/cdrom


    六、mount挂载操作:让目录成为设备的访问点

    命令行显示光盘内容

    Windows:
    光盘—>光驱设备—>CD驱动器(图标)
    Linux:
    光盘—>光驱设备—>访问点(目录)
    真机Windows:将光盘镜像文件放入虚拟光驱设备中
    Windows真机光盘镜像文件放入虚拟光驱设备中
    真机Linux:将光盘镜像文件放入虚拟光驱设备中
    Linux真机光盘镜像文件放入虚拟光驱设备中

    查看Linux光驱设备

    [root@localhost ~]# ls  -l  /dev/cdrom
    [root@localhost ~]# ls  /dev/sr0
    
    • 1
    • 2

    挂载操作

    • 使用mount命令
    • 格式:mount 路径 挂载点目录
      步骤
    ]# mkdir  /dvd
    ]# ls   /dvd
    ]# mount  /dev/cdrom  /dvd
    mount: /dev/sr0 写保护,将以只读方式挂载
    ]# ls  /dvd/
    ]# ls  /dvd/P(tab)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    卸载操作

    ]# umount   /dvd
    ]# ls  /dvd/
    ]# mkdir  /mydvd
    ]# mount /dev/cdrom  /mydvd
    mount: /dev/sr0 写保护,将以只读方式挂载
    ]# ls  /mydvd
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    注意事项:

    1.卸载:当前所在的路径是挂载点目录
    [root@localhost mydvd]# umount /mydvd
    umount: /mydvd:目标忙。
    (有些情况下通过 lsof(8) 或 fuser(1) 可以
    找到有关使用该设备的进程的有用信息)
    2.挂载允许一个设备,挂载到不同的挂载点目录
    3.挂载不允许一个挂载点目录,挂载多个设备
    4.建议挂载点目录,最好自行创建


    七、目录与文件管理

    cd的命令使用

    . :当前目录
    ..:父目录(上一层)
    ~: 表示家目录
    家目录:专门存放用户个性化信息的目录
    ~user:用户user的家目录
    /root:是Linux管理员的家目录
    /home:存放所有普通用户的家目录

    ]# cd  ~root    #去往root用户的家目录
    ]# pwd
    ]# cd  ~lisi     #去往lisi用户的家目录
    ]# pwd
    ]# useradd  dc   #创建用户dc
    ]# cd  ~dc       #去往dc用户的家目录
    ]# pwd
    ]# useradd  tom   #创建用户tom
    ]# cd  ~tom       #去往tom用户的家目录
    ]# pwd
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    ls — List

    • 格式:ls [选项]… [目录或文件名]
    • 常用命令选项
      -l:以长格式显示,显示详细信息
      -h:提供易读的容量单位(K、M等)
      -d:显示目录本身(而不是内容)的属性
    [root@localhost /]# ls  -ld  /home
    [root@localhost /]# ls  -ld  /root
    [root@localhost /]# ls  -ld  /
    [root@localhost /]# ls  -l   /etc/passwd
    [root@localhost /]# ls  -lh  /etc/passwd
    
    • 1
    • 2
    • 3
    • 4
    • 5

    -A:显示所有内容包含隐藏数据
    -R:递归显示内容

    [root@localhost /]# ls  -A   /root
    [root@localhost /]# touch  /opt/.nsd.txt
    [root@localhost /]# ls  /opt/
    [root@localhost /]# ls  -A  /opt/
    [root@localhost /]# ls  -R   /opt/
    
    • 1
    • 2
    • 3
    • 4
    • 5

    使用通配符

    • 针对不确定的文档名称,以特殊字符表示
    • *:任意多个任意字符
      [root@localhost /]# ls /root/a*
      [root@localhost /]# ls /boot/vm*
      [root@localhost /]# ls /etc/tab
      [root@localhost /]# ls /etc/
      .conf
      [root@localhost /]# ls /dev/tty*
    • ?:单个字符
      [root@localhost /]# ls /etc/??tab
      [root@localhost /]# ls /dev/tty?
      [root@localhost /]# ls /dev/tty??
    • [a-z]:多个字符或连续范围中的一个,若无则忽略
    • {a,min,xy}:多组不同的字符串,全匹配
      ]# ls /dev/tty[3-9]
      ]# ls /dev/tty[1-7]
      ]# ls /dev/tty{1,17,20}
      ]# ls /dev/tty{10,18,22,33}
      ]# ls /dev/tty{26,19,21,30,40}

    别名的定义:简化复杂的命令

    • 查看已设置的别名
    • alias [别名名称]
    • 定义新的别名
    • alias 别名名称= ‘实际执行的命令行’
    • 取消已设置的别名
    • unalias [别名名称]
    ]# hostname
    ]# alias  hn='hostname'   #临时定义别名
    ]# hn
    ]# alias           #查看系统中有哪些别名
    ]# unalias  hn    #删除hn别名
    ]# hn
    bash: hn: 未找到命令...
    ]# alias  myls='ls  -l' 
    ]# myls  /etc/passwd
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    mkdir — Make Directory

    格式:mkdir [/路径/]目录名…
    -p:连同父目录一并创建

    [root@localhost /]# mkdir -p /opt/aa/bb/cc/dd
    [root@localhost /]# ls -R /opt/aa
    [root@localhost /]# mkdir  -p  /nsd04/test04
    [root@localhost /]# ls -R   /nsd04
    
    • 1
    • 2
    • 3
    • 4

    rm 删除

    • rm — Remove
    • 格式:rm [选项]… 文件或目录…
    • 常用命令选项
    • -r-f:递归删除(含目录)、强制删除
    ]# ls  /opt
    ]# rm  -rf   /opt/1.txt
    ]# ls  /opt
    ]# rm  -rf   /opt/aa
    ]# ls  /opt
    
    • 1
    • 2
    • 3
    • 4
    • 5

    mv — Move移动:源数据会消失

    • 格式:mv 原文件… 目标路径
    ]# mkdir  /opt/nsd01
    ]# touch  /opt/1.txt
    ]# ls  /opt/
    ]# mv  /opt/1.txt  /opt/nsd01
    ]# ls  /opt/
    ]# ls  /opt/nsd01/
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    重命名:路径不变的移动

    ]# ls   /opt/
    ]# mv   /opt/nsd01   /opt/abc
    ]# ls   /opt/
    ]# mv   /opt/abc/   /opt/student
    ]# ls   /opt/
    ]# mv  /opt/student    /mnt/stu01
    ]# ls  /mnt/
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    cp — Copy:源数据不会消失

    • 格式:cp [选项]… 原文件… 目标路径
    • 常用命令选项
    • -r:递归,复制目录时必须有此选项
    ]# cp  /etc/passwd   /opt/
    ]# ls  /opt/
    ]# cp  -r  /boot/   /opt/
    ]# ls  /opt/
    ]# cp  -r  /home/   /opt/
    ]# ls  /opt/
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    重名进行强制覆盖

    ]# \cp -r  /boot/   /opt/  #本次操作临时取消别名
    ]# \cp -r  /boot/   /opt/  #本次操作临时取消别名
    
    • 1
    • 2

    \: 临时取消别名

    • 复制可以支持重新命名,目标路径下数据的名称
    ]# cp  -r  /home/   /opt/myhome
    ]# ls  /opt/
    ]# cp  /etc/redhat-release      /opt/r.txt
    ]# ls  /opt/
    ]# ls  /opt/
    ]# cp  -r  /root/  /opt/myroot
    ]# ls  /opt/
    ]# cp  -r  /root/  /opt/myroot  
    ]# ls  /opt/myroot/
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 复制可以支持两个以上的参数,永远把最后一个参数作为目标其他的所有的参数都作为源数据
    ]# mkdir  /nsd05
    ]# cp -r /home/  /etc/passwd   /boot/  /etc/shells   /nsd05
    ]# ls   /nsd05
    
    • 1
    • 2
    • 3
    • 复制与一个点进行连用,将数据复制到当前路径下
    ]# cd    /etc/sysconfig/network-scripts/
    ]# pwd
    ]# cp   /etc/passwd     .  
    ]# ls
    
    • 1
    • 2
    • 3
    • 4

    在文本文件中过滤,包含指定字符串的行

    格式:grep [选项] ‘字符串’ 文本文件…

    [root@svr1 /]# grep  root  /etc/passwd
    [root@svr1 /]# grep  bash  /etc/passwd
    [root@svr1 /]# grep  lisi   /etc/passwd
    [root@svr1 /]# grep  zhangsan  /etc/passwd
    
    • 1
    • 2
    • 3
    • 4
    • 常用命令选项
      ·-v·:取反匹配(不包含)
      -i:忽略大小写
    ]# grep  root   /etc/passwd
    ]# grep  -v   root  /etc/passwd
    ]# grep  ROOT  /etc/passwd
    ]# grep  -i  ROOT  /etc/passwd
    
    • 1
    • 2
    • 3
    • 4

    ^word :以字符串word开头
    word$:以字符串word结尾

    ]# grep  ^root   /etc/passwd
    ]# grep  ^bin    /etc/passwd
    ]# grep  root$    /etc/passwd
    ]# grep  bash$   /etc/passwd
    
    • 1
    • 2
    • 3
    • 4

    ^$ 表示空行
    ]# cat /etc/default/useradd
    ]# grep ^$ /etc/default/useradd #过滤空行
    ]# grep -v ^$ /etc/default/useradd #过滤不要空行的内容


    八、归档及压缩

    作用:1.减小占用空间大小 2.整合分散的数据

    归档的含义

    将许多零散的文件整理为一个文件
    文件总的大小基本不变

    压缩的含义

    按某种算法减小文件所占用空间的大小
    恢复时按对应的逆向算法解压
    常见的压缩格式及命令工具:
    .gz 🡪 gzip
    .bz2 🡪 bzip2
    .xz 🡪 xz

    tar 集成备份工具

    -c:创建归档
    -x:释放归档
    -f:指定归档文件名称,必须在所有选项的最后
    -z-j-J:调用 .gz、.bz2、.xz 格式工具进行处理
    -t:显示归档中的文件清单
    -C:指定释放路径

    tar 制作压缩包(tar打包)

    格式:tar 选项 /路径/压缩包名字 /源数据…

    ]# tar -zcf /root/xixi.tar.gz  /etc/passwd  /home
    ]# ls /root/     
    ]# tar -jcf /root/haha.tar.bz2 /etc/passwd  /home
    ]# ls  /root/
    ]#tar -Jcf /root/hehe.tar.xz  /etc/passwd  /home
    ]# ls /root/
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    tar 释放压缩包(tar解包)

    tar 选项 /路径/压缩包名字 选项 /释放的位置
    -x:释放归档
    -f:指定归档文件名称,必须在所有选项的最后
    -C:指定释放路径

    ]# mkdir /nsd01     
    ]# tar -xf  /root/haha.tar.bz2  -C  /nsd01
    ]# ls  /nsd01
    ]# ls  /nsd01/etc
    ]# ls  /nsd01/home
    
    • 1
    • 2
    • 3
    • 4
    • 5

    创建一个备份包

    使用 tar 工具完成以下备份任务:
    创建一个名为 /root/backup.tar.bz2 的归档文件
    其中包含 /usr/local 目录中的内容
    tar 归档必须使用 bzip2 进行压缩

    ]# tar -jcf /root/backup.tar.bz2  /usr/local/
    ]# ls /root/
    ]# tar -tf /root/backup.tar.bz2   #查看tar包内容
    
    • 1
    • 2
    • 3

    九、管道(操作符号 | )

    作用:将前面命令的输出,传递给后面命令,作为后面命令的参数

    ]# head  -4  /etc/passwd   |      tail  -1 
    ]# head  -8  /etc/passwd  |   tail  -1
    ]# cat -n  /etc/passwd  |  head  -8  |   tail  -1
    ]# ifconfig  |  head  -2
       # 显示8~12行内容
    ]# head  -12  /etc/passwd   |    tail  -5
    
    ]# head -12 /etc/passwd  |    tail -5  |  cat  -n
    ]# cat -n  /etc/passwd   |  head -12
    ]# cat -n  /etc/passwd   |  head -12  |   tail -5
    ]# cat -n  /etc/passwd  |  head -12  |   tail -5  > /opt/pa.txt
    ]# cat  /opt/pa.txt
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    十、grep高级使用

    作用:从文本文件内容中,过滤关键字符串

    ]# grep  root  /etc/passwd
    ]# grep -v  root  /etc/passwd   #-v 取反匹配
    ]# grep  ^root  /etc/passwd  #以root开头
    ]# grep  bash$  /etc/passwd  #以bash结尾
       # ^$:表示空行
    ]# cat  /etc/default/useradd
    ]# grep  -v  ^$  /etc/default/useradd
    
    # Linux中大多数配置文件内容,以#开头的行为注释行显示配置文件有效信息(去除以#开头的注释行和去除空行)
    ]# grep -v  ^#  /etc/login.defs
    ]# grep -v  ^#  /etc/login.defs  |  grep -v  ^$
    ]# grep -v ^# /etc/login.defs   |  grep -v ^$  > /opt/log.txt
    ]# cat  /opt/log.txt
    [root@svr1 ~]# ifconfig  |  grep inet  # 过滤命令的输出
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    十一、find精确查找

    格式:find [目录] [条件1]
    常用条件表示:
    -type : 类型(f文本文件、d文件夹、l 链接)
    -name : “文档名称”
    -size +|-文件大小(k、M、G)
    -user 用户名
    -mtime 修改时间

    -type 类型(f文本文件、d目录、l快捷方式)

    [root@A /]# find  /boot  -type  d
    [root@A /]# find  /opt  -type  d
    [root@A /]# find  /etc  -type  l   
    [root@A /]# find  /boot  -type  f
    
    • 1
    • 2
    • 3
    • 4

    -name “文档名称”

    ]# find  /etc/  -name  "passwd"
    ]# find  /etc/  -name  "*tab"
    ]# find  /etc/  -name  "*.conf"
    ]# find  /etc/  -name  "*tab"   |  wc  -l
    ]# find  /etc/  -name  "*.conf"  |  wc  -l
    ]# find  /etc/  -name  "*.conf"  |  cat  -n
    ]# mkdir   /mnt/nsd01
    ]# mkdir   /mnt/nsd02
    ]# touch   /mnt/nsd03.txt
    ]# find  /mnt/  -name  "nsd*"
    ]# find  /mnt/  -name  "nsd*"  -type  d
    ]# find  /mnt/  -name  "nsd*"  -type  f
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    -size +或- 文件大小(k、M、G)

    ]# find  /boot/  -size  +300k
    ]# find  /boot/  -size  +10M
    ]# find  /boot/  -size  +1M
    ]# find  /boot/  -size  +10M    -size  -50M
    
    • 1
    • 2
    • 3
    • 4

    -user 用户名 (按照数据的所有者)

    [root@A /]# useradd  natasha  #创建用户
    [root@A /]# find  /home/  -user  natasha
    [root@A /]# find  /   -user  natasha
    
    • 1
    • 2
    • 3

    /proc:内存的数据,不占用硬盘空间

    -mtime 修改时间 (所有的时间都是过去时间)

    -mtime +90 #90天之前的数据
    -mtime -90 #最近90天之内的数据
    三个月之前的数据:

    [root@A /]# find  /root  -mtime  +90
    [root@A /]# find  /root  -mtime  -10
    
    • 1
    • 2

    十二、find高级使用

    处理find找到的数据,每查找的一个就传递一次

    find [范围] [条件] -exec 处理命令 {} ;
    -exec:额外操作的开始
    {} :永远表示前面find查找的结果
    \;: 额外操作的结束

    ]# find /boot -size +10M
    ]# find /boot -size +10M -exec  cp  {}  /mnt  \;
    ]# ls    /mnt/
    ]# mkdir  /root/mytab
    ]# find   /etc  -name  "*tab"
    ]# find  /etc  -name  "*tab"  -exec  cp -r      {}   /root/mytab  \;
    ]# ls  /root/mytab/
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    查找并处理文件

    利用find查找数据的所有者为 student并且必须是文件,把它们拷贝到 /root/findfiles/ 文件夹中

    ]# useradd  student      
    ]# mkdir  /root/findfiles
    ]# find  /  -user student  -type  f
    ]# find  /  -user student  -type  f  -exec cp  {}  /root/findfiles  \;
    ]# ls  -A  /root/findfiles/
    
    • 1
    • 2
    • 3
    • 4
    • 5

    十三、vim编辑技巧

    当文件不存在,则自动新建,vim不能新建目录
    三个模式:命令模式 插入模式(输入模式) 末行模式

    [root@localhost ~]# vim    /opt/nsd.txt      
    
    • 1

    命-------i键 或 o键---------》插入模式(按Esc键回到命令模式)
    令模式------输入英文的冒号 “:”-----》末行模式(按Esc键回到命令模式)
    末行模式 输入 :wq #保存并退出
    末行模式 输入 :q! #强制不保存退出
    命令模式操作
    光标跳转

    ]# cp   /etc/passwd    /opt/pass.txt
    ]# vim   /opt/pass.txt   
    
    • 1
    • 2

    操作

    复制/粘贴/删除/撤销

    复制/粘贴/删除/撤销

    查找/撤销/保存

    复制/粘贴/删除/撤销

    末行模式操作

    		:r  /etc/filesystems	读入其他文件内容
    ]# echo  123456  >  /opt/aa.txt
    ]# echo  hahaxixi  >  /opt/cc.txt
    ]# vim    /opt/cc.txt
    末行模式下    :r  /opt/aa.txt
    末行模式下    :r  /etc/passwd
    末行模式下    :r  /etc/shells
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    字符串替换

    字符串替换

    开关参数的控制

    开关参数的控制

    vim常见故障:删除交换文件

    [root@svr1 ~]# echo  hahaxixi  >  /opt/dd.txt
    [root@svr1 ~]# vim  /opt/dd.txt
    [root@svr1 ~]# rm  -rf  /opt/.dd.txt.swp 
    [root@svr1 ~]# vim  /opt/dd.txt
    
    • 1
    • 2
    • 3
    • 4

    常见故障


    十四、Yum的使用

    安装软件

    [root@localhost ~]# yum   -y   install  httpd
    [root@localhost ~]# rpm   -q   httpd
    [root@localhost ~]# yum   -y   install   bind-chroot
    [root@localhost ~]# rpm   -q   bind-chroot
    [root@localhost ~]# yum   -y   install   sssd
    [root@localhost ~]# rpm   -q  sssd
    [root@localhost ~]# yum -y install gcc
    [root@localhost ~]# rpm -q  gcc
    [root@localhost ~]# yum -y install  xorg-x11-apps
    [root@localhost ~]# rpm -q  xorg-x11-apps
    [root@localhost ~]# rpm  -ql   xorg-x11-apps   |   grep bin
    [root@localhost ~]# xeyes
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    卸载软件

    [root@localhost ~]# yum   remove   gcc
    [root@localhost ~]# yum   remove   httpd
    
    • 1
    • 2

    查询

    [root@localhost ~]# yum list  ftp    #查询仓库是否有ftp软件
    可安装的软件包        #表示当前系统没有安装该软件
    ftp.x86_64        0.17-67.el7         nsd20
    [root@localhost ~]# yum  list  httpd
    [root@localhost ~]# yum  search  ftp   #包含ftp就匹配
    ]# yum   provides   /usr/bin/hostname 
    ]# yum  provides  /etc/passwd  #仓库中那个软件包产生该文件
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    清空缓存

    执行流程:  yum命令--->/etc/yum.repos.d/*.repo--->baseurl=file:///mnt
    [root@localhost ~]# yum  clean   all
    [root@localhost ~]# yum   repolist
    [root@localhost ~]# yum   repolist
    
    • 1
    • 2
    • 3
    • 4

    删除/usr/bin/zip程序,然后通过yum工具进行恢复

    [root@svr1 ~]# rm  -rf  /usr/bin/zip
    [root@svr1 ~]# ls  /usr/bin/zip
    ls: 无法访问/usr/bin/zip: 没有那个文件或目录
    [root@svr1 ~]#
    [root@svr1 ~]# yum provides /usr/bin/zip  #查询仓库中那个软件产生了此程序
    [root@svr1 ~]# yum -y  reinstall zip  #覆盖安装
    [root@svr1 ~]# ls /usr/bin/zip
    /usr/bin/zip
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    十五、命令补充

    方式一:命令 --help

    [root@localhost ~]# cat  --help
    
    • 1

    方式二:man 命令

    [root@localhost ~]# man   cat        #按q退出
    [root@localhost ~]# man   passwd    #显示passwd命令帮助
    [root@localhost ~]# man  5  passwd   # 数字5表示帮助的类型,表示配置文件类型
    
    • 1
    • 2
    • 3

    十六、历史命令

    管理/调用曾经执行过的命令

    history:查看历史命令列表
    history -c:清空历史命令
    !n:执行命令历史中的第n条命令
    !str:执行最近一次以str开头的历史命令

    [root@svr7 ~]# vim  /etc/profile
    HISTSIZE=1000      #默认记录1000条 
    [root@localhost ~]# history          #显示历史命令列表
    [root@localhost ~]# history   -c    #清空历史命令
    [root@localhost ~]# history                 
    [root@localhost ~]# cat   /etc/redhat-release 
    [root@localhost ~]# ls   /root
    [root@localhost ~]# history
    [root@localhost ~]# !cat  #指定最近一条以cat开头的历史命令
    [root@localhost ~]# !ls    #指定最近一条以ls开头的历史命令
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    十七、date,查看/调整系统日期时间

    date  +%F、date +%R
    date  +"%Y-%m-%d %H:%M:%S"
    date  -s  "yyyy-mm-dd  HH:MM:SS" 
    ]# date
    ]# date  -s    "2008-9-6   11:17:11"     #修改系统时间
    ]# date
    ]# date   -s    "2022-5-7   16:15:11"   
    ]# date
    [root@localhost ~]# date   +%Y     #显示年
    [root@localhost ~]# date   +%m    #显示月
    [root@localhost ~]# date   +%d     #显示日期
    [root@localhost ~]# date   +%H    #显示时
    [root@localhost ~]# date   +%M    #显示分
    [root@localhost ~]# date   +%S     #显示秒
    [root@localhost ~]# date   +%F    #显示年-月-日
    [root@localhost ~]# date   +%R    #显示时:分
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    十八、制作链接文件(制作快捷方式)

    格式:ln -s /路径/源数据 /路径/快捷方式的名称 #软链接

    ]# ls /etc/sysconfig/network-scripts/ifcfg-lo 
    ]# ln  -s  /etc/sysconfig/network-scripts/ifcfg-lo    /mylo
    ]# ls /
    ]# ls -l  /mylo
    lrwxrwxrwx. 1 root root 39 5月   7 16:25 /mylo -> /etc/sysconfig/network-scripts/ifcfg-lo
    ]# ln  -s    /etc/sysconfig/network-scripts/   /ns
    ]# ls   /
    ]# ls   -l   /ns    #查看快捷方式的信息
    ]# touch   /ns/haha.txt
    ]# touch   /ns/maohehaozi.txt
    ]# touch   /ns/shukehebeita.txt
    ]# ls   /etc/sysconfig/network-scripts
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    软链接优势:可以针对目录与文件制作快捷方式,支持跨分区

    软链接缺点:源数据消失,快捷方式失效

    [root@svr1 ~]# rm -rf /opt/*
    [root@svr1 ~]# ls /opt/
    [root@svr1 ~]# echo 123456 >  /opt/A.txt
    [root@svr1 ~]# ln -s  /opt/A.txt  /opt/B.txt
    [root@svr1 ~]# ls /opt/
    A.txt  B.txt
    [root@svr1 ~]# rm -rf /opt/A.txt 
    [root@svr1 ~]# ls /opt/
    B.txt
    [root@svr1 ~]#
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    格式:ln /路径/源数据 /路径/快捷方式的名称 #硬链接

    硬链接优势:源数据消失,快捷方式仍然有效

    硬链接缺点:只能针对文件制作快捷方式,不支持支持跨分区

    [root@localhost ~]# rm -rf /opt/*
    [root@localhost ~]# echo 123 > /opt/A.txt
    [root@localhost ~]# ln -s /opt/A.txt /opt/B.txt #软链接
    [root@localhost ~]# ls /opt/
    [root@localhost ~]# ln /opt/A.txt /opt/C.txt #硬链接
    [root@localhost ~]# ls /opt/
    [root@localhost ~]# cat /opt/B.txt
    [root@localhost ~]# cat /opt/C.txt
    [root@localhost ~]# rm -rf /opt/A.txt
    [root@localhost ~]# ls /opt/
    [root@localhost ~]# cat /opt/B.txt #软链接失效
    cat: /opt/B.txt: 没有那个文件或目录
    [root@localhost ~]# cat /opt/C.txt #硬链接仍然有效

    十九、zip归档工具,跨平台(Windows与Linux)

    归档+压缩操作: zip [-r] 备份文件.zip 被归档的文档…

    -r:被归档的数据有目录,必须加上此选项

    ]# zip   -r     /opt/abc.zip        /etc/passwd     /home
    ]# ls   /opt
    
    • 1
    • 2

    /

    -d: 释放归档+解压操作

    unzip 备份文件.zip [-d 目标文件夹]

    ]# unzip -l  /root/abc.zip   #查看压缩包的内容
    ]# mkdir   /nsd20
    ]# unzip       /opt/abc.zip       -d    /nsd20
    ]# ls   /nsd20
    ]# ls   /nsd20/etc/
    ]# ls   /nsd20/home/
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    二十、构建本的Yum仓库

    [root@localhost ~]# mkdir  /nsd20
    [root@localhost ~]# ls /nsd20
    [root@localhost ~]# mount  /dev/cdrom  /nsd20
    mount: /dev/sr0 写保护,将以只读方式挂载
    [root@localhost ~]# ls    /nsd20
    [root@localhost ~]# rm  -rf  /etc/yum.repos.d/*
    [root@localhost ~]# vim   /etc/yum.repos.d/my.repo
    [centos]
    name=CentOS  # 名字随意起的,建议有标识作用
    baseurl=file:///nsd20
    enabled=1
    gpgcheck=0
    [root@localhost ~]# yum -y install  xorg-x11-apps
    [root@localhost ~]# xeyes
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    二十一、用户管理简介

    用户账户

    作用: 1.可以登陆操作系统 2.不同的用户具备不同的权限
    唯一标识:UID(编号从0开始的编号,默认最大60000)
    zhangsan(UID 1200)
    管理员root的UID:永远为0
    普通用户的UID:默认从1000开始

    组账户

    作用: 方便管理用户
    唯一标识:GID(编号从0开始的编号,默认最大60000)
    sg(1500)
    原则:Linux一个用户必须至少属于一个组

    组账户的分类:

    基本组:系统创建与用户同名
    附加组(从属组):由管理员创建,由管理员进行加入
    ]# useradd zhangsan
    组: zhangsan
    组:sg xs mn haha xixi student

    本地账户的数据文件

    /etc/passwd、/etc/shadow
    /etc/group、/etc/gshadow
    /etc/passwd:存放用户基本信息配置文件

    [root@localhost ~]# head -1  /etc/passwd
    root:x:0:0:root:/root:/bin/bash
    用户名:密码占位符:UID:基本组GID:用户描述信息:家目录:解释器
    用户账号创建
    
    • 1
    • 2
    • 3
    • 4

    命令useradd

    格式:useradd [选项]… 用户名
    常用命令选项
    -u:指定 用户UID
    -d:指定宿主目录(家目录),缺省为 /home/用户名
    -G:指定所属的附加组
    -s:指定用户的登录解释器
    -u:指定 UID 编号

    [root@localhost ~]# useradd   nsd01
    [root@localhost ~]# ls    /home/      #查看家目录的产生
    [root@localhost ~]# grep  nsd01   /etc/passwd #查看nsd01信息
    [root@localhost ~]# id   nsd01      #查看nsd01用户基本信息
    [root@localhost ~]# id  gaga
    id: gaga: no such user    #无此用户
    [root@localhost ~]# useradd -u 1500 nsd02 #指定UID创建用户
    [root@localhost ~]# id  nsd02       #查看nsd02用户基本信息
    [root@localhost ~]# grep  nsd  /etc/passwd  #查看用户信息
    [root@localhost ~]# useradd  nsd03
    [root@localhost ~]# grep nsd /etc/passwd   
    [root@localhost ~]# id  nsd03
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    -d:指定宿主目录(家目录),缺省为 /home/用户名

    [root@localhost ~]# useradd -d   /opt/nsd04      nsd04
    [root@localhost ~]# grep  nsd04  /etc/passwd
    [root@localhost ~]# ls  /opt/
    [root@localhost ~]# useradd  -d   /opt/haha05       nsd05
    [root@localhost ~]# grep  nsd05  /etc/passwd
    [root@localhost ~]# ls /opt/
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    -G:指定所属的附加组

    [root@localhost ~]# groupadd  stugrp   #单独创建stugrp组
    [root@localhost ~]# useradd  -G  stugrp  nsd06
    [root@localhost ~]# id  nsd06
    uid=1504(nsd06) gid=1505(nsd06) 组=1505(nsd06),1504(stugrp)
    [root@localhost ~]# useradd -G stugrp nsd07
    [root@localhost ~]# id nsd07
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    -s:指定用户的登录解释器

    shell:壳,解释器
    用户---->解释器---->内核---->硬件

    /sbin/nologin:禁止用户登录操作系统
    [root@localhost ~]# useradd -s /sbin/nologin   nsd10
    [root@localhost ~]# grep nsd10 /etc/passwd
    [root@localhost ~]# useradd -s /sbin/nologin   nsd11
    [root@localhost ~]# grep nsd11 /etc/passwd
    
    • 1
    • 2
    • 3
    • 4
    • 5

    usermod命令

    格式:usermod [选项]… 用户名
    常用命令选项
    -l:更改用户帐号的登录名称
    -u:用户id
    -d:家目录路径
    -s:登录解释器
    -G:附加组 //重置附加组

    ]# useradd nsd13
    ]# id nsd13
    ]# grep  nsd13  /etc/passwd
    ]# usermod   -l  stu13   nsd13       #修改用户名字
    ]# id stu13
    ]# usermod  -u 1600   stu13           #修改用户的UID
    ]# id  stu13
    ]# usermod -s  /sbin/nologin   stu13#修改用户的解释器程序
    ]# grep  stu13   /etc/passwd
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    -d:家目录路径(不会自动创建家目录)

    [root@localhost ~]# useradd nsd15
    [root@localhost ~]# grep nsd15 /etc/passwd
    nsd15:x:1601:1601::/home/nsd15:/bin/bash
    [root@localhost ~]# ls /home/
    [root@localhost ~]# usermod -d   /etc/abc  nsd15
    [root@localhost ~]# grep  nsd15  /etc/passwd
    nsd15:x:1601:1601::/etc/abc:/bin/bash
    [root@localhost ~]# ls  /etc/abc
    ls: 无法访问/etc/abc: 没有那个文件或目录
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    -G:修改用户的附加组 #重置附加组

    [root@localhost ~]# useradd nsd16
    [root@localhost ~]# id nsd16
    uid=1602(nsd16) gid=1602(nsd16) 组=1602(nsd16)
    [root@localhost ~]# usermod -G stugrp nsd16
    [root@localhost ~]# id nsd16
    uid=1602(nsd16) gid=1602(nsd16) 组=1602(nsd16),1504(stugrp)
    [root@localhost ~]# groupadd tmooc   #创建组
    [root@localhost ~]# usermod -G tmooc  nsd16
    [root@localhost ~]# id nsd16
    uid=1602(nsd16) gid=1602(nsd16) 组=1602(nsd16),1603(tmooc)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    设置密码passwd命令

    格式:passwd [选项]… 用户名

    [root@localhost ~]# passwd  nsd01       #交互式设置
    更改用户 nsd01 的密码 。
    新的 密码:                             #输入新密码
    无效的密码: 密码少于 8 个字符
    重新输入新的 密码:                #重新输入新密码
    passwd:所有的身份验证令牌已经成功更新。
    [root@localhost ~]# su  -  nsd01       #临时切换用户身份
    [nsd01@localhost ~]$ passwd 
    更改用户 nsd01 的密码 。
    为 nsd01 更改 STRESS 密码。
    (当前)UNIX 密码:           #输入旧密码
    新的 密码:                          #输入新密码
    重新输入新的 密码:             #重新输入新密码
    passwd:所有的身份验证令牌已经成功更新。
    [nsd01@localhost ~]$  exit    #退出。回到root用户身份
    passwd命令,支持非交互式设置密码
    --stdin:从标准输入(比如管道)取密码
    ]# echo 123   |   passwd  --stdin nsd01
    ]# echo 123456   |   passwd  --stdin nsd01
    ]# echo redhat   |   passwd  --stdin nsd01
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    /etc/shadow,保存密码字串/有效期等信息

    每个用户记录一行,以:分割为9个字段

    [root@localhost ~]# grep nsd01  /etc/shadow
    nsd01:$6$NVe937Nd$B0n94XrpQ.LipQHTpYh0iV/M4jCLdccfHxzRLprdxDzwk8WDDh/TzdTfh8lA9y9WKJ.8Ls/l5.w/1W.nV6CFX/:18481:0:99999:7:::
    上一次修改密码的时间:自1970-1-1到达上一次修改密码的时间,所经历的天数
    
    字段1:用户帐号的名称
    字段2:加密后的密码字符串
    字段3:上次修改密码的时间
    字段4:密码的最短有效天数,默认0
    字段5:密码的最长有效天数,默认99999
    字段6:密码过期前的警告天数,默认7
    字段7:密码过期后多少天禁用此用户账号
    字段8:帐号失效时间,默认值为空
    字段9:保留字段(未使用)
    
    /etc/shadow,保存密码字串/有效期等信息
    强制用户初次登录时修改密码     
    [root@svr1 ~]# useradd  harry
    [root@svr1 ~]# echo 123 |  passwd --stdin harry
    [root@localhost ~]# vim   /etc/shadow
    ………
    harry:$6$Y7P/HqvZ$roWXwACsX.pUY9GUKLQMRVHjygMWmiN8m45jYY3Tt.tPFDWVxJIdE7gyKHWo1/UKQC7ocEke5Uu8gKN8jydkp1:0:0:99999:7:::
    上一次修改密码的时间:自1970-1-1到达上一次修改密码的时间,所经历的天数,修改成0
    强制保存并退出
    用户初始配置文件
    主要的初始配置文件      
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    ~/.bashrc:每次进入新的Bash环境时执行(开启新的终端)

    [root@localhost ~]# vim   /root/.bashrc     #定义永久别名
    ……
    alias   hn='hostname'
    ……
    开启新的终端进行测试:
    [root@localhost ~]# hn
    /etc/bashrc:全局配置文件,影响全体用户 (开启新的终端)
    [root@localhost ~]# vim   /etc/bashrc 
    …….
    alias   xixi='echo  xixihaha'   
    …….
    [root@localhost ~]# useradd  nsd20
    [root@localhost ~]# su  -  nsd20      #相当于开启新的终端
    [nsd20@localhost ~]$ xixi
    xixihaha
    [nsd20@localhost ~]$ exit
    登出
    [root@localhost ~]#
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    删除用户userdel命令

    格式:userdel [-r] 用户名

    添加 -r 选项,宿主目录/用户邮件也一并删除
    [root@localhost ~]# userdel -r nsd01  #连同家目录一并删除
    [root@localhost ~]# userdel  nsd02  #不删除家目录,只删除用户信息
    
    • 1
    • 2
    • 3

    总结:Linux系统执行useradd命令,会完成那些操作?

    1.会在/etc/passwd增加一行信息
    2.会在/etc/shadow增加一行信息
    3.会在/home新增用户家目录
    4.会在/var/spool/mail增加用户邮件文件
    5.会在/etc/group增加一行组信息
    6.会在/etc/gshadow增加一行组的管理信息

    总结:Linux系统执行userdel -r命令,会完成那些操作?

    1.会在/etc/passwd删除一行信息
    2.会在/etc/shadow删除一行信息
    3.会在/home删除用户家目录
    4.会在/var/spool/mail删除用户邮件文件
    5.会在/etc/group删除一行组信息
    6.会在/etc/gshadow删除一行组的管理信息

    组账户管理

    /etc/group,保存组帐号的基本信息
    每个组记录一行,以:分割为4个字段

    [root@localhost ~]# grep stugrp /etc/group
    stugrp:x:1504:nsd06
    组名:组密码占位符:组的GID:组成员列表
    [root@localhost ~]# groupadd tarena     #新建一个组
    [root@localhost ~]# grep tarena  /etc/group  #查看组信息
    tarena:x:1607:
    [root@localhost ~]# useradd  kaka
    [root@localhost ~]# useradd  nb
    [root@localhost ~]# useradd  jack
    [root@localhost ~]# useradd  kenji
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    gpasswd命令

    格式:gpasswd [选项]… 组名
    常用命令选项
    -a:添加组成员,每次只能加一个
    -d: 删除组成员,每次只能删一个
    -M:定义组成员用户列表,可设置多个

    ]# gpasswd -a kaka tarena     #添加用户kaka到tarena组
    ]# grep tarena /etc/group     #查看组信息
    ]# id kaka
    ]# gpasswd -a nb  tarena         #添加用户nb到tarena组
    ]# grep tarena /etc/group
    ]# gpasswd  -M ‘jack,kenji’  tarena   #定义组成员列表
    ]# grep   tarena   /etc/group
    ]# gpasswd -a nb  tarena
    ]# grep  tarena  /etc/group
    ]# gpasswd -d nb  tarena      #将nb用户从tarena组中删除
    ]# grep   tarena  /etc/group   
    ]# gpasswd  -M ‘’  tarena   #删除组中所有成员
    ]# grep   tarena   /etc/group
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    -A:定义组管理员列表

    [root@localhost ~]# su - nb
    [nb@localhost ~]$ gpasswd -a kaka tarena
    gpasswd:没有权限。
    [nb@localhost ~]$ exit
    [root@localhost ~]# gpasswd -A nb tarena   #设置组管理员
    [root@localhost ~]# su - nb
    [nb@localhost ~]$ gpasswd -a kaka tarena
    正在将用户“kaka”加入到“tarena”组中
    [nb@localhost ~]$ exit
    [root@localhost ~]#
    /etc/gshadow:组的管理信息配置文件
    [root@localhost ~]# grep tarena  /etc/gshadow
    tarena:!:nb:
    组名:密码加密字符串:组的管理员列表:组成员列表
    [root@localhost ~]# gpasswd -A 'nb,kenji' tarena  #设置多个组管理员
    [root@localhost ~]# gpasswd -A '' tarena  #删除所有的组管理员
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    总结:用户与组重要的配置文件

    /etc/passwd:用户基本信息配置文件
    /etc/shadow:用户密码信息配置文件
    /etc/group:组基本信息配置文件
    /etc/gshadow:组管理信息配置文件

    删除组账号:删除组的时候,不可以删除基本组

    [root@localhost ~]# groupdel  tarena
    [root@localhost ~]# groupdel  tmooc
    [root@localhost ~]# grep  tmooc  /etc/group
    [root@localhost ~]# grep  tarena  /etc/group
    
    • 1
    • 2
    • 3
    • 4

    二十二、计划任务

    用途:按照设置的时间间隔为用户反复执行某一项固定的系统任务

    软件包:cronie、crontabs
    系统服务:crond
    日志文件:/var/log/cron
    使用 crontab 命令
    编辑:crontab -e [-u 用户名]
    查看:crontab -l [-u 用户名]
    清除:crontab -r [-u 用户名]
    计划任务书写格式
    分 时 日 月 周 任务命令行(绝对路径)


    30 8 * * * #每天早上8:30 执行一次
    30 23 * * * #每天晚上23:30 执行一次
    30 23 * * 5 #每周的周五23:30 执行一次
    30 23 * * 1-5 #每周的周一至周五23:30 执行一次
    30 23 * * 1,3,6 #每周的周一周三周六23:30 执行一次
    30 23 1 * 1 #每月的1号或每周一晚上23:30 执行一次

    • *    *    *   *          #每分钟运行一次
      
      • 1

    */5 * * * * #每隔5分钟运行一次
    3 */2 * * * #每隔2小时运行一次
    *:匹配范围内任意时间
    ,:分隔多个不连续的时间点
    -:指定连续时间范围
    /n:指定时间频率,每n …

    案例:

    每分钟记录当前的系统时间,写入/opt/time.txt
    [root@localhost ~]# date
    [root@localhost ~]# date  >>  /opt/time.txt
    [root@localhost ~]# cat /opt/time.txt
    [root@localhost ~]# which  date   #查看date命令对应的程序
    [root@localhost ~]# crontab  -e        #编写计划任务
    *   *   *   *   *    /usr/bin/date  >>  /opt/time.txt
    [root@localhost ~]# crontab  -l           #查看计划任务内容
    *  *  *   *   *     /usr/bin/date  >>  /opt/time.txt
    [root@localhost ~]# cat  /opt/time.txt
    [root@svr1 ~]# ls /var/spool/cron/
    root
    [root@svr1 ~]# cat   /var/spool/cron/root   #记录root用户计划任务
    *  *  *  *  *   /usr/bin/date  >>  /opt/time.txt
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    二十三、重定向(重新定向命令的输出)

    将前面命令的输出,作为内容,写入到后面的文件
    >: 覆盖重定向
    >>:追加重定向

    [root@A /]# head -5  /etc/passwd > /opt/p.txt
    [root@A /]# cat  /opt/p.txt
    [root@A /]# hostname 
    [root@A /]# hostname  >>  /opt/p.txt 
    [root@A /]# cat  /opt/p.txt
    ]# echo 123456  	
    ]# echo 123456  >  /opt/p.txt
    ]# cat  /opt/p.txt
    ]# cat  /etc/hostname 
    ]# echo  nb.tedu.cn  >  /etc/hostname
    ]# cat  /etc/hostname
    ]# > /opt/p3.txt   #清空文件内容
    ]# cat /opt/p3.txt
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    二十四、du,统计文件的占用空间

    -s:只统计每个参数所占用的总空间大小
    -h:提供易读容量单位(K、M等)

    [root@localhost ~]# du  -sh   /root
    [root@localhost ~]# du  -sh   /etc
    [root@localhost ~]# du  -sh   /boot
    [root@localhost ~]# du  -sh   /
    
    • 1
    • 2
    • 3
    • 4
  • 相关阅读:
    Web APIs(正则表达式)
    思科防火墙解析(ASA)
    qmake eval(string) 函数
    [附源码]计算机毕业设计JAVA校园跑腿系统
    『无为则无心』Python日志 — 69、补充:logging.basicConfig()函数说明
    【课上笔记】第八章 图
    什么是数据管理,数据治理,数据中心,数据中台,数据湖?
    大规模场景下对Istio的性能优化
    【Linux】vim
    学会make/makefile基本用法
  • 原文地址:https://blog.csdn.net/kklv__lo/article/details/127899422