ADMIN云计算系统管理

news2024/11/13 11:09:05

云计算系统管理

  • 一、inux简介
    • Unix/Linux发展史
    • 操作系统 —— UNICS,后改为UNIX
    • Linux版本及应用
    • Red Hat系列版本
    • 二、Linux系统的安装
  • 三、Linux预备知识
    • Linux目录结构
  • 四、Linux基本操作
    • 获取命令行
    • 右键“打开终端”
    • 命令行提示符
    • pwd — Print Working Directory
    • cd — Change Directory
    • ls — List
    • cat
    • less
    • hostname
    • lscpu
    • 列出内存信息
    • 查看网卡的IP地址
    • mkdir创建目录
    • touch创建文本文件
    • head、tail 命令(查看部分文件内容)
    • grep命令过滤文本文件内容
    • vim修改文本文件内容(文本编辑器)
    • 关机poweroff与重启reboot
  • 五、Linux命令行基础
    • Linux命令
    • 命令的执行依赖于解释器(默认解释器/bin/bash)
    • 命令行完整格式:
    • Tab键自动补全
    • 快捷键
    • 光盘镜像文件中软件包
  • 六、mount挂载操作:让目录成为设备的访问点
    • 命令行显示光盘内容
    • 查看Linux光驱设备
    • 挂载操作
    • 卸载操作
    • 注意事项:
  • 七、目录与文件管理
    • cd的命令使用
    • ls — List
    • 使用通配符
    • 别名的定义:简化复杂的命令
    • mkdir — Make Directory
    • rm 删除
    • mv — Move移动:源数据会消失
    • cp — Copy:源数据不会消失
    • 在文本文件中过滤,包含指定字符串的行
  • 八、归档及压缩
    • 归档的含义
    • 压缩的含义
  • tar 集成备份工具
    • tar 制作压缩包(tar打包)
    • tar 释放压缩包(tar解包)
    • 创建一个备份包
  • 九、管道(操作符号 | )
  • 十、grep高级使用
  • 十一、find精确查找
    • `-type ` 类型(f文本文件、d目录、l快捷方式)
    • -name "文档名称"
    • -size +或- 文件大小(k、M、G)
    • -user 用户名 (按照数据的所有者)
    • -mtime 修改时间 (所有的时间都是过去时间)
  • 十二、find高级使用
    • 处理find找到的数据,每查找的一个就传递一次
    • 查找并处理文件
  • 十三、vim编辑技巧
    • 复制/粘贴/删除/撤销
    • 查找/撤销/保存
    • 末行模式操作
    • 字符串替换
    • 开关参数的控制
    • vim常见故障:删除交换文件
  • 十四、Yum的使用
    • 安装软件
    • 卸载软件
    • 查询
    • 清空缓存
    • 删除/usr/bin/zip程序,然后通过yum工具进行恢复
  • 十五、命令补充
    • 方式一:命令 --help
    • 方式二:man 命令
  • 十六、历史命令
    • 管理/调用曾经执行过的命令
  • 十七、date,查看/调整系统日期时间
  • 十八、制作链接文件(制作快捷方式)
    • 格式:ln -s /路径/源数据 /路径/快捷方式的名称 #软链接
    • 软链接优势:可以针对目录与文件制作快捷方式,支持跨分区
    • 软链接缺点:源数据消失,快捷方式失效
    • 格式:ln /路径/源数据 /路径/快捷方式的名称 #硬链接
    • 硬链接优势:源数据消失,快捷方式仍然有效
    • 硬链接缺点:只能针对文件制作快捷方式,不支持支持跨分区
  • 十九、zip归档工具,跨平台(Windows与Linux)
    • 归档+压缩操作: zip [-r] 备份文件.zip 被归档的文档...
    • `-r`:被归档的==数据有目录,必须加上此选项==
    • `-d`: 释放归档+解压操作
  • 二十、构建本的Yum仓库
  • 二十一、用户管理简介
    • 用户账户
    • 组账户
    • 组账户的分类:
    • 本地账户的数据文件
    • 命令useradd
    • `-d`:指定宿主目录(家目录),缺省为 /home/用户名
    • `-G`:指定所属的附加组
    • `-s`:指定用户的登录解释器
    • usermod命令
    • `-d`:家目录路径(不会自动创建家目录)
    • `-G`:修改用户的附加组 #重置附加组
    • 设置密码passwd命令
    • /etc/shadow,保存密码字串/有效期等信息
    • ~/.bashrc:每次进入新的Bash环境时执行(开启新的终端)
    • 删除用户userdel命令
    • 总结:Linux系统执行useradd命令,会完成那些操作?
    • 总结:Linux系统执行userdel -r命令,会完成那些操作?
    • 组账户管理
    • gpasswd命令
    • `-A`:定义组管理员列表
    • 总结:用户与组重要的配置文件
    • 删除组账号:删除组的时候,不可以删除基本组
  • 二十二、计划任务
    • 用途:按照设置的时间间隔为用户反复执行某一项固定的系统任务
    • 案例:
  • 二十三、重定向(重新定向命令的输出)
  • 二十四、du,统计文件的占用空间

一、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  /     #查看根目录内容
  • 绝对路径:以根开始的路径
  • 相对路径:以当前为参照的路径
]# 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
/
  • 目录:蓝色
  • 文本文件:黑色

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  #查看系统版本

less

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

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

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 #使用命令设置主机名

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

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
......

列出内存信息

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

查看网卡的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:结束正在运行命令

mkdir创建目录

[root@A ~]# mkdir   /opt/test
[root@A ~]# ls   /opt/
[root@A ~]# mkdir  /root/nsd01
[root@A ~]# ls  /root/

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/

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

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

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

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

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

命— 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 # 重启

五、Linux命令行基础

Linux命令

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

]# hostname
]# which  hostname     #查询命令对应的程序
]# ls  /usr/bin/hostname
]# which ifconfig     #查询命令对应的程序

命令的执行依赖于解释器(默认解释器/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/  #默认显示目录内容的详细属性

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)

快捷键

  • Ctrl + c:结束正在运行的命令
  • Esc+.或Alt+.:粘贴上一个命令的参数
[root@localhost ~]# ls  /etc/hosts
[root@localhost ~]# ls  -l  Alt + . 
[root@localhost ~]# cat  Alt + . 
[root@localhost ~]# cat  -n  Alt + .
  • 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

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

挂载操作

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

卸载操作

]# umount   /dvd
]# ls  /dvd/
]# mkdir  /mydvd
]# mount /dev/cdrom  /mydvd
mount: /dev/sr0 写保护,将以只读方式挂载
]# ls  /mydvd

注意事项:

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

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

-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/

使用通配符

  • 针对不确定的文档名称,以特殊字符表示
  • *:任意多个任意字符
    [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

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

rm 删除

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

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

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

重命名:路径不变的移动

]# ls   /opt/
]# mv   /opt/nsd01   /opt/abc
]# ls   /opt/
]# mv   /opt/abc/   /opt/student
]# ls   /opt/
]# mv  /opt/student    /mnt/stu01
]# ls  /mnt/

cp — Copy:源数据不会消失

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

重名进行强制覆盖

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

\: 临时取消别名

  • 复制可以支持重新命名,目标路径下数据的名称
]# 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/
  • 复制可以支持两个以上的参数,永远把最后一个参数作为目标其他的所有的参数都作为源数据
]# mkdir  /nsd05
]# cp -r /home/  /etc/passwd   /boot/  /etc/shells   /nsd05
]# ls   /nsd05
  • 复制与一个点进行连用,将数据复制到当前路径下
]# cd    /etc/sysconfig/network-scripts/
]# pwd
]# cp   /etc/passwd     .  
]# ls

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

格式: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
  • 常用命令选项
    ·-v·:取反匹配(不包含)
    -i:忽略大小写
]# grep  root   /etc/passwd
]# grep  -v   root  /etc/passwd
]# grep  ROOT  /etc/passwd
]# grep  -i  ROOT  /etc/passwd

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

]# grep  ^root   /etc/passwd
]# grep  ^bin    /etc/passwd
]# grep  root$    /etc/passwd
]# grep  bash$   /etc/passwd

^$ 表示空行
]# 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/

tar 释放压缩包(tar解包)

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

]# mkdir /nsd01     
]# tar -xf  /root/haha.tar.bz2  -C  /nsd01
]# ls  /nsd01
]# ls  /nsd01/etc
]# ls  /nsd01/home

创建一个备份包

使用 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包内容

九、管道(操作符号 | )

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

]# 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

十、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  # 过滤命令的输出

十一、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

-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

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

]# find  /boot/  -size  +300k
]# find  /boot/  -size  +10M
]# find  /boot/  -size  +1M
]# find  /boot/  -size  +10M    -size  -50M

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

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

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

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

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

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

十二、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/

查找并处理文件

利用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/

十三、vim编辑技巧

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

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

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

]# cp   /etc/passwd    /opt/pass.txt
]# vim   /opt/pass.txt   

操作

复制/粘贴/删除/撤销

复制/粘贴/删除/撤销

查找/撤销/保存

复制/粘贴/删除/撤销

末行模式操作

		: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

字符串替换

字符串替换

开关参数的控制

开关参数的控制

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

常见故障


十四、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

卸载软件

[root@localhost ~]# yum   remove   gcc
[root@localhost ~]# yum   remove   httpd

查询

[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  #仓库中那个软件包产生该文件

清空缓存

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

删除/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

十五、命令补充

方式一:命令 --help

[root@localhost ~]# cat  --help

方式二:man 命令

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

十六、历史命令

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

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开头的历史命令

十七、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    #显示时:分

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

格式: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

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

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

[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 ~]#

格式: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

/

-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/

二十、构建本的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.不同的用户具备不同的权限
唯一标识: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:用户描述信息:家目录:解释器
用户账号创建

命令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

-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/

-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

-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

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

-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: 没有那个文件或目录

-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)

设置密码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

/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
强制保存并退出
用户初始配置文件
主要的初始配置文件      

~/.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 ~]#

删除用户userdel命令

格式:userdel [-r] 用户名

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

总结: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

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

-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  #删除所有的组管理员

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

/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

二十二、计划任务

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

软件包: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 执行一次

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

*/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

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

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

[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

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

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

[root@localhost ~]# du  -sh   /root
[root@localhost ~]# du  -sh   /etc
[root@localhost ~]# du  -sh   /boot
[root@localhost ~]# du  -sh   /

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/13329.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

01-微服务探讨(摘)

1. 前言 1.1 微服务目的 有效地拆分应用,实现敏捷开发和部署,最终的目标是实现敏捷开发和部署,实现的方式是围绕业务能力*有效地拆分应用*。 微服务就是从各种角度,包括组织的、技术的等来阐释怎样有效地拆分应用,相对…

SSM-Spring

Spring Framwork 1. 核心概念 1.1 IoC控制反转 inversion of control控制反转 使用对象是主动由外部提供对象,此过程对象创建控制权由程序转移到外部。 Spring 提供IoC容器,用来充当IoC思想中的外部。负责创建和初始化等工作,被创建的对象再…

04-HTTPS证书格式及转换

PEM格式的证书文件(*.pem)由Base64编码的二进制内容和开头行(-----BEGIN CERTIFICATE-----)、结束行(-----END CERTIFICATE-----)组成,支持使用EditPlus等文本编辑器打开。本文介绍了将不同格式…

[附源码]java毕业设计教室用电控制系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

数据库的备份和还原(slqserver)

数据库的备份 1.语法&#xff1a; BACKUP DATABASE { database_name | database_name_var } TO <backup_device> [,...n] [ WITH{COPY_ONLY| NAME {backup_set_name | backup_set_name_var }| { NOINIT | INIT }| DESCRIPTION { test | text_variable }| PASSWORD { …

双端队列(双端bfs)解决边权只包含0和1的最短路问题

电路维修 达达是来自异世界的魔女&#xff0c;她在漫无目的地四处漂流的时候&#xff0c;遇到了善良的少女翰翰&#xff0c;从而被收留在地球上。 翰翰的家里有一辆飞行车。有一天飞行车的电路板突然出现了故障&#xff0c;导致无法启动。电路板的整体结构是一个 R行 C 列的网…

关于 re.sub 部分替换的解决办法

关于 re.sub 部分替换的解决办法写作背景问题重现解决办法代码详解结尾写作背景 最近本菜鸡遇到一个问题&#xff0c;我想将字符串中某一部分替换成指定内容&#xff0c;而且为了定位到要替换的内容&#xff0c;所以使用正则的时候还需要前后一些字符作为锚点&#xff0c;这可…

linux下基本命令

linux下基本命令一、linux相关快捷键二、linux下内部命令和外部命令2.1 内建命令2.2 外部命令2.3 内建命令和外部命令对比2.4 命令类型查看方法2.4 内建命令和外部命令帮助三、man手册四、相对路径和绝对路径五、pwd和cd命令六、mkdir创建目录七、rmdir删除目录八、linux文件类…

JMeter如何自定义HTTP组件

JMeter是一个优秀的开源项目&#xff0c;我们可以在jmeter的官网了解到如何使用和如何二次开发&#xff1a;Apache JMeter - Apache JMeter™ 因工作需要&#xff0c;最近做了一个JMeter自定义的http组件&#xff08;其实就是在http的基础上加了点东西而已&#xff09;。现就该…

TCO-PEG5-amine,NH2-PEG5-TCO,反式环辛烯-五聚乙二醇-氨基广泛应用于生物学研究

TCO-PEG5-NH2中英文名&#xff1a; CAS号&#xff1a;N/A | 英文名&#xff1a;TCO-PEG5-amine&#xff0c;TCO-PEG5-NH2 |中文名&#xff1a;反式环辛烯-五聚乙二醇-氨基TCO-PEG5-NH2物理参数&#xff1a; CASNumber&#xff1a;N/A Molecular formula&#xff1a;C21H40N2O7…

没有实施APS软件的工厂,常常面临的问题

对于制造工厂车间的运行而言&#xff0c;计划是核心的业务。制造工厂面对这么多订单并行生产执行、受制于有限的制造资源&#xff0c;如何安排次序、如何权衡轻重缓解&#xff0c;其实都是计划的范畴&#xff0c;计划执行过程总是受到各种形式的干扰或冲击&#xff0c;如何综合…

虹科分享 | 网络性能监控 | 网络中的应用性能意味着什么?

TCP协议的可靠性 数据包丢失是对网络的破坏&#xff0c;因为它导致延迟。TCP协议建立了可靠的数据传输&#xff0c;但掩盖了丢包的影响。TCP确保数据的传输是基于一个叫做 "滑动窗口 "的概念。这种机制控制着传输的字节序列和收到的确认。 在排序的帮助下&#xff…

项目管理之信息文档管理与配置管理(第一篇)

目录 前言 一、软件文档的分类 1.开发文档 2.产品文档 3.管理文档 二、文档质量的四个等级 1.1级文档 2.内部文档&#xff08;2级&#xff09; 3.工作文档&#xff08;3级文档&#xff09; 4.正式文档&#xff08;4级文档&#xff09; 三、配置管理 1.配置管理的定义…

XCTF-web1文件包含绕过file include

场景一&#xff1a; fileclude 题目描述 好多file呀&#xff01; 进入场景 给出PHP源码 包含flag.php文件 GET获取两个参数file1和file2 当参数不为空时&#xff0c;使用file_get_contents()函数将文件内容读入字符串&#xff0c;判断是否为"hello ctf" 利用ph…

vue项目前端优化处理方案整理

vue项目前端优化处理 目录 vue项目前端优化处理 路由懒加载 按需引入模块 外部资源引入&#xff0c;cdn加载 移除项目中所有的console.log()控制台信息数据打印 是否在构建生产包时生成sourcdeMap 上传图片文件压缩 开启gizp压缩 前端页面代码优化 路由懒加载 路由懒…

【深度学习】特征图的上采样(nn.Upsample)和转置卷积(nn.ConvTranspose2d) | pytorch

文章目录前言一、nn.Upsample 上采样二、nn.ConvTranspose2d 转置卷积前言 这次就不废话了&#xff0c;我想赶在10点前回去洗头&#xff08;现在9.17&#xff0c;还差一篇文章&#xff09; 一、nn.Upsample 上采样 该函数有四个参数&#xff1a; 参数的介绍如下&#xff1a…

工厂模式(Factory Pattern) 与抽象工厂模式(Abstract Factory Pattern)

工厂模式&#xff08;Factory Pattern) 与抽象工厂模式&#xff08;Abstract Factory Pattern&#xff09; 工厂模式属于构造型模式&#xff0c;是项目中最常用到的一种设计模式。它的主要作用是提供一种简单的创建对象的方式&#xff0c;使用者无需知道创建实例的细节以及需要…

重启虚拟机启动Docker常见问题

文章目录重启虚拟机启动Docker常见问题一、Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?二、admin is not in the sudoers file. This incident will be reported.&#xff08;没有这个问题请自觉跳过&#xff09;三、…

华清远见11.17

1.在用户空间中有个字符数组&#xff0c;要求在内核空间打印&#xff0c;用dmesg查看。&#xff08;ioctl实现&#xff09; zy.h&#xff0c;封装一个发送用的命令码 #ifndef __LED_H__ #define __LED_H__ #define UACCESS_BUF _IOW(a,1,char [128]) #endif zy.c 申请并自动创…

2022 开源之夏|EMQ 三大开源项目开发圆满收官

今年暑假&#xff0c;EMQ 携手开源之夏&#xff0c;与高校学生开展了一场精彩纷呈的开源之旅。开源之夏&#xff08;OSPP&#xff09;是由中科院软件所「开源软件供应链点亮计划」发起的、面向高校学生的暑期开源活动&#xff0c;旨在鼓励在校学生积极参与开源软件的开发维护&a…