Linux基础入门(本人亲身体验的学习笔记)

一.Linux系统简介
1.UNIX诞生于1970年1月1日
2.Linux系统
<1>1991年10月公布0.02版本内核
<2>1994年3月公布1.0版内核
<3>标准读音:丽娜克斯
3.内核:调配计算机硬件资源
<1> 用户 内核 硬件
<2> 内核版本号:主版本号.次版本号.修订号
二.Linux安装

  1. 真机为Linux系统安装虚拟机为KVM
    真机为windows系统安装虚拟机为VMware
    Linux7系统最小安装需要512M内存

  2. /分区
    <1> 包含分区(目录)/bin,/sbin,/boot,/dev,/etc,/home,/root,/var,/tmp,/lib,/mnt
    /bin存放二进制可执行文件
    /sbin存放二进制可执行文件,只有root才能访问
    /boot存放用于系统引导时使用的各种文件
    /dev用于存放设备文件
    /etc存放系统配置文件
    /home存放用户文件的根目录
    /root超级用户目录
    /var用于存放运行时需要改变数据的文件
    /tmp用于存放各种临时文件
    /usr用于存放共享的系统资源
    /lib存放跟文件系统中的程序运行所需要的共享库及内核模块
    /mnt系统管理员安装临时文件系统的安装点
    <2>/abc/1.txt /根目录下abc目录中1.txt文件
    第一个/表示根分区,第二/表示分割符

  3. unix和Linux的基本哲学原理:一切皆文件

  4. 磁盘接口类型:
    hd表示IDE
    sd表示SCSI
    / dev / sda
    设备所在位置 磁盘顺序号

  5. 虚拟器控制台切换:Ctrl + Alt +Fn组合键
    -tty1:图形桌面 -tty2…tty6:字符控制台

  6. 字体大小
    字体变大“Ctrl” + “Shift” + “+” 字体变小“Ctrl” + “-”

  7. List item

三.Linux命令

List item

1.【root@wbh1~】#root代表管理员用户,wbh1代表当前机器
2.#代表管理员用户, $代表普通用户
3.pwd查看当前工作目录
4.cd / 进入/目录(选定目录)
5.ls / 列出/目录内容(选定目录)
6.Linux中蓝色 表示目录(即文件夹) 黑色 表示文件 红色 表示压缩包
7.目录后面可以带/,也可以不带/,文件后面不可以带/
如:cd /home/=cd /home cd /home/123.txt
8.绝对路径 以根目录开始的路径
相对路径 以当前所在位置为参照物的路径
9. . 表示当前目录
… 表示上级目录
命令: cd … 进入上一级目录
10.cat 查看文本文件内容
【1】命令: cat /root/123.txt 查看root中123.txt文本
【2】命令: cat /etc/redhat-release查看安装的系统版本
【3】命令: uname -r 查看内核信息
【4】命令: lsblk 列出块区
11.less 查看文本文件内容,适用于内容过大的文本文件(可以按上下键
进行滚动)
<1>在less命令执行时不打开编辑模式直接输入内容,即可进行全文查找关键字
<2>查询好关键字后,n代表切换下一个关键字,N代表切换上一个关键字
12.hostname 暂时修改当前用户的名字
【1】命令: hostname abc.123.w 将用户名暂时改为abc
【2】命令: hostname abc123w 将用户名暂时改为abc123w
名字只显示第一个点之前的名字,如果没有点则全部显示(关闭终端输入exit)
【3】命令: hostnamectl set-hostname abc123w 将用户名永久改为
abc123w
13.列出CPU和 内存信息
【1】命令: lscpu 查看CPU处理器信息
【2】命令: cat /proc/meminfo 查看内存信息
14.ifconfig 查看网卡IP地址信息(linux专用)
ipconfig 查看网卡IP地址信息(win专用)
(第一个网卡eth0,第二个网卡eth1,第三个网卡eth2,第n个网卡ethn-1)可以看到网卡,可以看到子网掩码,但是看不到网关 (Ctrl + c 终止上一个命令)
15.lo 本机回环接口,IP永远为127.0.0.1
命令: ifconfig eth0 192.168.1.1 临时将第一个网卡IP设置成192.168.1.1
16.mkdir 创建全新目录
【1】 命令:mkdir /home/wbh1在home目录下创建叫wbh1的目录
【2】命令: mkdir /home/wbh1 /home/wbh2
在home目录下创建叫wbh1的目录和叫wbh2的目录
17.touch 创建全新文件
【1】命令: touch /home/1.txt 在home目录下创建叫1.txt的文件
【2】命令: touch /home/1.txt /home/2.txt
在home目录下创建叫1.txt的文件和叫2.txt的文件
17.head 查看文件从前数部分内容 tail 查看文件从后数部分内容
【1】命令: head -13 /home/1.txt
查看home目录下叫1.txt文件的前13行
【2】命令: tail -13 /home/1.txt查看home目录下叫1.txt文件的后13行
17.grep 在一篇文章当中过滤含有关键字的行
命令: grep wbh /home/1.txt 查看1.txt文件中包含wbh关键字的行
18.vim 修改文本文件内容(文本编辑器)
三个模式 编辑(插入)模式,命令模式,末行模式
<1>当文件不存在时,会自动创建此文件
<2>vim不可创建目录
<3>编辑(插入)模式:输入i或o或a或C
命令模式:ESC键返回
末行模式:回到命令模式输入:wq
命令: vim /home/1.txt 在home目录下创建一个叫1.txt文件兵编辑
19.poweroff 关机 reboot 重启
四.命令行基础

  1. 什么是命令?
    <1> 用来实现某一类功能
    <2> 在Linux中执行大多数命令时,都要找到所对应的程序
    <3> 命令的执行依赖于解释器(默认解释器为/binbash)
    用户 解释器 内核 硬件
    命令: cat /etc/shells
    查看所有的解释器内容
  2. Linux命令的分类
    <1> 内部命令:属于解释器的一部分(占1%)
    <2> 外部命令:解释器之外的其他程序(占99%)
  3. Linux命令行的格式
    <1> 命令字 选项 参数 参数 参数 参数
    例如:ls -l /etc/passwd
    命令字 选项 参数
    【1】命令: cat -n /etc/shells 查看所有的解释器内容并以数字排序
    【2】命令: ls -l /etc/passwd 以长格式列出etc目录下的passwd
    <2> 选项 - 短选项(一般情况下后跟一个字母) -l,-h,-r,-f
    复合选项 由多个短选项组成 -lh,-ld
    – 长选项(一般情况下后跟一个单词) --help
  4. which:查找命令所对应的程序
    命令: which hostname 查询hostname所对应的程序
  5. Tab键:补全命令或者路径 双击Tab键:列出以给出字母开头的选项
  6. 快捷键
    Ctrl + c结束正在运行的命令
    Ctrl + l清理控制台面板或者终端界面
    Esc键 + .或Alt键 + .粘贴上一个命令的参数
    Ctrl + u在输入命令行时从光标处清除到行首
    Ctrl + w在输入命令行时往回删除一部分(以空格为一个界限)
    五. mount挂载操作
  7. 显示光盘内容
    <1>Windowd:光盘 —> 光驱设备 —> CD驱动器(图标)
    <2>Linux:虚拟机设置中的 CD/DEV驱动器或者SATA CDROM 1安装
    光盘文件 —> 光驱设备 —> 访问点(目录)
    【1】命令: ls /dev/cdrom 查看光盘光驱的快捷方式
    【2】命令: ls /dev/sr0查看光盘光驱
    设备文件不能用cd,cat,less命令打开
  8. 访问点(挂载点)
    <1>Windowd:每一个图标就是一个访问点
    <2>Linux: 需要用mount自己设计一个访问点,即目录
  9. mount 挂载光盘或分区
    【1】命令: mount /dev/cdrom /dvd
    将dev目录下的cdrom以只读方式挂载到dvd目录
    【2】命令: umount /dvd 在退出要卸载的目录为前提下卸载目录内容
    【3】命令: mount 显示系统的全部挂载
    (1)挂载点不能删除
    (2)一个设备可以有多个挂载点
    (3)一个挂载点只能有一个设备
    (4)卸载挂载点时不能在挂载点所在目录
    (5)在建立挂载点时需要创建一个崭新的目录
    六. Linux命令
  10. 家目录 专门存放用户个性化信息的目录
    /root 存放管理员用户个性化信息的家目录
    /home 存放普通用户个性化信息的家目录
    【1】命令: cd ~root 进入root管理员用户的家目录
    【2】命令: cd ~zhangsan 进入zhangsan普通用户的家目录
    2.useradd 建立新的用户
    命令: useradd zhangsan 建立一个叫张三的普用用户
    3.ls命令
    【1】命令: ls -l以长格式详细列出某一个地方的内容
    【2】命令: ls -lh以人类可阅读的长格式详细列出内容
    【3】命令: ls -ld显示详细目录属性的长格式,详细列出内容
    【4】命令: ls -A详细列出内容,包括以.开头的隐藏目录
    【5】命令: ls -a更加详细列出内容,包括以.开头的隐藏目录和…
    【6】命令: ls -R以递归的方式详细列出内容(即显示要找的目录以及目录
    中的子目录)
  11. 通配符* 针对任意多个字母 针对不确定的文档
    通配符? 针对单一字母 名称的代替符号
    【1】命令: ls /etc/tab 列出以tab结尾的文件
    【2】命令: ls /etc/vm
    列出以vm开头的文件
    【3】命令: ls /etc/vm* .txt 列出以vm开头以.txt结尾的文件
    【4】命令: ls /etc/vm?列出以vm开头后附带一个字母的文件
    【5】命令: ls /etc/vm? .txt 列出以vm开头以.txt结尾中间附带一个字
    母的文件
    ls /etc/r?? 明明打了??会出来一堆字符远超两个字符的文件?
    因为ls是列出文件或者目录,将r??当作文件则只会显示出要找的命令,如果是目录,则会列出相应目录下的文件
  12. [] 多个字符或者连续范围中的一个,若无则忽略
    {} 多组不同的字符串,全匹配(没法选中两位数及以上字符)
    【1】命令: ls /dev/tty[3-9] 列出tty3到tty9的文件
    【2】命令: ls /dev/tty{33,90} 列出以tty33和tty90的文件
    【3】命令: ls /dev/tty2[0-9] /dev/tty30 列出tty20到tty30的文件
    相当于命令:ls /dev/tty{2[0-9],30}
    5.alias 查看已有别名,新建别名,删除别名
    【1】命令: alias hn=‘hostname’ 将hostname命令设置一个叫hn的别名
    【2】命令: unalias hn=‘hostname’ 将hn的别名删除
    【3】命令: alias 查看所有的别名
    (1)自己设计的别名是临时的
    (2)不可以随便建立别名
    6.mkdir
    【1】命令: mkdir -p /opt/aa/bb/cc 创建多层目录即opt下aa下bb下cc
    【2】命令: mkdir -m 777 /opt 创建目录opt并且设置权限为777
  13. rm 删除
    【1】命令: rm /opt/123.txt 将opt目录中的123.txt文件删除
    【2】命令: rm -i /opt/123.txt 将opt目录中123.txt文件询问删除
    【3】命令: rm -r /opt/abc 将opt目录中123目录递归形式删除
    【4】命令: rm -rf /opt/abc 将opt目录中123目录递归形式不询问删除
  14. mv 将一个文件或目录移动(源文件会消失)
    【1】命令: mv /opt/123.txt /wbh1 将opt目录中的123.txt文件移动到
    wbh1目录中
    【2】命令: mv /opt/123 /opt/abc 将opt目录中的123目录移动到opt
    目录并改名叫abc

【3】命令: mv /opt/123 /opt/456 /opt/abc 将opt目录中的123目录和
opt目录中的456目录移动到opt目录中abc目录

  1. cp 将一个文件或目录拷贝
    【1】命令: cp /opt/123.txt /wbh1 将opt目录中的123.txt文件拷贝到
    wbh1目录中
    【2】命令: cp -r /opt/123 /opt/abc 将opt目录中的123目录递归形式的
    拷贝到opt目录
    【3】命令: \cp -r /opt/123 /opt/abc 将opt目录中的123目录递归形式
    的强制性拷贝到opt目录
    【4】命令: cp -r /opt/123 /opt/abc 将opt目录中的123目录递归形式的
    拷贝到opt目录并改名叫abc
    【5】命令: cp -r /opt/123 /opt/456 /opt/abc 将opt目录中的123目录和opt目录中的456目录递归形式的拷贝到opt目录中abc目录
  2. grep 查询关键字
    【1】命令: grep -v root /etc/passwd 将etc目录中的passwd目录中筛选出不包含root的命令行
    【2】命令: grep -i root /etc/passwd 将etc目录中的passwd目录中忽略
    root大小写字符筛选出不包含root的命令行
    【3】命令: grep ^root /etc/passwd 将etc目录中的passwd目录中筛选
    出以root开头的命令行
    【4】命令: grep root$ /etc/passwd 将etc目录中的passwd目录中筛选
    出以root结尾的命令行
    七. 压缩与归档
    归档 将许多零散的文件整理为一个文件(文件总大小不变)
    压缩 按照某种算法减小文件占用空间的大小(恢复时按照对因的逆向算法减压)
    .gz —> gzip
    .bz2 —>bzip2 Linux独有压缩格式
    .xz —> xz
    <1>tar 制作压缩包(tar打包)
    -c 创建归档
    -x 释放归档
    -f 制定归档文件名称(必须在所有选项最后添加)
    -z,-j,-J 调用.gz,.bz2,.xz格式的工具进行
    -t 显示归档中的文件清单
    -C 指定释放路径
    不能针对正在变化的数据进行打包压缩
    【1】命令tar -zcf /root/haha.tar.gz/etc/passwd /home
    将etc下passwd文件和home目录打包压缩到root目录下并建立一个.gz
    格式的压缩包叫haha.tar.gz
    【2】命令: tar -jcf /root/haha.tar.bz2/etc/passwd /home
    将etc下passwd文件和home目录打包压缩到root目录下并建立一个.bz2
    格式的压缩包叫haha.tar.bz2
    【3】命令: tar -Jcf /root/haha.tar.xz/etc/passwd /home
    将etc下passwd文件和home目录打包压缩到root目录下并建立一个.xz
    格式的压缩包叫haha.tar.xz
    【4】命令: tar -xf /root/haha.tar.xz -C /nsd01
    将root目录下的haha.tar.xz压缩包解压缩到/目录下的nsd01目录中
    【5】命令: tar -xf /root/haha.tar.xz
    将root目录下的haha.tar.xz压缩包解压缩到当前目录中
    【6】命令: tar -tf /root/haha.tar.xz
    在不释放haha.tar.xz压缩包时查看压缩包中压缩的内容
    八. 重定向与管道
  3. 重定向 将屏幕显示的信息保存到文件

覆盖重定向

追加重定向
【1】命令hostname > /etc/123.txt
将hostname的文件内容覆盖到etc目录下的txt文件中
【2】命令head -5 /etc/passwd >/etc/123.txt
将passwd的文件前五行内容覆盖到etc目录下的123.txt文件中
【3】命令hostname >> /etc/123.txt
将hostname文件内容末尾追加进到etc目录下的123.txt文件中
【4】命令 etho 123 >> /etc/123.txt
将123追加进到etc目录下123.txt文件末尾
【5】命令 > /etc/123.txt
将etc目录下123.txt文件清空

  1. 管道 | 一个命令的输出可以作为另一个命令的输入(参数)
    【1】命令head -4 /etc/123.txt | tail -1
    将123.txt的文件第四行列出
    【2】命令head -12 /etc/123.txt | tail -5
    将123.txt的文件第8-12行列出
    (1)命令没有输出的不可以与管道一1起使用
    (2)一些特殊命令不支持与管道一起使用
    3.^ 代表以xxx开头(在grep命令使用中)
    ^$ 代表空行 ^# 代表以#号开头的注释行
    【1】命令grep ^$ /etc/123.txt 将123.txt的文件的空行过滤列出
    【2】命令grep -v ^$ /etc/123.txt将123.txt的文件的除空行之外过滤列出
    【1】命令grep ^# /etc/123.txt
    将123.txt的文件的以#号开头的注释行过滤列出
    【2】命令grep -v ^# /etc/123.txt
    将123.txt的文件的除以#号开头的注释行之外过滤列出
    【3】命令grep -v ^# /etc/123.txt | grep -v ^$
    将123.txt的文件的除以#号开头的注释行之外过滤并再过滤出除空行之
    外的行列出
    -find 根据预设的条件递归查找对应的文件(精确查找包含子目录)
    -type 按照文件类型查找(l快捷方式,d目录,f文件)
    -name 按照文件名称查找
    -size +文件大小 按照文件大小查找(k,M,G)
    -user 按照文件所属用户名称查找
    -mtime 按照文件修改时间查找
    【1】命令find /etc/ -type l 查看etc目录下的所有快捷方式
    【2】命令find /etc/ -type d 查看etc目录下的所有目录
    【3】命令find /etc/ -type f 查看etc目录下的所有文件
    【4】命令find /etc/ -name “passwd”
    查看etc目录下所有以passwd命名的内容
    【5】命令find /etc/ -name “*asswd”
    查看etc目录下所有以asswd为结尾的名称命名的内容
    【6】命令find /etc/ -name “*asswd” | wc -l
    查看etc目录下所有以asswd为结尾的名称命名的内容后统计出有多少行
    【7】命令find /etc/ -name “*asswd” | cat -n
    查看etc目录下所有以asswd为结尾的名称命名的内容并显示出行号
    【8】命令find /etc/ -name “*asswd” -or -type d
    查看etc目录下所有以asswd为结尾的名称命名或者属性为目录的内容
    【9】命令find /etc/ -name “*asswd” -and -type d
    查看etc目录下所有以asswd为结尾的名称命名和属性为目录的内容
    【10】命令find /etc/ -size +10M 查看etc目录下所有大于10M的内容
    【11】命令find /etc/ -size -10M 查看etc目录下所有小于10M的内容
    【12】命令find /etc/ -size -1024M 查看etc目录下所有小于1G的内容
    find对于1k,1M,1G不识别要写成1024b,1024k,1024M
    【13】命令find /etc/ -user root 查看etc目录下所有属于root的内容
    【14】命令find /etc/ -mtime +1 查看etc目录下一天以前建立的内容
    【15】命令find /etc/ -mtime -1 查看etc目录下一天以内建立的内容
    【16】命令find /etc/ -mtime -90 查看etc目录下三个月以内建立的内容
    【17】命令find /etc/ -mmin -90 查看etc目录下三分钟以内建立的内容
  2. exec 额外操作
    {} 代表每一个查找的结果
    \ 处理操作结束;换行;反义符
    【1】命令find /etc/ -name “*tab” -exec ls -lh {} \;
    查看etc目录下的所有以tab为结尾的名称命名的内容并以人类可阅读的
    方式详细列出
    【2】命令find /etc/ -name “*tab” -exec cp {} /mnt \;
    查看etc目录下所有以tab为结尾的名称命名的内容并拷贝到mnt目录中
    【3】命令find /etc/ -name “*tab” -exec tar -zcf /mnt/1.tar.gz {} \;
    查看etc目录下所有以tab为结尾的名称命名的内容并压缩到mnt目录中
    每查找到一个就执行一次,因此压缩的内容只会有最后一个查找到的内容
    九. vim模式操作
    1.命令行模式
    <1> 光标跳转
    上下左右进行光标移动
    Home键或^或数字0 光标跳转到行首
    End键或 符 号 光 标 跳 转 到 行 尾 P g U p 键 或 P g D n 键 向 上 翻 页 , 向 下 翻 页 1 G 或 g g 跳 转 到 文 件 首 行 G 跳 转 到 文 件 末 尾 行 < 2 > 复 制 , 粘 贴 , 删 除 y y 复 制 光 标 处 的 一 行 数 字 + y y 复 制 从 光 标 处 开 始 到 第 几 行 ( 1 y y , 4 y y , 33 y y ) x 或 D e l e t e 键 删 除 光 标 处 的 单 个 字 符 d d 删 除 光 标 处 的 一 行 数 字 + d d 删 除 从 光 标 处 开 始 到 第 几 行 ( 1 d d , 4 d d , 33 d d ) d 从 光 标 处 开 始 删 除 到 行 首 d 符号 光标跳转到行尾 PgUp键或PgDn键 向上翻页,向下翻页 1G或gg 跳转到文件首行 G 跳转到文件末尾行 <2> 复制,粘贴,删除 yy 复制光标处的一行 数字+yy 复制从光标处开始到第几行(1yy,4yy,33yy) x或Delete键 删除光标处的单个字符 dd 删除光标处的一行 数字+dd 删除从光标处开始到第几行(1dd,4dd,33dd) d^ 从光标处开始删除到行首 d PgUpPgDn,1GggG<2>yy+yy(1yy,4yy,33yy)xDeletedd+dd(1dd,4dd,33dd)dd 从光标处开始删除到行尾
    <3> 查找,撤销,保存
    /word 搜索文本中含有word的关键字
    n跳转到下一个关键字
    N搜索到上一个关键字
    u撤销最近的一次操作
    U撤销对光标所在的当前行所有修改
    Ctrl+r撤销前一次的撤销操作
    ZZ 保存修改并退出
    2.末行模式
    <1> 保存,退出,文件操作
    :w 保存当前文件
    :q! 强制退出不保存
    :wq或:x 保存后退出
    :w+路径+文件名 另存为其他文件
    :r+路径+文件名 读入其他文件内容
    <2> 字符串通过替换
    😒/旧字符/新字符 替换当前行旧字符为新字符
    😒/旧字符/新字符/g 替换当前行所有旧字符为新字符
    :n,m s/旧字符/新字符/g 替换第n-m行的旧字符为新字符
    :% s/旧字符/新字符/g 替换所有行的旧字符为新字符
    <3> 开关参数的控制
    :set nu 显示行号
    :set nonu 不显示行号
    :set ai 新起的一行将与上一行起始位置平行
    :set noai 新起的一行将从顶头开始编写
    十. RPM软件包管理

1.常见的封包类型
Rpm软件包 扩展名为.rpm,适用于RedHat
Deb软件包 扩展名为.deb,适用于Debian
源代码软件包 通常以.tar.gz,.tar.bz2格式的压缩包提供
绿色免安装软件包 提供install.sh,setup,.bin,.pl等安装文件
<1>RPM软件包文件名特征
firefox -52.7.0-1 e17.centos.x86_64.rpm
来源(软件名)适合版本 适合系统
RPM软件名特征 firefox
<2>RPM软件包安装位置(分散)
普通执行程序 /usr/bin /bin
服务器程序,管理工具 /usr/sbin /sbin
配置文件 /etc /etc/软件名
日志文件 /var/log /var/log/软件名
程序文档,man手册页 /usr/share/doc /usr/share/man

2.查询已软件信息rpm -q 查询已安装的软件信息
-a 列出已安装的所有软件
-i 查看指定软件的详细信息
-l 查看指定软件的文件安装清单
-f 查询某个文件/目录是哪个rpm带来的(目标文件被删除也可查询)
【1】命令rpm -qa 列出已安装的所有软件
【2】命令rpm -qa | grep firefox 列出已安装的火狐软件
【3】命令rpm -qa | wc -l列出已安装的所有软件的数量
【4】命令rpm -q firefox查询已安装的firefox软件信息
【5】命令rpm -qi firefox查询已安装的firefox软件详细信息
【6】命令rpm -ql firefox查询已安装的firefox软件安装清单
【7】命令rpm -qf /bin/bash查询/bin/bash是哪个rpm带来的
3.查询待软件信息
rpm -q 子选项 rpm包文件 查询待安装的软件信息
-pi 查看指定软件包的详细信息
-pl 查看指定软件包的文件安装清单
qp需要输入软件包名,q需要输入软件名
【1】命令rpm -qpi /mnt/firefox -52.7.0-1 e17.
centos.x86_64.rpm
查看firefox软件包的详细信息
【2】命令rpm -qpl /mnt/firefox -52.7.0-1 e17.
centos.x86_64.rpm
查看firefox软件包的文件安装清单
【2】命令rpm --import /mnt/firefox -52.7.0-1 e17.
centos.x86_64.rpm(非红帽认证会有系统警告)
将Linux安全签名导入到软件包中
十一. 安装/卸载软件包
1.软件包的安装 rpm -i rpm软件包名称 安装rpm软件包
-v 显示细节信息
-h 查看指定软件的文件安装清单
–force 查看指定软件的文件安装清单
【1】命令rpm -ivh /mnt/firefox -52.7.0-1 e17.centos.x86_64.rpm
安装firefox 软件包
【2】命令rpm --force /mnt/firefox -52.7.0-1 e17.centos.x86_64.rpm
覆盖强制安装firefox 软件包
2.软件包的卸载 rpm -e rpm软件名称 卸载rpm软件包
命令rpm -e /mnt/firefox 卸载firefox 软件包
3. zip格式的压缩
【1】命令zip -r /opt/abc.zip /etc/passwd /home 将passwd文件和home目录归档压缩成zip格式
【2】命令unzip -r /opt/abc.zip -d /mnt 将abc.zip解压到mnt目录中
4. 软件依赖关系
<1>解决依赖关系
(1)先安装/卸载要求的包
(2)如安装的 rpm包齐全但比较多,可以用通配符*
<2>忽略依赖关系(不推荐)
(1)可能会导致软件运行异常
(2)辅助选项 --nodeps
十二. Yum软件包管理
1.准备Yum软件仓库
<1>Yum机制概述
(1)基于rpm包创建的软件更新机制
(2)自动解决软件包依赖关系
(3)所有软件包由集中的YUM软件仓库提供
<2>准备本地YUM仓库
软件包仓库(服务端)
(1)拥有众多的软件包
(2)拥有仓库数据文件,即软件包的数据清单

服务端 ---------------------------------------------------->客户端
通过本地目录或FTP或HTTP服务
file://…或ftp://…或http://…
ls /etc/yum.repos.d/打开yum的配置文件(配置文件以.repo结尾)
企业上有些配置文件是同事写的,所以需要再创建一个目录mkdir /etc/yum.repos.d/abc,将所有配置文件移动到abc目录中mv /etc/yum.repos.d/.repo /etc/yum.repos.d/abc,这样原来的配置文件不会被删除,yum也不会去读取
2.配置Yum服务端(仓库)
【1】命令mkdir /abc
在/目录下建立一个叫abc的目录
【2】命令mount /dev/cdrom /abc
将磁盘分区的快捷方式挂载到abc上
3. 配置Yum客户端
<1>Yum配置解析
(1)影响yum使用的主要文件
A.基本设置: /etc/yum.conf
B.仓库配置: /etc/yum.repos.d/
.repo
C.日志文件: /var/log/yum.log
(2)创建配置仓库
【源名称】自定查询httpd软义名称,具有唯一性
name 仓库的描述信息
baseurl 指定yum服务端的位置
enabled 是否启用
gpgcheck 是否验证红帽签名
gpgkey 用于RPM软件包验证的密钥文件
【1】命令vim /etc/yum.repos.d/haha.repo
配置一个叫做hah.repo的配置文件
vim /etc/yum.repos.d/是固定命令后跟创建的.repo
1| [haha] 仓库名称
2| name=centos7 仓库的软件包版本名字
3| baseurl=file:///mnt 仓库的所处位置(file://表示本机为服务端)
4| enabled=1 代表仓库可用(1表示可用,0表示不可用)
5| gpgcheck=0 代表不许验证红帽签名
6| gpgkey=密钥文件位置以及文件名称 代表软件包验证的密钥文件(第
五条=0就不用写,=1需要)
【2】命令yum repolist 列出本机可运行的配置文件
/mnt不是固定位置,第三行命令位置取决于光盘所处位置
十三. Yum命令工具

  1. 安装/卸载软件包
    <1>安装软件包 yum -y install相当于rpm -i
    【1】命令yum install httpd 安装httpd软件包
    【2】命令yum -y install httpd 强制安装httpd软件包
    【3】命令yum -y install bind-chroot 强制安装bind-chroot
    【4】命令yum -y install sssd 强制安装sssd软件包
    【5】命令yum -y install gcc 强制安装gcc软件包
    【6】命令yum -y install xorg-x11-apps 强制安装
    【7】命令yum -y reinstall gcc 强制覆盖安装gcc软件包
    <2>卸载软件包 yum -y remove 相当于rpm -e
    命令yum remove httpd 卸载httpd软件包保留可独立运
    行的依赖文件
    <3>查询软件信息
    【1】命令yum list httpd 查询httpd软件目录中当前系统未装仓库
    有的安装包
    【2】命令yum serch httpd 查询仓库中和httpd有关的安装包
    相较于rpm -q 要更全面 (serch后可以跟软件名或者关键字)
    【3】命令yum info httpd 查询软件httpd的描述
    【4】命令yum provides /etc/passwd 查询哪些软件可以提供
    /etc/passwd文件
    用于不小心删除系统小程序后查询所属软件使用yum -y reinstall进行修复
    <4>清空本地yum缓存
    命令yum clean all 清空yum的所有缓存文件
    十四. Linux的终端应用
  2. bc 打开计算器
  3. history 显示历史命令(记录1000条命令)
    history -c清空历史命令
  4. !cat指定最近一条以cat开头的命令
    !ls指定最近一条以cat开头的命令
  5. du -sh以人类可阅读的方式统计目录的大小
  6. date -s “2008-10-1 10:11:40”将时间更改为2008年10月1日10点11
    分40秒
    date +%Y 显示年 date +%m 显示月 date +%d 显示日期
    date +%H 显示时 date +%M 显示分 date +%S 显示秒
    date +%F 显示年-月-日 date +%R 显示时:分
    6.软连接与硬链接
    【1】命令ln -s /etc/passwd /root/wbh 将passwd文件建立软链接到wbh
    目录中
    【2】命令ln /etc/passwd /root/wbh 将passwd文件建立硬链接到wbh目
    录中
    十五. 账户控制总述
    1.基于账号的访问控制
    <1>基于账户身份对资源访问进行控制
    (1)账户类别 用户账号 组账号
    (2)识别方式 UID GID (默认最大都是6000)
    <2>用户账号
    (1)超级用户root , 系统用户 , 普通用户
    (2)UID为0 ,UID为1-999 , UID为1000以上
    <3>组账号
    (1) 基本组(私有组) (2) 附加组(从属组)
    2.账号的存放类别
    <1>账号数据的存放 储存在本机磁盘本地账户中
    <2>本地账户的数据文件
    (1)属主 /etc/passwd /etc/shadow
    (2)属组 /etc/group /etc/gshadow
    3.解析用户账号问题
    <1>/etc/passwd 保存用户账号的基本信息
    每个用户记录一行,以:分割为7个字段
    root:x:0:0:root:/root:/bin/bash
    用户账号的名称
    密码字串或占位符x
    用户账号的UID号
    所属基本组的GID号
    用户全名(属主)
    宿主目录(属组/家目录)
    登陆shell程序的路径
    十六. 用户账户创建
    1.useradd 添加用户
    -u 指定UID标记号
    -d 指定宿主目录(家目录)位置,不加默认为/home
    -G 指定附加组
    -s 指定用户的登陆解释器(shell)
    【1】命令useradd lisi 创建一个叫lisi的用户
    【2】命令useradd -u 1888 boss 创建一个UID为1888叫boss
    的用户
    【3】命令useradd -d /opt/lisi lisi 创建一个家目录在/opt下叫lisi
    的并且用户名为lisi的用户
    【4】命令useradd -G stugrp lisi 创建一个名为lisi的用户且属于
    家目录又属于stugrp的组
    【5】命令useradd -s /sbin/nologin lisi 创建一个名为lisi的用
    户不建立宿主目录,不用于登陆
    【6】命令id lisi 查询lisi的用户信息
    2.usermod 修改用户
    -l 更改用户//重置附加组账户的登陆名称
    -u 更改UID标记号
    -d 更改宿主目录(家目录)位置
    -G 更改附加组 如果有许多附加组,则会重置附加组(全部替换)
    -s 指定用户的登陆解释器(shell)
    【1】命令usermod -l lisi boss 将boss账号改为lisi的名字
    【2】命令usermod -u 1888 boss 将boss账号UID改为1888
    【3】命令usermod -s /sbin/nologin boss 将boss账号改为
    不可打开
    【4】命令usermod -s /bin/bash boss 将boss账号改为可打开
    【5】命令groupadd tmooc 建立一个叫tmooc的组
    3.passwd 设置口令
    【1】命令su - lisi 切换到lisi用户
    【2】命令passwd lisi 将lisi账号设置密码
    【3】命令passwd 修改当前账号密码
    【4】命令echo 123 | passwd --stdin lisi 修改lisi账号密码为
    123
    取消交互,从标准输入设置密码,无需再次输入密码,一边即可
    4.userdel 删除用户
    【1】命令userdel lisi 单纯将lisi账号删除
    【2】命令userdel -r lisi 将lisi账号删除,包括宿主目录/用户邮件

删除账户前提是该账户不在运行中,没有正在执行的程序,su - 到一个用户再su - 到另外一个账户,先前的账户仍在登录中
5./etc/shadow 储存用户密码信息
root: 6 6 6Kheirugqhighogewgojb0kgy:4676547:0:99999:7:::
用户账号的名称
加密后的密码字符串(如果没设置密码则该用户打不开且密码位为!!)
上次修改密码的时间
密码的最短有效天数,默认为0
密码的最长有效天数。木哦认为99999
密码过期前的警告天数,默认为7
密码过期后多少天禁用此用户账号
账号失效时间,默认为空
保留字段(未使用)
十七. 用户初始配置文件
1./etc/skel 用户的配置文件(新建一个用户就会将此目录的内容拷贝一份
到该用户的家目录中)
2.主要的初始配置文件
A.~/.bash_profile 每次登录时执行
B.
~/.bashrc 每次进入新的Bash环境时执行
全局配置文件: /etc/bashrc /etc/profile
【1】命令vim /root/.bashrc 修改root用户的别名
【2】命令vim /home/lisi/.bashrc 修改lisi普通用户的别名
【3】命令vim /etc/bashrc 修改全部所有用户的别名
十八. 组账号基本操作
1./etc/group 保存组的基本信息
/etc/gshadow 保存组的管理员信息
2.groupadd 创建组
命令groupadd tmooc 建立一个叫tmooc的组
tmooc:x:1005:
组账号的名称
密码的占位符x
GID号
本组的成员用户列表
3.gpasswd 管理组成员
-A 定义组管理员列表
-a 添加组成员,每次只能加一个
-d 删除组成员,每次只能删一个
-M 定义组管理员用户列表,可设置多个 如果有许多组,则会重置(全部替换)
【1】命令gpasswd -A ‘lisi,haha’ tmooc将lisi用户和haha
用户设置成tmooc组的组管理员
【2】命令gpasswd -A ‘’ tmooc将tmooc组的组管理员全部重置
【3】命令gpasswd -a lisi tmooc添加lisi用户到tmooc组中
【4】命令gpasswd -d lisi tmooc将tmooc组中lisi用户删除
【5】命令gpasswd -M ‘lisi,wbh,wbh1’ tmooc将lisi,wbh,wbh1用户定义到
tmooc组中
4.groupdel 删除组
命令groupdel tmooc将tmooc组删除
十九. 周期性任务
1.cron 按照设置的时间间隔为用户反复执行某一项固定的系统任务
<1>软件包 cronie crontabs
<2>系统服务 crond(开机默认运行)
<3>日志文件 /var/log/cron
2.crontab 管理计划任务策略
-e 编辑 -l 列出 -r 删除 -u 指定用户
【1】命令crontab -e -u root编辑root的计划任务
【2】命令crontab -l -u root列出root的计划任务
【3】命令crontab -r -u root删除root的计划任务
2.编写crontab任务记录
<1>配置格式 分 时 日 月 周 任务命令行(绝对路径)
<2>执行周期 分钟 0~59整数
小时 0~23整数
日期 1~31整数
月份 1~12整数
星期 0~7整数(0,7都代表周日)
<3>crontab配置符号
* 匹配范围内所有的时间
, 分隔多个不连续的时间点
- 指定连续时间范围
/n 指定时间频率,即每n分/时/日/月/周
二十. 权限和归属概述
1.访问权限
<1>读取 允许查看内容 read
<2>写入 允许修改内容 write 共同决定最终权限
<3>可执行 允许运行和切换内容 execute
2.归属关系
<1>所有者(属主) 拥有此文件/目录的用户 user
<2>所属组(属组) 拥有此文件/目录的组 group
<3>其他用户 除所有者和所属组的其他用户 other
-rwx r-- r-- .1 root root 12M 7月 6 16:38 /etc/passwd
代表类型 - 文件 d 目录 l 快捷方式
所属主权限
所属组权限
其他用户权限
本机中含有该内容的数量
属主
属组
内容大小
建立时间
存储位置
Linux中tmp是唯一拥有附加权限的目录
3.chmod 设置基本权限 (当其他人拥有过多权限那么目录会有绿色底层)
【1】命令chmod o=— /abc 将abc目录的其他用户权限改为不可读不可写不可运行
【2】命令chmod u+x /abc 将abc目录的属主增加一个可运行权限
【3】命令chmod g-x /abc 将abc目录的属组减去一个可运行权限
【4】命令chmod -R u+x /abc 将abc目录以及目录下所有目录的属主递归增加一个可运行权限
【5】命令chmod a-x /abc 将abc目录的权限所有用户都不可运行
【6】命令chmod 722 /abc 将abc目录的属主权限改为可读可写可运行,属组权限改为可读不可写不可运行,其他用户权限改为不可读不可写不可运行
【7】命令chmod 752 /abc 将abc目录的属主权限改为可读可写可运行,属组权限改为可读不可写可运行,其他用户权限改为不可读不可写不可运行
(1)r代表4 w代表2 x代表1
(2)一个用户能否进入一个目录与执行权限有关
(3)当其他人拥有过多权限那么目录会有绿色底层
(4)新建目录默认755权限,新建文件默认644权限
4.chown 设置归属关系
【1】命令chown root /abc 将abc目录的属主改为root
【2】命令chown :root /abc 将abc目录的属组改为root
【3】命令chown root:root /abc 将abc目录的属主改为root
属组改为root
【4】命令chown -R root /abc 将abc目录以及目录下所有目录属
主改为root
二十一. ACL策略概述
1.acl策略的作用
(1)文档归属的局限性
A.任何人只属于三种角色: 属主,属组,其他人
B.无法实现更精细的控制
(2)acl访问策略
A.能够对个别用户,个别组设置独立的权限
B.大多数挂载的EXT3/4,XFS文件系统默认已支持
2.setfacl 定义acl控制策略
<1>格式 setfacl 选项 u:用户名:权限 文件
setfacl 选项 g:组名:权限 文件
<2>选项
-m 定义一条ACL策略 -x 清除指定的ACL策略
-b 清除所有已设置的ACL策略 -R 递归设置ACL策略
【1】命令setfacl -m u:lisi:rw /abc 将abc目录设置一个acl
控制策略,让lisi用户对此目录拥有可读可写权限
【2】命令getfacl /abc 查看abc目录的ACL策略
ll该目录时通常在其他用户的权限后显示一个+号
即-rwx r-w —+
【3】命令setfacl -x u:lisi /abc 将abc目录的的acl控制策略中
lisi用户权限清除
【4】命令setfacl -b /abc 将abc目录的的acl控制策略全部清除
【5】命令setfacl -Rm u:lisi:rw /abc 将abc目录递归设置一
个acl控制策略,让lisi用户对此目录拥有可读可写权限
二十二. 附加权限概述
1.特殊权限的作用
(1)叠加于权限位的u,g,o分组之上
(2)用来传递程序执行身份,限制目录写入权
2.特殊权限的分类
Set UID 字符表示为s,数字表示为4,叠加到U权限的x位
Set GID字符表示为s,数字表示为2,叠加到G权限的x位
Sticky Bit字符表示为t,数字表示为1,叠加到O权限的x位
3. SUID权限
(1)占用属主的x位
(2)显示为s表示属主有执行权限,显示为S表示属主没有执行权限
(3)只对可执行的程序有意义
(4)当其他用户执行带SUID标记的程序时,具有属主的身份和权限
【1】命令chmod u+s /abc 将abc目录的增加一个其他用户具有属主权限的权限
【2】命令chmod 4755 /abc 将abc目录的增加一个其他用户具有属主权限的权限,属主权限改为可读可写可运行,属组权限改为可读不可写可运行,其他用户权限改为可读不可写可运行
4. SGID权限
(1)占用属组的x位
(2)显示为s表示属主有执行权限,显示为S表示属主没有执行权限
(3)只对目录有效
(4)当一个具有SGID权限的目录下,新建的文档会自动继承此目录的属组
身份
【1】命令chmod g+s /abc 将abc目录增加一个新建的文档会自动
继承此目录的属组身份的权限
【2】命令chmod 2775 /abc 将abc目录的增加一个新建的文档会自动继承此目录的属组身份的权限,属主权限改为可读可写可运行,属组权限改为可读可写可运行,其他用户权限改为可读不可写可运行
5. Sticky Bit权限
(1)占用其他人的x位
(2)显示为t表示属主有执行权限,显示为T表示属主没有执行权限
(3)适用于目录,用来限制用户滥用写入权
(4)在设置了Sticky Bit权限的文件夹下,即使用户有写入权限,也不能
删除或改名其他用户文档
【1】命令chmod o+s /abc 将abc目录增加一个不能删除或改名其他用户文档的权限
【2】命令chmod 1777 /abc 将abc目录的增加一个不能删除或改名其他用户文档的权限,属主权限改为可读可写可运行,属组权限改为可读可写可运行,其他用户权限改为可读可写可运行
6. umask 权限掩码
(1)一般情况下文件默认为不给x权限,其他取决于umask值
(2)默认掩码为0022,对应权限为7755
命令umask 0027 将默认权限改为7750
二十三. 磁盘分区管理

  1. 磁盘的结构 磁盘由主轴,磁盘盘片,读写磁头,传动手臂,传动轴和反力矩弹簧装置
  2. 磁盘的位置
    Windows的wm位置为/dev/sda,/dev/sdb,…,/dev/sdz
    Linuxdekvm位置为/dev/vda,/dev/vdb,…,/dev/vdz
  3. 扇区最小为512B字节大小
    B<KB<MB<GB<TB<PB<EB<ZB<YB<BB
  4. 磁盘的使用
    识别硬盘———>分区规划———>格式化分区———>挂载使用
    命令: lsblk 列出当前系统识别的硬盘
    5.分区模式
    <1>MBR分区模式 (适用小于2.2TB的磁盘空间) 两者
    <2>GPT分区模式 (适用大于2.2TB的磁盘空间) 不兼容
    5.MBR/msdos分区模式
    (1)1~4个主分区或者0~3个主分区+1个扩展分区(n个逻辑分区)
    (2)最大支持容量为2.2TB的磁盘
    (3)扩展分区不能格式化,空间不能直接储存数据
    (4)扩展分区可以没有,但最多一个
    6.fdisk分区工具
    【1】命令fdisk -l /dev/vdb 查看dev目录下vdb目录分区表
    【2】命令fdisk /dev/vdb 修改dev目录下vdb目录分区表
    【3】命令lsblk 列出当前系统识别的硬盘
    7.进入分区表后的交互操作

m 列出指令帮助
p 查看现有的分区表
n 新建分区
d 删除分区
q 放弃更改并保存
w 保存更改并退出
8. partprobe识别新分区表
(1)当硬盘的分区表被更改以后,需要将分区表的变化告诉linux内核,否则在访问分区时可能会找不到准确的设备
(2)命令partprobe /dev/vdb 识别vdb的新分区表
也可以输入reboot重启来达到相同效果
二十四. 格式化分区与文件系统
1.格式化:赋予空间文件系统的过程
文件系统:数据在空间中存放的规则
<1>windows常用的文件系统:NTFS FAT(兼容性强)硬盘
<2>linux常用的文件系统:ext4(rhel6)xfs(rhel7)FAT硬盘
2. 格式化工具——mkfs 工具集
【1】命令mkfs.ext4 /dev/vdb1 将vdb1格式化文件系统为ext4
【2】命令mkfs.xfs /dev/vdb2 将vdb2格式化文件系统为xfs
【3】命令bikid /dev/vdb1 查看vdb1的格式化文件系统
二十五.访问文件系统
1.访问已格式化的分区
<1>使用mount命令挂载,并访问测试
1| mkdir /mnt/abc
2| mount /dev/vdb2 /mnt/abc
3| cp /etc/fstab /mnt/abc/fstab.txt
4| ls /mnt/abc
<2>使用df检查使用情况
【1】命令df -hT /mnt/abc 检查mnt下abc使用情况
【2】命令df -h 显示正在挂载的设备信息
2.实现开机自动挂载/etc/fstab
设备路径 挂载点 文件系统类型 参数 备份标记 检测顺序
/dev/vdb2 /mnt/abc ext4 defaults 0 0
参数:系统参数统称 defaults
检测顺序:0代表不检测,1代表检测,2代表次检测
【1】将分区系统写入开机自动挂载的配置文件
1| vim /etc/fstab 打开开机自动挂载的配置文件
2| /dev/vdb2 /mnt/abc ext4 defaults 0 0
【2】命令mount -a 以linux系统形式检测开机自动挂载的配置文件
1| mkfs.ext4 /dev/vdb1
2| mkdir /mnt/abc
3| vim /etc/fstab 打开开机自动挂载的配置文件
4| /dev/vdb2 /mnt/abc ext4 defaults 0 0
5| mount -a 检测fstab文件内容书写是否正确
6| df -h 查看正在挂载使用的设备
命令无显示则说明写入正确
/dev/vda5 表示SCSI(SD卡)接口设备第一块的第一个逻辑分区
对于Linux用户的kvm虚拟机,在删除磁盘以后,本机还会残留系统文件分区需要ls /var/lib/libvirt/images/查看系统文件分区,删除没用的系统文件分区,防止占内存
二十六.磁盘分区进阶

  1. GPT (GUID Partition Table)
    (1)全局唯一标识分区表
    (2)突破固定大小64字节的分区表限制
    (3)最多可支持128个主分区,最大支持18EB磁盘
    (1 EB=1024 PB=1024x1024 TB)
  2. parted 常用分区的指令
    help 查看指令帮助
    mktable gpt 建立gpt模式分区表
    mkpart 分区的名称 文件系统类型 start end 指定大小或百分比% 作为起始、结束位置
    print 查看分区表
    rm 序号 删除指定的分区
    quit 退出交互环境
  3. 建立GPT分区
    1| parted /dev/vdb 建立vdb常用分区
    (parted) mktable gpt 建立gpt模式分区表
    如果硬盘被格式化或者存在数据,会报错输入N即可
    (parted) mkpart 规划新的分区
    分区名称? []? haha 随意写
    文件系统类型? [ext2] ext4 随意写,不会进行格式化
    起始点? 0
    结束点? 2Gib
    忽略/Ionore/放弃/Cancel? Ignore 选择忽略,输入i(Tab键补全)
    (parted) print 查看分区表信息
    (parted) unit GiB 使用GB作为单位
    (parted) print 查看分区表信息
    (parted) mkpart 划分新的分区
    分区名称? []? haha 随意写
    文件系统类型? [ext2] ext4 随意写,不会进行格式化
    起始点? 2Gib 上一个分区的结果
    结束点? 4Gib
    (parted) print 查看分区表信息
    (parted) quit
    2| lsblk 列出当前系统识别的硬盘
  4. GPT分区的使用
    1| mkfs.ext4 /dev/vdb1
    2| blkid /dev/vdb1
    3| mkdir /mypart1
    4| vim /etc/fstab 打开开机自动挂载的配置文件
    5| /dev/vdb2 /mypart1 ext4 defaults 0 0
    6| mount -a 检测fstab文件内容书写是否正确
    7| df -h 查看正在挂载使用的设备

二十七.交换空间(虚拟内存)

  1. Swap分区 利用硬盘的空间,充当内存的空间
    CPU———>内存———>硬盘
    (1)当物理内存满了,CPU可以将内存中的数据,暂时放入交换空间中,缓解真实
    物理内存的压力
    (2)交换空间为好为内存的2倍,交换空间最大不会超过16G
    (3)新建1个大小为2GB的分区,比如/dev/vda
    (4)确认分区无误后,保存退出
    (5)识别新的分区表
  2. mkswap 格式化交换分区
    命令mkswap /dev/vdb2 格式化vdb2分区
    3.swapon 查看交换分区的组成内容
    【1】命令swapon /dev/vdb2 启用交换分区
    【2】命令swapon -s 查看交换分区
    【3】命令swapoff /dev/vdb2 停用交换分区
    4.利用硬盘分区制作交换空间
    【1】格式化交换分区
    1| ls /dev/vdb2 格式化交换文件系统
    2| mkswap /dev/vdb2 格式化vdb2分区
    3| swapon 查看交换空间组成的成员信息
    【2】启用交换分区
    1|swapon /dev/vdb5 启用交换分区
    2| swapon 查看交换空间组成的成员信息
    3| free -m 查看交换空间的大小
    【3】停用交换分区
    1| swapoff /dev/vdb5 停用交换分区
    2| swapon 查看交换空间组成的成员信息
    3| free -m 查看交换空间的大小
    【4】开机自启用交换分区
    1| vim /etc/fstab 打开开机自动挂载的配置文件
    /dev/vdb2 swap swap defaults 0 0
    2| swapoff /dev/vdb5 停用交换分区
    3| swapon 查看交换空间组成的成员信息
    4| swapon -a 专门检测交换分区的书写
    5| swapon 查看交换空间组成的成员信息
    6| free -m 查看交换空间的大小
    5.生成较大文件
    dd if=数据的源头 of=生成的文件 bs=每次读写数据的大小 count=次数
    (/dev/zero:拥有无限数据,可以产生无限的数字0)
    1| dd if=/dev/zero of=/opt/sw.txt bs=1M count=2048 读1M写入1M,重复2048次
    2| ll -h /opt/sw.txt
    3| mkswap /opt/sw.txt 格式化交换文件系统
    4| swapon /opt/sw.txt 启用交换文件
    swapon: /opt/sw.txt:不安全的权限 0644,建议使用 0600。
    5| swapon 查看交换空间组成的成员信息
    二十八.逻辑卷管理
    划分3个10G的主分区
    parted /dev/vdb 建立vdb常用分区
    (parted) mktable gpt 建立gpt模式分区表
    (parted) unit GiB 使用GB作为单位
    parted) print 查看分区表信息
    (parted) mkpart haha xfs 4Gib 14Gib yes i
    (parted) mkpart haha xfs 14Gib 24Gib yes i
    (parted) mkpart haha xfs 24Gib 34Gib yes i
    (parted) print 查看分区表信息
    (parted) quit
    1.逻辑卷(LVM)的作用
    <1>整合分散的空间
    <2>空间支持扩大
    <3>没有使用过的空间,没有格式化过的硬盘可以整合在一起
    2.逻辑卷支持缩减
    xfs文件系统不支持缩减
    ext4文件系统支持缩减
    3.LVM制作过程
    将众多的物理卷(PV)组成卷组(VG)再从卷组中划分出逻辑卷(LV)
    零散空间存储———>整合的虚拟磁盘———>虚拟的分区
    虚拟磁盘技术
    物理卷PV 卷组VG 逻辑卷LV
    /dev/vdb (10G) 10G
    /dev/vdc (10G) 整合的整体(30G)
    /dev/vdd (10G) 15G
    4.LVM管理工具集
    功能 物理卷管理 卷组管理 逻辑卷管理
    Scan 扫描 pvs vgs lvs
    Create 创建 pvcreate vgcreate lvcreate
    Display 显示 pvdisplay vgdisplay lvdisplay
    Remove 删除 pvremove vgremove lvremove
    Extend 扩展 / vgextend lvextend
    5.制作逻辑卷
    <1>建立卷组(VG)
    vgcreate 卷组名 设备路径
    1| vgcreate myvg /dev/vdb[3-5] 将vdb3到vdb5建立为名叫myvg的卷组
    Successfully:成功
    2| pvs 查看系统所有物理卷信息
    3| vgs 查看系统卷组信息
    <2>建立逻辑卷(LV)
    lvcreate -L 内存大小(G) -n 逻辑卷名字 卷组名
    1| lvcreate -L 16G -n vo myvg 建立一个叫vo的内存大小为16G的逻辑卷
    2| vgs 查看系统卷组信息
    3| lvs 查看逻辑卷信息
    <3>使用逻辑卷(LV)
    1| ll /dev/myvg/vo
    2| mkfs.xfs /dev/myvg/vo 格式化xfs文件系统
    3| blkid /dev/myvg/vo 查看文件系统类型
    4| vim /etc/fstab 打开开机自动挂载的配置文件
    /dev/myvg/vo /mylv xfs defaults 0 0
    5| mkdir /mylv
    6| mount -a 检测fstab文件内容书写是否正确
    7| df -h 查看正在挂载使用的设备
    二十九.扩展逻辑卷大小
    1.卷组有足够的剩余空间
    命令 vgdisplay systemvg | grep free 检查systemvg卷组剩余空间
    <1>扩展逻辑卷空间
    1|df -h | grep vo 等同于lvscan | grep vo
    2| vgs 查看系统卷组信息
    3| lvextend -L 18G /dev/myvg/vo
    4| vgs 查看系统卷组信息
    5| lvs 查看逻辑卷信息
    <2>扩展逻辑卷文件系统(刷新文件系统)
    xfs_growfs 刷新xfs文件系统
    resize2fs 刷新ext4文件系统
    1|xfs_growfs /dev/myvg/vo 刷新vo逻辑卷
    2|df -h | grep vo 等同于lvscan | grep vo
    3| lvs 查看逻辑卷信息
    2.卷组没有足够的剩余空间
    <1>扩展卷组空间
    1| vgextend myvg /dev/vdb6
    2| vgs 查看系统卷组信息
    <2>扩展逻辑卷空间
    1| vgs 查看系统卷组信息
    2| lvextend -L 25G /dev/myvg/vo
    3| vgs 查看系统卷组信息
    4| df -h | grep vo 等同于lvscan | grep vo
    <3>扩展逻辑卷文件系统(刷新文件系统)
    1|xfs_growfs /dev/myvg/vo
    2|df -h | grep vo 等同于lvscan | grep vo
    3.卷组划分空间的单位PE (默认1PE为4M,若划分的空间无法被4整除则会继续增加空间,直至划分的空间可以被4整除)
    命令 vgdisplay myvg 显示卷组信息
    PE Size 4.00 MiB
    <1>请创建一个大小为250M的逻辑卷名字为lvredhat
    1|vgchange -s 1M myvg 将myvg卷组PE默认数值修改为1M
    2|vgdisplay myvg 显示卷组信息
    3| lvextend -L 250M -n lvredhat myvg
    4| lvs 查看逻辑卷信息
    <2>创建逻辑卷的时候指定PE个数
    lvcreate -l PE个数 -n 逻辑卷名 卷组名
    1|lvcreate -l 108 -n lvredhat myvg 创建108个PE大小叫lvredhat的逻辑

    2| lvs 查看逻辑卷信息
    4.逻辑卷的删除
    删除卷组的前提:基于次卷组创新的所有逻辑卷,要全部删除
    删除逻辑卷的前提:不能删除正在挂在使用的逻辑卷
    1|lvrmove /dev/myvg/vo 删除vo逻辑卷
    Logical volume myvg/vo contains a filesystem in use.
    2| umout /myvg/ 卸载myvg的挂载
    3| lvrmove /dev/myvg/vo 删除vo逻辑卷
    Do you really want to remove active logical volume myvg/vo? [y/n]: y
    Logical volume “vo” successfully removed
    4| vim /etc/fastab 仅删除vo开机自启动挂载
    5.卷组的删除
    1| lvs 查看逻辑卷信息
    2| lvrmove /dev/myvg/vo 删除vo逻辑卷
    3| lvs 查看逻辑卷信息
    4| vgs 查看系统卷组信息
    5| vgremove myvg 删除myvg卷组
    6| vgs 查看系统卷组信息
    7| pvs 查看系统所有物理卷信息
    8| pvremove /dev/vdb[3-6] 删除所有vdb3到vdb6的主分区
    9| pvs 查看系统所有物理卷信息
    三十.RAID磁盘阵列(需要服务器硬件RAID卡)
    1.RAID(Redundant Arrays of Inexpensive Disks)磁盘阵列
    <1>通过硬件/软件技术,将多个较小/低速的磁盘整合成一个大磁盘
    <2>阵列的价值:提升I/O效率、硬件级别的数据冗余
    <3>不同RAID级别的功能、特性各不相同

<4>RAID 0 条带模式
(1)同一个文档分散存放在不同磁盘
(2)并行写入以提高效率
(3)至少需要两块磁盘组成,磁盘利用率100%
<5>RAID 1 镜像模式
(1)一个文档复制成多份,分别写入不同磁盘
(2)多份拷贝提高可靠性,效率无提升
(3)至少需要两块磁盘组成,磁盘利用率50%
<6>RAID5 高性价比模式
(1)相当于RAID0和RAID1的折中方案
(2)需要至少一块磁盘的容量来存放校验数据
(3)至少需要三块磁盘组成,磁盘利用率n-1/n
<7>RAID6 高性价比/可靠模式
(1)相当于扩展的RAID5阵列,提供2份独立校验方案
(2)需要至少两块磁盘的容量来存放校验数据
(3)至少需要四块磁盘组成,磁盘利用率n-2/n
<8>RAID 0+1/RAID 1+0
(1)整合RAID 0、RAID 1的优势
(2)并行存取提高效率、镜像写入提高可靠性
(3)至少需要四块磁盘组成,磁盘利用率50%
2.进程管理
<1>程序:静态没有执行的代码,占据硬盘空间
<2>进程:动态执行的代码,占据CPU与内存资源
<3>父进程与子进程 树型结构
<4>进程编号:PID
3.pstree查看列出进程 (静态查找)
systemd(PID永远为1):所有进程的父进程(上帝进程)
<1>常用命令选项
-a:显示完整的命令行
-p:列出对应进程的PID编号
1|pstree 查看正在运行的所有进程信息
2|pstree -p lisi 列出lisi进程的PID编号
bash(9609)───vim(9656)
3| pstree -a lisi
bash
└─vim haha.txt
4| pstree -ap lisi
<2>ps(Processes Snapshot)查看列出进程(静态查找)
格式:ps [选项]
aux:显示当前终端所有进程(a)、当前用户在所有终端下的进程(x)、
以用户格式输出(u)
-elf:显示系统内所有进程(-e)、以长格式输出(-l)信息、包括最完整
的进程信息(-f)
[1]命令ps aux 列出正在运行的所有进程,显示进程信息非常详细
用户 进程ID %CPU %内存 虚拟内存 固定内存 终端 状态 起始时间 CPU时间程序指令
[2]命令ps -elf 列出正在运行的所有进程,显示进程父进程信息
PPID为父进程的PID
命令 ps aux | wc -l 请计算正在运行的
命令 ps -elf | wc -l 进程有多少个?
<3>top 查看列出进程 交互式工具 (动态查找)
格式:top [-d 刷新秒数] [-U 用户名]
命令 top -d 1 每隔1秒刷新一次查找列出进程
按大写P进行CPU排序
按大写M进行内存排序
<4>pgrep — Process Grep
格式: pgrep [选项]… 查询条件
-l:输出进程名,而不仅仅是 PID
-U:检索指定用户的进程
-x:精确匹配完整的进程名
[1]命令 pgrep -l a
[2]命令 pgrep -lU lisi
[3]命令 pstree -ap lisi
[4]命令 pgrep -x crond
[5]命令 pgrep -lx crond
4.控制进程(进程前后台的调度)
<1>&符号:正在运行的状态放入后台
<2>Ctrl + z 组合键 挂起当前进程(暂停并转入后台)
<3>jobs 命令 查看后台任务列表
<4>fg 1命令 将后台编号为1的任务恢复到前台运行
<5>bg 1命令 激活后台编号为1的被挂起的任务
5.取消进程的方法
<1>Ctrl+c组合键 中断当前命令程序
<2>kill PID … 按照PID终止命令程序
<3>kill -9 PID … 按照PID强制终止命令程序
<4>killall -9 进程名 … 按照进程名强制终止命令程序
<5>pkill -9 查找条件 … 按照查找条件强制终止命令程序
三十一.配置网络参数
1.永久主机名的配置文件
[1]命令 hostnamectl set-hostname svr7.tedu.cn 永久修改主机名为svr7.tedu.cn
相同于 echo svr7.tedu.cn > /etc/hostname
[2]命令 hostname svr7.tedu.cn 暂时修改主机名为svr7.tedu.cn
[3]命令 hostname 查看当前主机名
相同于 cat /etc/hostname
2.修改网卡命令规则(eth0,eth1,eth2…)
命令 vim /etc/default/grub 修改grub内核遇到程序
1| ifconfig | head -2
ens33:flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 00:0c:29:8a:72:4f txqueuelen 1000 (Ethernet)
2| vim /etc/default/grub 修改grub内核遇到程序(进入程序在最长的命令行中的引号内写入红色的内容)
………
GRUB_CMDLINE_LINUX="……… quiet net.ifnames=0 biosdevname=0"
………
3| grub2-mkconfig -o /boot/grub2/grub.cfg 让网卡命名规则生效
Generating grub configuration file …
Found linux image: /boot/vmlinuz-3.10.0-862.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-862.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-144b31d542714ea78be411c3f68f7092
Found initrd image: /boot/initramfs-0-rescue-144b31d542714ea78be411c3f68f7092.img
done
4| reboot 重启生效
5| ifconfig | head -2
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.81.132 netmask 255.255.255.0 broadcast 192.168.81.255
3.删除命令的命名(第一阶段留下virbro网卡就行)
[1]命令 nmcli connection show查看系统的网卡命名
[2]命令 nmcli connection delete eth0删除eth0网卡
[3]命令 nmcli connection delete 有线链接\ 1删除有线连接 1网卡
4.添加命令的命名
命令 nmcli connection add type ethernet ifname eth0 con-name eth0
添加一个以太网类型,真实网卡名字为eth0,命令的命名为eth0
解析: nmcli connection 添加 类型 以太网设备 网卡设备名为eth0 nmcli命令的命名为eth0
5.修改IP地址,子网掩码,网关地址
方法一:
1| nmcli connection modify eth0 ipv4.method manual ipv4.addresses192.168.4.7/24 ipv4.gateway 192.168.4.254 connection.autoconnect yes
解析: nmcli connection 修改 网卡名 ipv4.方法 手工配置 ipv4.地址192.168.4.7/24 ipv4.网关 192.168.4.254 每次开机自动启用以上所有参数
2| nmcli connection up eth0 激活
3| ifconfig | head -2
网卡配置文件:/etc/sysconfig/network-scripts/ifcfg-eth0
方法二:
1| nmtui 交互式的配置网络参数
6.网卡配置文件 (/etc/sysconfig/network-scripts/ifcfg-eth0)
[1]cat /etc/sysconfig/network-scripts/ifcfg-eth0 查看网卡配置文件
[2]route -n 查看网关地址信息
7.配置DNS服务器地址
1.DNS服务器:负责域名解析的机器,将域名解析为IP地址
/etc/resolv.conf:最终有效配置文件
1| echo nameserver 8.8.8.8 > /etc/resolv.conf 给/etc/resolv.conf的
DNS服务器设置成nameserver 8.8.8.8的名字
2| cat /etc/resolv.conf nameserver 8.8.8.8
nameserver 8.8.8.8
3| > /etc/resolv.conf 清空/etc/resolv.conf文件,与构建Web影响
8.修改模板机器
<1>KVM虚拟机:将UUID开头的行进行修改,修改为/dev/vda1
1| vim /etc/fstab
…….
/dev/vda1 /boot xfs defaults 0 0
…….
2| reboot
<2>VMware虚拟机:将UUID开头的行进行修改,修改为/dev/sda1
1| vim /etc/fstab
…….
/dev/sda1 /boot xfs defaults 0 0
…….
2| reboot
9.网卡配置文件: /etc/sysconfig/network-scripts/ifcfg-eth0
命令:vim /etc/sysconfig/network-scripts/ifcfg-eth0
删除UUID整行内容
三十二.真机与虚拟机的通信
1.真机为Linux
1| ifconfig private1 | head -2 查看虚拟网卡private1的IP地址
private1: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.4.254 netmask 255.255.255.0 broadcast 192.168.4.255
2|虚拟机配置网卡,连接private1网络
3| ping 192.168.4.7 测试通信:真机ping虚拟机
4| ping 192.168.4.254 测试通信:虚拟机ping真机
2.真机为windows:为vmnet1配置IP地址192.168.4.254/24
1| 查看真机虚拟网卡
2| 真机配置VMnet1的网卡IP地址为192.168.4.254 双击VMnet1
网络适配器
3| 配置虚拟机网络类型右击----》选择设置
4| 测试通信:Windows键+r快捷键
三十三.克隆虚拟机(克隆必须关闭模板机器)
1.虚拟机B配置
1| hostnamectl set-hostname pc207.tedu.cn 永久修改主机名
2| exit 关闭终端
3| 新开一个终端进行查看主机名
4| nmcli connection modify eth0 ipv4.method manual
ipv4.addresses 192.168.4.207/24 connection.autoconnect
yes
5| nmcli connection up eth0
6| ifconfig | head -2
7| ping 192.168.4.7
8|虚拟机B拍摄快照
9| poweroff
2.远程管理(Linux与Linux)
<1>安装远程管理软件包
1| rpm -qa | grep openssh
openssh-7.4p1-16.el7.x86_64
openssh-server-7.4p1-16.el7.x86_64
openssh-clients-7.4p1-16.el7.x86_64
<2>SSH协议:为顾客提供安全的shell环境,默认端口为TCP 22
ssh [选项] 服务器
ssh [选项] 用户名@服务器
ssh [选项] -l 用户名 服务器
1| ssh root@192.168.4.207进入远程管理回答yes和密码即可
………necting (yes/no)? yes
root@192.168.4.207’s password: #输入密码
2| touch /root/hahaxixi.txt
3| exit 退出远程管理
登出
Connection to 192.168.4.207 closed.
4| cat /root/.ssh/known_hosts 查看曾经记录远程管理的机器
<3> 安全复制工具 scp = ssh+cp
scp 文件 用户名@服务器:路径
scp -r 目录 用户名@服务器:路径
[1]命令 scp /etc/passwd root@192.168.4.207:/root 将本机上的passwd
文件复制到root用户ip为192.168.4.207的root目录中
[2]命令 scp root@192.168.4.207:/etc/shadow /mnt/ 将root用户ip为
192.168.4.207的shadow文件复制到本机上的mnt目录中
[3]命令 scp -r /home root@192.168.4.207:/root/ 将本机上的home目录复制到root用户ip为192.168.4.207的root目录中
<4> 实现ssh远程管理无密码验证
步骤一: 生成公钥(锁)与私钥(钥匙)进行验证
1| ssh-keygen 一路回车
…….save the key (/root/.ssh/id_rsa): 回车 设置默认保存位置
………assphrase): 回车 设置密码为空
……… again: 回车 设置密码为空
2| ls /root/.ssh/
id_rsa(私钥) id_rsa.pub(公钥) known_hosts
步骤二: 将公钥(锁)传递给虚拟机B
1| ssh-copy-id root@192.168.4.207
2| ssh root@192.168.4.207 测试无密码
3| exit
登出
Connection to 192.168.4.207 closed.
3.远程管理(windows与Linux)
xshell下载免费版或者MobaXterm_Professinal_20.3_Preview4
三十四.日志管理
1.系统和程序的“日记本”
<1> 记录系统、程序运行中发生的各种事件
<2> 通过查看日志,了解及排除故障
<3> 信息安全控制的“依据”
2.由系统服务rsyslog统一记录/管理
<1>日志消息采用文本格式
<2>主要记录事件发生的时间、主机、进程、内容
3.常见的日志文件
日志文件 主要用途
/var/log/messages 记录内核消息、各种服务的公共消息
/var/log/dmesg 记录系统启动过程的各种消息
/var/log/cron 记录与cron计划任务相关的消息
/var/log/maillog 记录邮件收发相关的消息
/var/log/secure 记录与访问限制相关的安全消息
4.常见的日志文件分析工具
<1>tail、tailf、less、grep等 文本浏览/检索命令
<2>awk、sed等 格式化过滤工具
5.tailf:实时跟踪
1| echo 123456 > /opt/1.txt
2| tailf /opt/1.txt
123456
5.用户登录分析
<1>users、who、w 查看已登录的用户信息,详细度不同
<2>last、lastb 查看最近登录成功/失败的用户信息
[1]命令 users 查看已登录的用户信息(粗略)
[2]命令 who 查看已登录的用户信息 pts:图形命令行终端
[3]命令 last 登录成功的用户
[4]命令lastb 登录失败的用户
6.Linux内核定义的事件紧急程度
<1>分为 0~7 共8种优先级别
<2>其数值越小,表示对应事件越紧急/重要

7.使用journalctl 工具
<1>作用:提取由systemd-journal服务搜集的日志(主要包括内核/系统日志,
服务日志)
<2>常见用法
[1]命令journalctl | grep 关键字
[2]命令journalctl -u 服务名 [-p 优先级]
[3]命令journalctl -n 消息条数
三十五.常用的网络工具
1.ip命令
<1>查看IP地址
命令 ip address show 相同于命令ip a s
2.临时添加IP地址
1| ip address add 192.168.10.1/24 dev eth0 给dev下eth0设置地址
192.168.10.1/24
2| ip a s 查看IP地址
3.ping 命令,测网络连接
Ping [选项 -c] 包个数 IP地址
1| ping -c 2 192.168.4.7 ping192.168.4.7IP两次
2| ping -c 3 192.168.4.7 ping192.168.4.7IP三次
3| ping -c 4 192.168.4.7 ping192.168.4.7IP四次
三十六.系统安全保护
1.SELinux (Security-Enhanced Linux)概述
<1>美国NSA国家安全局主导开发,一套增强Linux系统安全强制访问控制体系
<2>集成到Linux内核(2.6及以上)中运行
<3>RHEL7基于SELinux体系针对用户、进程、目录和文件提供了预设的保护策
略,以及管理工具
2.SELinux的运行模式
<1>enforcing(强制)、permissive(宽松)
<2>disabled(彻底禁用)
任何模式变成disabled模式,都要经历重启系统
<3>切换运行模式
(1)临时切换:命令setenforce 1或0 切换到强制或宽松
(2)固定配置:/etc/selinux/config 文件
1| getenforce 查看当前运行模式
Enforcing
2| setenforce 0 修改当前运行模式为宽松模式
3| getenforce
Permissive
4| vim /etc/selinux/config
SELINUX=permissive

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值