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  /     #查看根目录内容
  • 绝对路径:以根开始的路径
  • 相对路径:以当前为参照的路径
]# 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   /
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

OLoyy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值