linux第一阶段学习笔记基础

linux学习day011.计算机基础运维人员的职责:7*24是服务器稳定运行数据不能丢失损坏提升用户体验常见的服务器种类DELLDELL1U2U20101850/19502850/29502010-2013R410/R610R7102014-2016R420/R430/R620/R630R720/R7302018R740IBM1U2U3U4U3550/M33550/M5365038503950H...

linux第一阶段学习笔记基础

linux学习

day011.计算机基础

运维人员的职责:

  • 7*24是服务器稳定运行
  • 数据不能丢失损坏
  • 提升用户体验
  • 常见的服务器种类

    • DELL

      DELL1U2U
      20101850/19502850/2950
      2010-2013R410/R610R710
      2014-2016R420/R430/R620/R630R720/R730
      2018R740
    • IBM

      1U2U3U4U
      3550/M3 3550/M5365038503950
    • HP

      DL388 Gen10 32G ddr4

      DL388 Gen9 16G ddr4

    • 联想

      SR650 16G DDR4 CPU一颗

      x3650 16G DDR4 CPU一颗

      SR550 16G DDR4 CPU一颗

    • 浪潮等等(别的需要自己了解)

      NF5280M5系列 16G DDR4

    服务器厚度用unit来表示 1U 2U 服务器高度

    1U两个网口

    2U四个网口

    服务器种类分为:

    • 机架式
    • 塔式(在IDC存储占地方)
    • 刀片式

    服务器组成

    • 电源
      • 双电源(双电路供电,民用电,商业用电,1U的电源瓦数为550W,2U的瓦数为750W)
      • UPS蓄电池 30min-1h
      • 柴油发电机
    • cpu
      • 负责运算和控制
      • cpu风扇负责散热(关键)
      • cpu品牌intel xeon
    • 内存
      • cpu和磁盘之前的缓冲设备
      • 程序:静态的 放在硬盘里边的视频 图片
      • 进程:播放视频 运行中
      • 守护进程:不间断运行在后台 或成为服务
    • 磁盘
      • 永久存放数据的地方
      • 磁盘的接口
        • IDE SCSI(淘汰)
        • SATA(机械) 7200-7500转速 优点:容量大 价格便宜 缺点:速度慢
        • SAS 10500转速
        • SSD(固态) 优点:速度快 缺点:容量小 价格贵
      • 磁盘的类型:机械磁盘和SSD固态硬盘
      • 性能与价格:SSD>SAS>SATA
      • 冷数据用SATA 热点数据用SSD

    RAID待补充

    RAID0

    img

    定义:

    RAID 0又称为Stripe或Striping,它代表了所有RAID级别中最高的存储性能。RAID 0提高存储性能的原理是把连续的数据分散到多个磁盘上存取,这样,系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求。这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能。

    工作原理:

    系统向三个磁盘组成的逻辑硬盘(RAID0 磁盘组)发出的I/O数据请求被转化为3项操作,其中的每一项操作都对应于一块物理硬盘。通过建立RAID 0,原先顺序的数据请求被分散到所有的三块硬盘中同时执行。从理论上讲,三块硬盘的并行操作使同一时间内磁盘读写速度提升了3倍。 但由于总线带宽等多种因素的影响,实际的提升速率肯定会低于理论值,但是,大量数据并行传输与串行传输比较,提速效果显著显然毋庸置疑。

    优缺点:

    读写性能是所有RAID级别中最高的。

    RAID 0的缺点是不提供数据冗余,因此一旦用户数据损坏,损坏的数据将无法得到恢复。RAID0运行时只要其中任一块硬盘出现问题就会导致整个数据的故障。一般不建议企业用户单独使用。

    总结:

    磁盘空间使用率:100%,故成本最低。

    读性能:N*单块磁盘的读性能

    写性能:N*单块磁盘的写性能

    冗余:无,任何一块磁盘损坏都将导致数据不可用。

    RAID1

    img

    定义:

    RAID 1通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据。当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID 1可以提高读取性能。RAID 1是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据。

    工作原理:

    RAID1是将一个两块硬盘所构成RAID磁盘阵列,其容量仅等于一块硬盘的容量,因为另一块只是当作数据“镜像”。RAID1磁盘阵列显然是最可靠的一种阵列,因为它总是保持一份完整的数据备份。它的性能自然没有RAID0磁盘阵列那样好,但其数据读取确实较单一硬盘来的快,因为数据会从两块硬盘中较快的一块中读出。RAID1磁盘阵列的写入速度通常较慢,因为数据得分别写入两块硬盘中并做比较。RAID1磁盘阵列一般支持“热交换”,就是说阵列中硬盘的移除或替换可以在系统运行时进行,无须中断退出系统。RAID1磁盘阵列是十分安全的,不过也是较贵一种RAID磁盘阵列解决方案,因为两块硬盘仅能提供一块硬盘的容量。RAID1磁盘阵列主要用在数据安全性很高,而且要求能够快速恢复被破坏的数据的场合。

    在这里,需要注意的是,读只能在一块磁盘上进行,并不会进行并行读取,性能取决于硬盘中较快的一块。写的话通常比单块磁盘要慢,虽然是并行写,即对两块磁盘的写入是同时进行的,但因为要比较两块硬盘中的数据,所以性能比单块磁盘慢。

    优缺点:

    RAID1通过硬盘数据镜像实现数据的冗余,保护数据安全,在两块盘上产生互为备份的数据,当原始数据繁忙时,可直接从镜像备份中读取数据,因此RAID1可以提供读取性能。
    RAID1是硬盘中单位成本最高的,但提供了很高的数据安全性和可用性,当一个硬盘失效时,系统可以自动切换到镜像硬盘上读/写,并且不需要重组失效的数据。

    总结:

    磁盘空间使用率:50%,故成本最高。

    读性能:只能在一个磁盘上读取,取决于磁盘中较快的那块盘

    写性能:两块磁盘都要写入,虽然是并行写入,但因为要比对,故性能单块磁盘慢。

    冗余:只要系统中任何一对镜像盘中有一块磁盘可以使用,甚至可以在一半数量的硬盘出现问题时系统都可以正常运行。

    RAID 5

    img

    定义:

    RAID 5是RAID 0和RAID 1的折中方案。RAID 5具有和RAID0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。同时由于多个数据对应一个奇偶校验信息,RAID5的磁盘空间利用率要比RAID 1高,存储成本相对较低,是目前运用较多的一种解决方案。

    工作原理:

    RAID5把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上,其中任意N-1块磁盘上都存储完整的数据,也就是说有相当于一块磁盘容量的空间用于存储奇偶校验信息。因此当RAID5的一个磁盘发生损坏后,不会影响数据的完整性,从而保证了数据安全。当损坏的磁盘被替换后,RAID还会自动利用剩下奇偶校验信息去重建此磁盘上的数据,来保持RAID5的高可靠性。

    做raid 5阵列所有磁盘容量必须一样大,当容量不同时,会以最小的容量为准。 最好硬盘转速一样,否则会影响性能,而且可用空间=磁盘数n-1,Raid 5 没有独立的奇偶校验盘,所有校验信息分散放在所有磁盘上, 只占用一个磁盘的容量。

    总结:

    磁盘空间利用率:(N-1)/N,即只浪费一块磁盘用于奇偶校验。

    读性能:(n-1)*单块磁盘的读性能,接近RAID0的读性能。

    写性能:比单块磁盘的写性能要差(这点不是很明白,不是可以并行写入么?)

    冗余:只允许一块磁盘损坏。

    RAID10

    img

    定义:

    RAID10也被称为镜象阵列条带。象RAID0一样,数据跨磁盘抽取;象RAID1一样,每个磁盘都有一个镜象磁盘, 所以RAID 10的另一种会说法是 RAID 0 1。RAID10提供100%的数据冗余,支持更大的卷尺寸,但价格也相对较高。对大多数只要求具有冗余度而不必考虑价格的应用来说,RAID10提供最好的性能。使用RAID10,可以获得更好的可靠性,因为即使两个物理驱动器发生故障(每个阵列中一个),数据仍然可以得到保护。RAID10需要42*N 个磁盘驱动器(N >=0), 而且只能使用其中一半(或更小, 如果磁盘大小不一)的磁盘用量, 例如 4 个 250G 的硬盘使用RAID10 阵列, 实际容量是 500G。

    实现原理:

    Raid10其实结构非常简单,首先创建2个独立的Raid1,然后将这两个独立的Raid1组成一个Raid0,当往这个逻辑Raid中写数据时,数据被有序的写入两个Raid1中。磁盘1和磁盘2组成一个Raid1,磁盘3和磁盘4又组成另外一个Raid1;这两个Raid1组成了一个新的Raid0。如写在硬盘1上的数据1、3、5、7,写在硬盘2中则为数据1、3、5、7,硬盘中的数据为0、2、4、6,硬盘4中的数据则为0、2、4、6,因此数据在这四个硬盘上组合成Raid10,且具有raid0和raid1两者的特性。
    虽然Raid10方案造成了50%的磁盘浪费,但是它提供了200%的速度和单磁盘损坏的数据安全性,并且当同时损坏的磁盘不在同一Raid1中,就能保证数据安全性。假如磁盘中的某一块盘坏了,整个逻辑磁盘仍能正常工作的。
    当我们需要恢复RAID10中损坏的磁盘时,只需要更换新的硬盘,按照RAID10的工作原理来进行数据恢复,恢复数据过程中系统仍能正常工作。原先的数据会同步恢复到更换的硬盘中。

    总结:

    磁盘空间利用率:50%。

    读性能:N/2*单块硬盘的读性能

    写性能:N/2*单块硬盘的写性能

    冗余:只要一对镜像盘中有一块磁盘可以使用就没问题。

    day031.安装Centos
  • 需要安装什么操作系统
  • 操作系统去哪里下载 www.centos.org
  • 2.网卡名称
  • centos5 6 eth0
  • centos7 ens33
  • 3.安装虚拟机步骤内容
  • LVM 逻辑卷管理
  • 磁盘分区
  • /boot 存放引导程序的 存放内核的地方 200M
  • swap 交换分区 内存<8 内存的1.5倍 3 4.5 内存>=8 8G 可动态调整
  • / 称为根
  • 4.网络连接不上的原因
  • 创建虚拟机的时候,网络配置不对.

  • 检查虚拟网络编辑器中的-子网,掩码,NAT设置

    保证网络连通的一致性

  • 查看windows中的VM相关服务

    重启相关服务,防治僵尸进程

  • 各种疑难杂症

  • day041. SSH连接排错
  • IP地址
    • 局域网
      • 私网IP 例如:192.168.19.200
    • 虚拟机
      • 私网IP 例如:VMware 里边的虚拟机 10.0.0.200
    • 公网ip
      • 需要上网用的 服务器的ip地址
      • IDC机房 公网IP
      • 阿里云 公网IP
  • 2.端口 22(10.0.0.200)(ping 10.0.0.200) 如果通为正常 超时不正常

    以下为小故事更形象

    屌丝(运维)去洗浴中心之路

  • 10.0.0.200 (洗浴中心地址)

  • 劫财劫色(firewalld NetworkManager SElinux防火墙)(暂时不用)

    systemctl stop Network Manager

    systemctl disable NetworkManager

  • 搓澡 拔罐 按摩 桑拿 (特殊服务)

    80 443 8080637922

  • telnet 10.0.0.200 22 端口对应服务 虚拟机排查:ip add 要熟练掌握

    • 首先查看路通不通 ping 10.0.0.200

      • ping不通

        • 首先查看网卡ip地址是否正常

          • 是否有ip地址 是否是24位 是否为up状态
        • 在虚拟机中ping网关

          • 如何查看网关

            cat /etc/sysconfig/network-scripts/ifcfg-eth0

            GATEWAY=10.0.0.254

            查看网关配置否是正确

            编辑-虚拟网络编辑器-vmnet8-net设置 是否和你配置的相同

          • 查看虚拟网络编辑器是否有vmnet8 如果没有 关闭虚拟机 以管理员身份运行

        • 查看本地网络连接 查看VMware8 IP地址是否10.0.0.*同一网段(前三段必须相同)

          • 如果网段(前三段)不一样:

            1.编辑-虚拟网络编辑器-还原默认设置(你配置的10.0.0.0 255.255.255.0没啦,重新配置)还原前需关闭虚拟机(检查IP地址 systemctl restart network)

            2.固定IP地址 打开我的电脑 输入网络连接 找到vmnet8-属性-双击协议版本4-使用下面的IP地址 IP地址 10.0.0.1 子网掩码 255.255.255.0

    • 测试端口是否打开 telnet 10.0.0.200 22

  • 虚拟机上不去网:

    • ping 网关 10.0.0.254
      • ping不同 查看网关地址 网卡配置文件 配置错了
      • cat /etc/sysconfig/network-scripts/ifcfg-eth0
      • 如果不对 更改地址即可
      • 编辑-虚拟网络编辑器 -vmnet8-net设置-网关(必须和你网卡配置文件网关相同)
    • ping 公网IP地址1.2.4.8 8.8.8.8 114.114.114.114
      • 检查DNS是否能ping通
      • cat /etc/sysconfig/network-scripts/ifcfg-eth0
      • DNS=1.2.4.8
      • 检查cat /etc/resolv.conf 文件你如果是空的
        • systemtcl restart network
        • 手动配置 vi /etc/resolv.conf
          • nameserver 1.2.4.8
  • 缺少关键文件 /var/empty/sshd

    systemctl restart sshd
  • day051.linux命令行组成结构命令条件/参数对象/文件/目录
    结婚空格-有房有车有存款空格白富美
    结婚空格-没车有房有存款空格是个女的就行
    rm空格-f空格/tep/oldboy.txt
    [root@lodboy~]##<-这是超级管理员root用户对应的命令行[root@lodboy~]$#<-这是普通用户 oldboy对应的命令行其中root==>代表当前登录的用户 @分割符oldboy代表当前主机名~表示用户当前所在路径#表示root管理员提示符$表示普通用户提示符[root@oldboy~]#当前用户 分隔符主机名当前路径  提示符
    2.关机命令
    重启命令shutdown -r 10#10分钟之后重启shutdown -r 0#立刻重启shutdown -r now#立刻重启关机命令shutdown -h 10#10分钟之后关机shutdown -h 0#立刻关机shutdown -h now#立刻关机取消正在进行的关机或重启命令shutdown -c重启reboot关机poweroffhalt
    3.关机,重启和注销的命令列表命令说明
    关机命令
    shutdown -h now立刻关机(生产常用)
    shutdown -h 11分钟以后关机 也可以是时间点 11:00
    halt立即停止系统,需要人工关闭电源,是reboot的链接文件
    init 0切换运行级别到0,0表示关机
    poweroff立即停止系统,并关闭电源
    重启命令
    reboot立即重启(生产常用)
    shutdown -r now立即重启(生产常用)
    shutdown -r 11分钟以后重启
    init 6切换运行级别到6,6表示重启
    注销命令
    logout注销退出当前用户窗口
    exit注销退出当前用户窗口,快捷键Ctrl d
    4.linux命令行常用快捷键快捷键执行命令意思
    ctrl ccancel 取消当前操作
    ctrl lclear 清屏
    ctrl d退出当前用户
    ctrl r查找历史命令
    ctrl a把光标移动到首位
    ctrl e把光标移动到最后
    ctrl u把光标到行首的内容删除/剪切
    ctrl y粘贴
    delete把光标所在处从前往后删除内容
    ctrl k把光标到行尾的内容删除/剪切
    ctrl →向右移动一个单词
    ctrl ←向左移动一个单词
    ctrl s锁屏
    ctrl q解锁
    5.linux 文件及目录核心命令
  • pwd:显示当前所在的位置信息

    pwd查看当前所在的目录此命令一般直接使用
  • cd:切换目录

    cd 切换目录cd 的常用选项:cd ~ 切换到当前用户的家目录cd . 保持当前目录不变cd .. 切换到上级目录cd - 在最近的两次工作目录之前来回切换*cd / 直接切换到/目录
  • tree:以树形结构显示目录下内容

    tree 命令语法:tree 选项 目录tree 以树形图列出文件目录结构tree 常用选项:-d 只显示目录-L 遍历牡蛎的最大层数,-L后加大于0的正整数 -F 在条目后加上文件类型的指示符号(*,/,=,@,|,其中一个)安装tree的命令: yum install tree -y
  • mkdir 创建目录

    mkdir 创建目录mkdir 常用选项:-p 递归常目录 可以连续创建多个目录-m 设置新目录默认对用的权限创建目录;mkdir{1..3}加花括号创建连续目录,用..隔开 花括号内可以是连续数字,连续字母注:适用于创建不连续的目录mkdir{dir,yy,uu}创建不连续目录时,用逗号隔开
  • touch:创建文件或更改文件时间戳

    touch 创建文件 修改文件时间{} 生成序列{1..10}{01..10}{a..z}
  • ls:显示目录下内容及属性信息的命令

    ls 查看当前目录下内容ls常用选项:-a 显示置顶目录下所有子目录与文件,包括隐藏文件-l 以列表方式显示文件的详细信息-h 配合 -l 以人性化方式显示文件大小,以K M G 为单位-t 根据最后修改时间排序,默认是以文件名排序,通常与-l 连用-F 在条目后加上文件类型的只是符号(*,/,=,@,|,其中一个)注:可以标识文件类型-d 显示目录本身的信息 而不是显示目录的内容-r 逆序 倒序排序 Wls-lt 按照时间进行排序ls-lrt 找出最新的文件-i 显示索引节点信息--full-time 以完整的时间格式输出
  • cp:复制文件或者目录

    cp 命令语法:cp 源文件 目标文件cp 复制文件或目录cp 常用选项:-r 递归式复制目录 即复制目录下的所有层级的子目录及文件-p 复制的时候保持属性不变-d 复制的时候保持软连接(快捷方式)-a 等于-pdr
  • day061.echo “I am studying linux” 把内容输出到屏幕
    > 重定向 先清空在写入 如果文件不存在 直接创建文件>> 追加重定向 在行尾插入内容{1..10} {a..z}{A..Z}
    2.mv move移动
    mv 文件或目录 要放到哪里mv oldboy.txt test.txt#修改了文件名
    3.rm 删除目录或文件 慎用 工作中使用mv代替rm
    -f 强制删除 不提示-r 递归删除-i 是否交互(提示是否删除)
    4.vim快捷键
    echo 可重定向 可追加第一个里程碑 打开文件vim test.txt第二个里程碑 写入内容i am studying linuxi insert 进入编辑模式 esc 进入底行模式:wq 保存并退出
    5.命令行模式快捷键:
    h 左移一个字符 j 下移一行k 上移一行l 右移一个字符G 移动到缓冲区的最后一行gg 移动到缓冲区第一行2200G 移动到缓冲区中第2200行 #2200 是数字可变x 删除当前光标坐在位置的字符dd 删除当前光标所在行2dd 删除两行u 撤销上次执行的命令dG 删除全部光标后D 快速删除光标到行尾C 快速删除光标到行尾并进入编辑模式^ 移动到行首 Home$ 移动到行尾 End↑ ↓ ← → 光标移动yy 复制一行内容(3yy 复制光标以下三行)p 粘贴内容d0 删除光标前到行首的内容o 在光标所在列下新增一列并进入输入模式O 在光标所在列上方新增一列并进入输入模式dw 删除一个单词1move10 把第一行剪切到第十行的后面 简写mo1copy10 把第一行复制到第十行的后面 简写co:%s/root/oldboy/g%文本内全局替换不加 g 只查找替换行内第一个匹配到内容 加上g行内所有匹配到内容替换ZZ 保存退出
    6.cat 查看文件内容
    -n 查看文件总行数 cat -n 文件-b 不统计空行  就是文件中有空行然后不统计
    7.编辑模式显示行号
    :set nu 
    8.查找文件名
    find / -type f -name"文件名"
    day071.vim底行模式搜搜索 用/ 输入你想搜做的内容
  • n查找下一个 N往上查找 查找上一个
  • q! 强制退出不保存
  • wq 保存并退出
  • wq! 强制保存退出
  • vim -r 文件名(有交换文件的时候使用,需要保存的时候)
    2.vim 不正常退出 会产生隐藏文件.swp
  • 只要使用vim 打开文件 则会产生一个隐藏文件.xxx.swp 正常退出则不会产生.xxx.swp
  • 如果不恢复新加入内容 直接删除.xxx.swp 删除后再编辑文件
  • 如果要恢复新加入内容 使用 vim -r 文件名 进入文件回车即可恢复,完成后删除隐藏文件.xxx.swp
  • 3.目录结构
  • 一切从根开始
  • linux根目录下面的目录是一个有层次的树状结构
  • linux如果想访问所有设备,必须得有接口才可以使用
  • 如果没有接口的设备 相当于没有窗户,没有门的
  • 如果想访问 必须给访问一个接口 挂载点
  • 4.Centos下磁盘分区分区前分区后
    /dev/sda 第一块盘sda1
    sda2
    sad3
    /dev/sdb 第二块盘
  • 如何把光盘放入系统

    挂载:mount /dev/cdrom /mnt/卸载:umount -f /mnt/
  • day081.目录结构目录目录含义
    bin命令 二进制文件存放目录 binary
    boot系统引导程序***
    devdevice 设备 光盘 硬盘 (磁盘挂载才能使用)***
    etc存放系统的配置文件***
    home普通用户的家目录 ***
    lib
    lib64
    libary库 库文件
    lib64 系统是64位 库文件
    lost found磁盘或文件系统损坏 断电 临时文件位置
    mnt临时的挂载点***
    挂载点–目录–给设备提供了一个入口
    optoption第三方软件都安装在这里
    proc虚拟的目录 目录里边的内容是内存中信息
    (内核 进程 软件) 为了解决一切皆文件 ***
    root皇宫 root 用户的家目录***
    sbinsuper binary 超级命令 只有root用户能使用的命令
    selinuxselinux 及他的配置文件存放的位置
    sys虚拟的目录 内存信息
    tmptemp 临时文件的存放位置 垃圾堆
    usr存放用户的程序
    varvarlabla 经常变换的文件 系统日志
    2.重要的目录 网卡配置文件
    /etc/sysconfig/network-scripts/ifcfg-eth0
    TYPE=Ethernet#以太网BOOTPROTO=none#以什么方式获取ip地址 两种方式#BOOTPROTO=DHCP #自动获取下发ip地址#BOOTPROTO=static#静态ip地址 手动配置的ip地址NAME=eth0#网卡名DEVICE=eht0#硬件网卡的名称 0代表了第一块网卡,1代表第二块网卡ONBOOT=yes#开机自动激活网卡IPADDR=10.0.0.200#IP地址PREFIX=24#子掩码225.225.225.0 #NETMASK=255.255.255.0GATEWAY=10.0.0.254#网关DNS1=1.2.4.8DNS2=114.114.114.114
    3.DNS配置文件
    /etc/resolv.conf
    • 优先于网卡DNS 优先进行解析
      • DNS配置文件 如果DNS配置在网卡 重启网卡 则网卡DNS会覆盖resolv.conf
      • 网卡中配置:网卡中不配置DNS,只在/etc/resolv.conf中配置DNS 重启网卡不覆盖
    day09etc/ 下目录结构内容
    网卡配置文件/etc/sysconfig/network-scripts/ifcfg-eth0

    /etc/resolv.conf

    /etc/resolv.conf该配置文件必须有DNS服务器地址优先于网卡DNS 优先进行就习1.DNS配置文件如果dns配置在网卡 重启网卡 则网卡的dns则会覆盖resolv.conf2.网卡中配置网卡中不配置dns 只在/etc/resolv.conf 中配置dns 重启网卡不覆盖

    /etc/hosts

    /etc/hosts 本地配置解析域名的

    hostname 查看主机名称

    hostname -I 查看或者获取IP地址hostname 主机名称 临时生效 重启失效 临时配置 centos7 相同/etc/sysconfig/network 永久配置主机名 (centos 6)centos7 配置主机名方法方法1:hostnamectl set-hostname oldboyedu 永久设置主机名 (centos7)重启系统生效方法2:/etc/hostname centos7 主机名配置文件 重启系统生效

    /etc/fstab

     /etc/fstab (开机自动挂载)系统开机为我们的硬件和挂载点的对应关系  按照配置文件的格式写入  开机自动挂载我们的设备

    /etc/rc.local

    /etc/rc.local  开机自动执行此配置文件中的内容(每次开机都会执行一遍)重要的服务开机自动启动 (或者其他程序,包括命令都可执行)centos6 直接写入即可生效centos7 必须加一个执行权限 chmod  x /etc/rc.d/rc.local

    /etc/profile 环境变量配置文件

    什么是变量变量存在于内存name="刘阔阔" 把右边的值赋值给左边输出变量echo $name1.都是大写2.在任意的位置都可以使用3.是系统已经定义好的环境变量配置文件相当于国法 全局配置文件 (针对所有的用户生效) 国法规定/etc/profile/etc/bashrc家规 针对当前用户生效 (你当前登录的用户,只影响本身)~/.bashrc~/.bash_profile

    /etc/bashrc 别名 函数

    /etc/issue

    用户登录系统前显示的内容,默认显示 操作系统版本 内核版本/etc/issue.net实际工作 需要清空 登录前不提示清空文件的方法方法一:vim 编辑 dG 从光标所在的处删除到文件底部方法二:echo > /etc/issue 清空文件 > /etc/issue

    /etc/motd 用户登录系统后显示的内容

    /etc/redhat-release 查看当前os版本

    /usr/local 编译安装的默认安装位置

    &&

    makdir liukuokuo/ && touch /root/liukuokuo/lkk.txt前面的命令执行成功  则执行后面的命令如何在linux下同时执行两条命令ifdown eth0 && ifup eth0
    Linux 下运行级别 ********
    cat /etc/inittab 查看运行级别等级centos6 启动级别  runlevel  查看运行级别
    centos6centos7 target
    0 关闭 关闭操作系统poweroff.target
    1 单用户模式 救援模式 没有网络rescue.target
    2 多用户模式 NFS 没有网络multi-user
    3 完全多用户 命令行 默认就是3 当前使用的级别multi-user
    4 保留 待开发multi-user
    5 桌面图形化模式 需要安装desktop 才可运行graphical.target
    6 重启 重新启动操作系统reboot.target

    使用方式

  • 在命令行如何使用
    • init 6 直接重启 后边直接跟运行级别
  • 配置文件
    • /etc/inittab 默认级别3 可更改为其他级别进行重启
  • centos7 target

  • 查看运行级别
    • runlevel
      • ll /etc/systemd/default.target
  • 如何设置运行级别 /etc/inittabcentos7不生效了
    • systemctl get-default获取默认的运行级别
    • systemctl set-default poweroff.target 设置默认的运行级别
  • 软件安装 yum rpm 源码

    方法一:

    yum 最常用 缺什么安装什么缺少依赖 解决依赖问题 少什么依赖yum自动安装什么依赖yum install vim tree net-tools-y 安装过程中 提示是否继续 一路yesyum repolist 查看所有的安装包的个数yum list 列出所有的安装包删除卸载已安装软件:yum remove 包名1.yum 安装  命令的名称  服务的名称  (包的名称) yum list  列出所有没有安装过的安装包  可安装的 1.我要安装一个软件 名称为 wget 2.我搜索到这个报名yum list|grep wgetgrep 'xxxx' file  =====  cat file|grep 'xxxx'ls|grep xxx 3.进行yum安装yum -y install wget删除: 使用yum安装的软件包 建议以yum删除 yum会解决依赖问题yum 删除也会自动解决依赖问题

    方法二:

    rpm 不会自动解决依赖问题 需要自己安装依赖rpm -ivh xxx.rpm-i install-v verbose显示安装过程-h 以人类可读的方式显示rpm -qa查看所有的安装包q query 查看a all 所有的rpm -qa tree lrzsz 查看是否安装tree和lrzszrpm -ql  查询软件安装的所有的文件位置 详细信息rpm -e 软件包全名 卸载软件1.你要删除一个软件 名称为wget2.搜索全名rpm -qa|grep wget

    方法三:

    编译安装  使用rpm -qa 无法查询编译安装的软件你想要什么功能 不想要什么功能  自定义  有选择的安装1. 拿到源码2. 编译安装备菜/切菜做菜 上菜 吃./configuremake  make install 找到目录使用 rm -rf
    day101./var 目录结构 variable 经常变换的文件 系统日志

    /var/log/messages 系统默认的日志文件

    日志切割 默认10分钟切割 为了防止日志文件过大 控制在1G

    /var/log/secure 系统安全的日志 记录了用户登录的过程信息

    2./proc 目录结构 (内存映射)

    /proc/cpuinfo

    /proc/cpuinfo cpu信息 使用命令查看 lscpuprocessor: 0  第几个核心[root@oldboyedu ~]# cat /proc/cpuinfo|grep 'processor'processor: 0processor: 1processor: 2processor: 3physical id: 0  第几个CPU 几颗  几路[root@oldboyedu ~]# cat /proc/cpuinfo|grep 'physical id'physical id: 0physical id: 0physical id: 1physical id: 1CPU(s): 4On-line CPU(s) list:0-3Thread(s) per core: 1Core(s) per socket: 2Socket(s): 2

    /proc/meminfo

    /proc/meminfo 查看内存信息 使用命令查看 free -hMemTotal:  1528412 kB总共内存MemFree:1253588 kB剩余内存MemAvailable: 1229392 kB可用内存Buffers:2076 kB缓冲Cached:87272 kB缓存

    /proc/loadavg

    /proc/loadavg 负载 衡量当前系统的一个繁忙程度怎么衡量呢数字达到你cpu核心的数量cpu  4核心  =====  如果负载已经到4  说明已经繁忙cpu  2核心  =====  如果负载已经到2  说明已经繁忙cat /proc/loadavg 0.00 0.010.05 1/126 1484最近1分钟  最近五分钟最近15分钟查看负载的命令:w 查看负载信息 可看 多少用户 运行时间uptime 查看负载信息top 动态查看负载信息

    /proc/mounts 查看挂载信息

    /proc/mounts  查看挂载信息
    3.系统优化.1

    例如:你用的操作系统的版本是多少

    cat /etc/redhat-releaseCentOS Linux release 7.5.1804 (Core) 

    例如:你用的操作系统的版本是多少

    uname -r uname -a3.10.0-862.el7.x86_64

    命令行

    [\u@\h \W]\$u用户 h主机名称 W相对路径 w绝对路径[root@lkk ~]
    day11系统优化 .21.修改yum源 修改为国内 下载度快
    /etc/yum.repos.d/  配置yum源目录/etc/yum.repos.d/CentOS-Base.repo  yum仓库地址 必须得有 如果没有 找不到软件查看 命令是否存在 which wgetwget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repoyum报错 可执行 yum clean all(清空缓存)
    2.创建用户
    cat /etc/passwd|grep 用户名查找用户名useradd xxxx添加普通用户查看用户是否存在 id xxxxcat /etc/passwd|grep xxxx筛选
    3.配置密码
    passwd xxxx在 普通用户中切换到管理员用户 方法一:logout方法二:exit方法三:ctrld
    4.关闭SELinux
    永久关闭SELinux/etc/selinux/configenforcing 表示selinux已经启动状态permissive 表示selinux关闭状态 会提示警告信息disabled 表示selinux 关闭状态关闭selinux SELINUX=enforcing修改为SELINUX=disabled 重启系统生效getenforce查看当前状态 selinux 是否开启临时关闭SElinuxsetenforce 0 0是关闭 1是开
    5.关闭防火墙
    1.临时关闭防火墙(centos7)systemctl stop firewalld/etc/init.d/iptables stop (centos6)service iptables stop临时关闭 重启失败2.如何查看防火墙状态 (centos7)systemctl status firewalldiptables-save 没有提示就是最好的提示 没有提示就是关闭状态(centos6)/etc/init.d/iptables statusiptables-save3.永久关闭防火墙 (centos7)chkconfig --list 查看所有服务是否开机启动systemctl disable firewalld(禁止开机启动)chkconfig iptables off (centos6)什么时候开启和关闭防火墙 (在公司禁止关闭运行中的防火墙)1.什么时候开启1.你的服务器是公网ip地址2.服务器是阿里云的并且对外提供服务的(云服务)3.端口:ssh22远程连接端口2.什么时候不开启1.内网办公室外面的人不容易访问到你的服务器2.服务器单纯的测试 内部测试 不安装任何对外服务3.高并发访问服务器(硬件防火墙)

    提问:pv uv 什么是独立ip

    我们的服务器应该说什么样的配置

    web 要什么硬件配置 NFS什么配置 MySQL是什么配置 负载均衡用什么配置

    source 让配置文件重新生效 部分配置文件可用

    6.上传下载
    xshell和CRT上传下载 必须安装lrzszxshell 直接拖拽上传 下载使用 sz文件名CRT上传 在命令行输入rz然后选择文件进行上传 sz文件名 下载
    7.乱码
    如果出现乱码问题,需要修改编码,文件编码,或者xshell编码export LANG="zh_CN.UTF-8"cat /etc/locale.conf修改配置文件后重启生效source /etc/locale.conf
    day12seq 序列
    [root@lkk ~]#seq 41234[root@lkk ~]#
    less 查看文件*********
    less 文件名-N 查看行号f 往下翻一页 一次翻一页b 往上翻一页 一次翻一页/ 搜索 n 查找上一个 N 查找上一个G 快速到文件尾部q 退出 ctrl c 结束
    more 查看文件
    f 往下翻一页 一次翻一页b 往上翻一页 一次翻一页到最后自动退出
    head* ** **
    默认显示文件前10行-n 显示多少行head -n 2 passwd 显示前两行 简写 head -2 passwd
    tail * ** **
    默认显示文件后10 行-n 显示多少行-f 一直显示 简写 tail 监控最新的日志输出tail -n 2 passwd 显示后两行 简写 tail - 2 passwd
    tr 替换**
    linux 大部分命令都失直接显示 不更改源文件 安全/n 换行-d 删除-c 取反cat 文件|tr "xx" "dd"
    alias 别名
    查看别名alias如何设置别名临时生效alias rm="echo 我是你爸爸爸"永久生效环境变量执行的顺序 坑/etc/profile 开机执行此文件重新打开xshell窗口不生效.bashrc新开窗口则生效 执行家目录下的环境变量文件 .bashrc .bash_profile使用场景 可以把长文件设置别名 快速执行 提高工作效率
    day131.grep
    grep "xxx" 文件ll|grep "xxxx"^ 以什么开头$ 以什么结尾< 输入重定向 把后面的文本 输入到前面的命令* 所有-v 取反grep -v "age" 1.txt案例:把文本中的空行和# 删除只留下可执行行egrep -v "#|^$" 1.txt
    2.文件属性

    文件属性 文件和目录查找命令

    ll -hi ==等同于==ls -lhi-l long 详细信息-h 人类可读-i inode号

    属性后面的 . 不用管 如果你是开启selinux创建的文件则带 . 关闭后没有

    inode号文件类型文件的权限硬链接个数属主属组文件或目录大小时间文件名目录名
    33596923-rw-r–r-1rootroot4117:042.txt
    33574978-rw-------1rootroot1.5K03:40anaconda-ks.cfg
    17382074drwxr-xr-x2rootroot620:54back
    33596876-rw-r–r--1rootroot1.8M21:13CentOS_7
    inode index node 相当于 inode里存放着 文件的属性 block硬链接 相当于 文件有多少个入口 (可以理解为复制了一份)时间 创建时间 最后的访问时间 修改文件的时间第一列 inode index node 索引节点inode 称为index node 索引(目录)节点,他的作用是存放文件的属性信息以及block的位置(指向文件的实体指针)如何查看当前系统总共和使用了多少个inodedf -i第二列的第一列文件类型查看文件类型file 文件或者目录- 普通文件d 目录directoryl 软连接 softlinks 字符连接 *****b 块设备 blockc 字符设备 character specials socket设备p 管道

    1557913666031

    day14 压缩命令1.压缩包格式
    tar常用zip常用bz不常用bz2不常用z不常用
    2.压缩命令 格式 及其参数
    tar 压缩包名称 文件 可跟多个目录或文件注意:压缩最好是在相对路径 如果不是相对路径 需要加参数P如果不加参数报错 tar: Removing leading `/' from member namestar  0516.tar.gz  1.txt /stu/tar 压缩完成后的要压缩的要压缩的如果不指定位置 压缩完成后 压缩包存放在当前目录下如果要压缩到别的目录下 跟上路径参数 必须以.gz结尾 文件名 all.tar.gz all自定义tar zcvf all.tar.gz /etc oldboy/oldboy.txt参数可以简写 zcf-z 使用gzip压缩-c 创建-v 显示压缩过程-f 指定压缩文件 必须跟在所有参数的后面-t 查看压缩包内的内容-C 指定解压到哪里-x 从压缩包中提取文件查看压缩包的内容 只能查看包含的目录和文件 内容无法查看 tar -ztf all.tar.gz指定压缩的位置tar zxvf all.tar.gz /etc oldboy/xxxx.txt解压压缩包tar zxvf all.tar参数简写 xf解压到指定目录tar zxvf all.tar.gz -C /tmp/zip压缩相对简单压缩成zipzip all.zip xxxx.txt解压zip文件unzip xxx.txt
    3.文件的属性
    Linux下所有的目录和文件全部都是9位权限位注意:所有和网站相关的目录 目录全部都是755权限 文件全部都是644权限例:8192 drwxr-xr-x 2 root root  19 May 16 10:34 /etc/hostsd rwx r-x r-x三位为一组r read 可读 4w write 可写 2x execute 可执行 1属主 (创建者权限) 属组(家庭) 其他用户
    4.软连接和硬链接
    硬链接什么是硬链接:如果一个系统文件中(同一个分区)多个文件具有相同inode号 则所有文件互为硬链接硬链接相当于给文件增加了一个入口相当于超市的多个入口创建硬链接ln 源文件 目标文件(可改名)硬链接的作用:如果修改源文件或者硬链接文件 则所有的文件都会修改文件备份 增强重要文件的安全 删除其中一个硬链接 只是删除了指向 (相当于堵死了一个超市大门)删除硬链接:如果只删除源文件 不删除硬链接文件 则文件不会被删除只有删除源文件和所有的硬链接文件 则文件被删除如果普通文件(没有被系统调用的文件)硬链接数0 则被删除 如果只删除源文件或者硬链接 则只是删除了inode指向 没有真正的删除block只有删除源文件和所有的硬链接 则真正意义上删除了block 文件被删除硬链接显示为普通文件 可直接使用rm 删除当所有的硬链接文件及源文件被删除后,再存放新的数据会占用这个文件的空间,或者磁盘fsck检查的时候,删除的数据也会被系统回收。
    软链接  软连接是一个普通文件 以l 开头  文件内存着源文件的路径  相当于windows的快捷方式  创建软链接
    day15 通配符跟特殊符号1.首先回顾一下我们用过的"特殊符号"
    .. #当前目录的上一级目录! #find与awk中表示取反,linux 命令行表示历史记录? #任意一个字符,通配符# #表示注释| 管道符$ 以什么什么结尾(正则)^ 以什么什么开头(正则)~ 当前用户的家目录`` 反引号 $() 引用命名的结果&& 并且 同时成立 前面的命令执行成功  则执行后面的命令[] 表示一个范围 即合 [abcdefg][a-g](正则,通配符){} #产生一个序列
    2.管道命令使用 与 | xargs

    xargs 通常与find 结合使用

    特殊符号与通配符

    day16 正则表达式1.首先我们要知道什么是正则表达式
    • 正则表达式就是为了处理大量的文字|文本|字符串而定义的一套规则和方法。
    • 通过定义的这些特殊符号的辅助,系统管理员就可以快速过滤,替换或输出需要的字符串。
    • Linux正则表达式一般以行为单位处理的。
    2.正则表达式分类
    • 基础正则表达式(BRE basic regular expression)
      • ^ $ . * [] [^]
    • 扩展正则表达式(ERE extended regular expression)
      • |() {} ?

    3.使用正则表达式注意事项

    • Linux正则表达式一般以行为单位处理的。
    • 注意特殊符号 中英文
      • ​ ‘’ “” () 。 * …… ¥ | {} 【】
      • ​ ‘’ “”(). *^$ | {} []
    4.基础正则
    1. ^ 以什么什么开头的行^m 以m开头2. $ 以什么什么结尾的行m$ 以m结尾3. ^$ 空行什么符号都没有4. . 任意一个字符不会匹配空行5. \ 撬棍转义字符 还原本质6. * 前一个字符连续出现0次或者0次以上 1 11117. .* 所有 任何符号 包含空行 .*所有符号 任何符号 连续出现的字符  有多少匹配多 正则表达 所有符号 或 连续出现 会表现出贪婪性 8. [][abc] 相当于是一个符号(每次匹配1个字符)找出包含a或b或c()小括号[]中括号[a-z][A-Z][0-9][0-Z]{}花括号9. [^][^abc] 相当于一个符号 ^在括号中代表取反的意思 (每次匹配一个字符) 找出除了a或b或c
    5.扩展正则
    1.前一个字符连续出现1次或1次以上2. | 或者的意思3. () 表示一个整体 反向引用/向后引用4. {} 0{n,m} 前一个字符至少连续出现n次,最多连续出现了m次5. ? 前一个字符连续出现0次或1次
    6.基础正则与扩展正则的区别
    • 符号不同
    • 支持命令的不同
      • BREgrep/sed/awk
      • ERE egrep/grep-E/sed-r/awk
    7.正则总结按照功能划分基本表示重复 连续重复
    ^表示重复 连续出现
    $
    ^$空行 cat -A 取出文件中的空行或空格的行*
    .a{n,m}
    \?
    [^abc]
    | 竖线
    ()
    8.基础正则操作实例
    在id.txt里编辑以下内容/oldboy/id.txt李 2113421234张 500224197王 1233423423432oldboy万 5oldboy吕 lzy235872451234814孔 150000123874591242夏 222113859123487192赵 37142518322922103X取出文件中正确的身份证号码的行身份证特征身份证18位 最后一位 数字或者是X
  • 查找以文件内以m开头的行

    1558342686522

  • 查找以文件内以m结尾的行 注意: 必须以…结尾 包括空格

    1558342982339

  • 使用cat –A 在文件的末尾显示$

    1558343044909-A 在文件末尾显示$ 把tab键显示为^I

  • 查找文件的空格

    1558343288525

  • 如果前面是$ 则表示变量 加双引号则会解析变量内容

    我们定义一个变量 m=lizhenya看下各种执行结果 看单引号跟双引号的区别

    grep '$m ’ oldboy.txt

    1558343819938

    grep "$m " oldboy.txt

    1558344448073

    注意:在这里双引号 直接查找变量定义的内容 m=lizhenya

  • 过滤文件内的空行 ^$ 表示空行 什么符号都没有 -n 是显示行号

    1558344943317

  • 过滤任意的一个字符 (. 任意一个字符 不会匹配到空行)

    1558345877203

  • grep 查看执行过程 grep每次匹配到了什么

    grep -o ‘.’ oldboy.txt 找到了什么

    1558346016065

  • 查找文件内以 . 结尾的行

    grep ’ \ .’ oldboy.txt.是正则里边的字符 要还原.的本意 用\

    1558350433444

  • *前一个字符连续出现了0次或0次以上

    1558350818691

    4*出现0次会显示所有的内容

    1558351063299

  • .* 所有 任何符号 包含空行

    正则的贪婪匹配 .* 所有符号 任何符号 连续出现的字符 有多少匹配多少 (任意字符开头 找到一行内的m 然后结束)

    1558352033711

    1558352187938

    以m开头 然后到行尾 任意字符

  • [][abc]相[] [abc] 相当于是一个符号 每次匹配一个字符 找出包含a或b或c 一次找一个字符

    grep ‘[abc]’ oldboy.txt

    grep ‘[abc]’ oldboy.txt -o可以查看执行过程

    [a-z] [A-Z] [0-Z] [0-9]

    1558352432362

  • 在空括号里的字符 大部分没有什么特殊的含义 写什么找什么

    测试 . ! 结尾

    grep ‘[.!]$’ oldboy.txt

    1558352672891

    找.!$

    1558353580826

  • 括号 () [] {}

    ^ [^] [ ^ abc] 取反 排除a 排除b 排除c 中括号默认不匹配空行

    1558354386255

  • grep ‘[ ^ ^ $ ]’ oldboy.txt

    1558354878927

    在括号中第一个^ 代表取反的意思 第二个^就是本意 $也是本意

  • 9.扩展正则操作实例
  • 前一个字符连续出现1次或1次以上

    []与 结合使用 过滤 连续的内容

    注: 支持扩展正则要使用 egrep 或者 grep –E

    1558355426982

  • 取出连续出现的字母 显示过滤执行过程 –o

    1558355485749

    1558355700576

  • 过滤连续的a-z字母 显示执行过程 –o 显示的是单词形式 空格区分 连续的字符 使用

    1558355763004

    1558355778730

  • | 扩展正则表达式 或者的意思

    1558355851517

    /etc/ssh/ssh_config 排除文件中的#和空行

    1558355914805

  • {} 第一种方法 {n,m} 前一个字符至少连续出现n次 最多出现m次

    1558356200719

    1558356213721

  • 第二种方法8{3}最多显示多少次

    1558356405366

  • day17 三剑客grep sed1.grep参数`
    -E 支持扩展正则 *****-c 显示过滤内容的行数-n 过滤出的内容加行号-v 取反 *****-o 只过滤我们想要的内容 查看匹配到了什么 *****-i 不区分大小写-A 查看当前行的下一行 -A 2-B 查看当前行的上一行 -B 2-C 查看当前行的上下n行 -C 2-w 取出单词 *****-r -R 递归查询内容
    2.sed使用方法及其参数1.语法格式
    sed [options] [sed-commands] [input-file]sed [选项]  [sed命令][输入文件]说明:1. 注意sed软件以及后面选项、sed命令和输入文件,每个元素之间都至少有一个空格。2. 为了避免混淆,本文称呼sed为sed软件。sed-commands(sed命令)是sed软件内置的一些命令选项,为了和前面的options(选项)区分,故称为sed命令。3. sed-commands既可以是单个sed命令,也可以是多个sed命令组合。4. input-file(输入文件)是可选项,sed还能够从标准输入如管道获取输入。
    2.选项说明options[选项]解释说明(带※的为重点)
    -n取消默认的sed软件的输出,常与sed命令的p连用※
    -e一行命令语句可以执行多条sed命令
    -f选项后面可以接sed脚本的文件名
    -r使用扩展正则 默认情况sed只识别基本正则表达式。※
    -i直接修改文件内容,而不是输出到终端。如果不使用-i选项sed软件只是修改在内存中的数据,并不会影响磁盘上的文件。※
    sed-commands[sed命令]解释说明(带※的为重点)
    a追加,在指定行后添加一行或多行文本※
    c取代指定的行 [替换整行]
    d删除指定的行※
    D删除模式空间的部分内容,直到遇到换行符\n结束操作,与多行模式相关。
    i插入,在指定行前添加一行或多行文本※
    h把模式空间的内容复制到保持空间。
    H把模式空间的内容追加到保持空间。
    g把保持空间的内容复制到模式空间。
    G把保持空间的内容追加到模式空间。
    x交换模式空间和保持空间的内容。
    l打印不可见的字符
    n清空模式空间的内容并读入下一行。
    N不清空模式空间,并读取下一行数据并追加到模式空间。※
    p打印模式空间的内容,通常p会与选项-n一起使用。※
    P打印模式空间的内容,直到遇到换行符\n结束操作。
    q退出sed
    s###g取代,s#old#new#g==>这里g是s命令的替代标志,注意和g命令区分。※
    w把模式空间的内容保存到文件中
    y根据对应位置转换字符
    特殊符号解释说明(带※的为重点)
    !对指定行以外的所有行应用命令。※
    =打印当前行行号。※
    ~“First~Step”表示从First行开始,以步长Step递增。
    &代表被替换的内容。
    ;实现一行命令语句可以执行多条sed命令。※
    {}对单个地址或地址范围执行批量操作。
    地址范围中用到的符号,做加法运算。
    day18 三剑客awk1.awk使用方法及其参数
    1.什么是awk? awk 是一种编程语言,用于在`linux/unix`下对文本和数据进行处理。 awk 数据可以来自标准输入、一个或多个文件,或其它命令的输出。 awk 通常是配合脚本进行使用, 是一个强大的文本处理工具。2.awk怎么处理数据?进行逐行扫描文件, 从第一行到最后一行寻找匹配的特定模式的行,在行上进行操作如果没有知道处理动作,则把匹配的行显示到标准输出如果没有指定模式,则所有被操作的行都被处理3.awk的语法格式 awk [options] 'commands' filenames  awk [options] -f awk-script-file filenames4.执行动作NR==1表示用来表示第一行 NR表示行NFNF表示这一行有多少列 $NF 就是输出最有一列{print }输出执行动作$输出变量5.awk 取范围 awk 判断 关系运算符 == != >= <= > < 6.算术运算符- * / 7.正则运算符 匹配正则表达式和不匹配正则表达式 ~ ~! 8.其他 $ 输出变量
    2.awk参数选项参数解释
    -F指定分隔符 默认以空格分隔
    3.awk实例
    取出文件中倒数第二列awk '{print $(NF-1)}' /var/log/secure
    day19系统启动流程1.Centos6启动流程centos6启动流程解释
    按下电源远控卡 启动 重启 关机
    (BIOS)开机自检cpu 内存 磁盘硬件是否有问题
    MBR引导通过硬盘启动
    GRUB菜单选择不同内核 C6单用户模式
    加载内核 boot加载到内存
    运行INIT进程第一个启动的进程
    读取/etc/inittab运行级别
    读取/etc/rc.sysinit初始化系统
    根据运行级别运行/etc/rc数字.d下面的脚本开机自动启动
    启动mingetty显示登录界面 运行login匹配/etc/passwd
    2.centos7启动流程centos7启动流程执行解释
    按下电源
    (BIOS)开机自检
    MBR引导
    GRUB菜单
    加载内核
    systemd
    target 7
    并行启动/usr/lib/systemd/system
    /etc/systemd/system 服务
    启动login显示登陆界面
    centos6 centos7 启动流程的区别centos6 串行启动 执行完一个在执行下一个centos7 并行启动 一起执行
    3.用户相关
    用户UID centos6 UID 从500开始 包含500centos7 UID 从1000开始 包含1000默认创建的用户每次加1
    passwd 行内解释root:x:  0:0: root:  /root:/bin/bash用户名  密码 UID GID  用户的说明家目录  命令解释器/etc/skel 新用户的老家的模板(新用户家目录的样子) 存放新建用户的目录(创建新用户后会把这个目录下的文件拷贝到新用户的家目录下)
    面试题: 登录到普通用户下突然发现-bash-4.2$ -bash-4.2$ -bash-4.2$ -bash-4.2$ 解决 拷贝skel下所有的文件到当前家目录解决方法-bash-4.2$ source .bash_profile直接source  或者重新退出登录注意:不要去其他普通用户家里拷贝 没有权限 拷贝/etc/skel/注意. 空格  代表source 重新加载 加上. 隐藏文件 .bashrc[root@oldboyedu ~]# . bash*-bash: bash*: No such file or directory[root@oldboyedu ~]# . .bash.bash_history  .bash_logout.bash_profile  .bashrc  [root@oldboyedu ~]# . .bashrc [root@oldboyedu ~]# source .bashrc
    1.useradd 使用及其参数
    useradd-u 指定用户的uid(数字 身份证号)-s 指定用户使用的shell/bin/bash/sbin/nologin 手动添加一个虚拟用户 不让其登录-M 表示不创建家目录 一般创建虚拟用户使用-g 指定用户的组 (租的名字) 添加用户的时候默认创建一个与用户名一样的家庭
    2.userdel 删除用户
    userdel 工作中如果要删除用户 在passwd中注释掉userdel 默认不删除用户的家目录和邮箱-r 连窝端删除与用户有关的所有信息 (家目录)
    3.usermod 修改用户信息
    usermod 修改用户信息-s 修改用户使用的shell-g 属于的家庭 用户组的名字 主要组-G 属于多个家庭 附加组
    day20用户相关day21权限体系1.练习题回顾:批量创建用户添加随机密码
    一 批量添加用户执行过程 (sed)1. date  %N%S|md5sum|cut -c1-8 用时间生成MD5秘钥 但是秘钥太长了 用cut取前8位2. pass=`date  %N%S|md5sum|cut -c1-8` 这里要定义变量 把后边的执行结果赋值给pass3. echo lkk{1..10} |xargs -n 1|sed -r 's#(.*)#useradd \1;pass=$(date  %N%S|md5sum|cut -c1-8);echo $pass \1 >> pass.txt;echo $pass|passwd --stdin \1#g'|bash4. echo lkk{1..10} 这段执行的是输出 lkk1..lkk105. xargs -n 1 向后引用变成一列 如果是一行的话不能创建10个用户了 一行就是一个了6. sed -r 's#(.*)#useradd \1 -r扩展正则 这段的执行结果就是 useradd lkk1 7. pass=$(data  %N%S|md5sum|cut -c1-8) 定义变量 8. echo $pass \1 > pass.txt 把密码账号 导入到pass.txt9. echo $pass|passwd --stdin \1 免交互设置密码二 批量删除用户echo lkk{1..10} |xargs -n 1|sed -r 's#(.*)#userdel -r \1#g'|bash
    2.权限体系
    1.文件对应权限  r===read 可读 w===wirte 可写 x===execute 可执行 如何查看当前用户对某个文件或目录有什么权限 ll /etc/hosts -rw-r--r-- 等信息2.权限的计算r===4w===2x===1-===0
    3.修改文件权限 chmod
    属主属组其他用户usergroupothersugo方法一:例:属主去掉写入权限使用chmod u-w 1.sh例:属主同时给rwx权限 = 先清除在赋值权限chmod u=rwx 1.sh例:属主 属组 其他用户同时增加x执行权限chmod ugo x 1.sh例:同时删除x执行权限 a=ugo (a=all)chmod a-x 1.sh例:使用a对所有用户增加x执行权限chmod a x 1.sh方法二:使用数字进行权限修改(常用)例: 文件修改为644权限 rw-r--r—chmod 644 1.sh例:文件修改为755权限 rwx-r-xr-xchmod 755 1.sh
    4.文件权限总结
  • r 显示文件内容
  • w 是否能修改文件的内容 需要有r权限配合 只有w的时候 保存退出会导致文件内容清空
  • x是否有执行权限 需要有r可读权限配置
  • 5.目录权限总结
  • r是否能查看目录的内容ls
  • w是否能在目录中创建 删除 重命名 文件权限
  • x 是否有进入目录的权限 cd
  • 注意(目录权限):
  • r 是否能查看目录内容ls 需要x权限配合
  • w 是否能在目录中创建删除 重命名 文件权限 需要x权限配合
  • .x 是否能进入到目录权限 cd 是否能修改或查看目录中文件属性
  • day21�ƒ�™��“�“�“ƒ�

    day21�ƒ�™��“�“�“ƒ�

    day22 文件隐藏属性定时任务1.文件的隐藏属性1.chattr
    赋值文件隐藏属性chattr  a ***.txt只能写入 追加 不可删除 不可修改chattr -a ***.txt取消隐藏属性chattr -i ***.txt无法修改 无法删除 无敌的存在 给重要的文件增加-i隐藏属性 
    2.lsattr

    lsattr查看文件属性

    1559050174277

    3.suid setuid

    suid setuids权限位4755

    给命令增加s权限 所有用户均为root 相当于root在执行

    chomod u s /bin/rm(慎用)

    4./tmp/ t权限位为1777

    任何人都可以删除/tmp里边的内容

    chmod o t /tmp/

    添加t权限后只能自己删除自己

    1559050399979

    2.定时任务配置文件
    crond 定时任务软件 (cronie软件包)系统定时任务配置文件:/etc/crontab用户定时任务配置文件所在目录:/var/spool/cron (目录 ls命令查看)定时任务的日志文件 运行过程的记录:/var/log/cron
    3.定时任务命令以及参数
    crontab -l查看当前用户的定时任务crontab -e写入当前用户定时任务systemctl status crond查查当前是由正在运行定时任务systemctl is-active crond同上>/dev/null 2>&1 执行的过程直接扔进黑洞或者文件内 否则会导致硬盘inode空间沾满或者邮箱开启/var/spool/mail/root
    4.定时任务常用符号
    # .---------------- minute (0 - 59)# |  .------------- hour (0 - 23)# |  |  .---------- day of month (1 - 31)# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat# |  |  |  |  |# *  *  *  *  * user-name  command to be executed 分  时 日  月 周*代表 每00代表整点00-23时00-59分*/10每隔10分钟
    5.注意
    定时任务中超过两条命令 先写入脚本.sh 之后直接定时执行脚本同意脚本的位置 /server/scripts定时任务时 命令使用全路径 which查看命令所在路径为定时任务规则加必要的注释在执行的shell脚本前加上/bin/shell----------------------------------定时任务中命令或脚本的结尾加>/dev/null 2>&1定时任务如需打印日志,则可以追加到指定的日志文件。定时任务计划脚本结尾最好不要留空,因为默认情况下,定时任务每执行一次后,都会给对应的用户发邮件。就可能会导致邮件临时目录文件数猛增的隐患发生,大量小文件占用inode节点数量。>/dev/null 2>&1 中>表示重定向,/dev/null 为特殊设备文件(黑洞),2>&1表示让标准错误和标准输出一样。本命令的意思是把前面脚本的正常和错误输出都重定向到/dev/null
    day24 磁盘管理1.查看磁盘分区
    fdisk -l执行内容Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0x000f01e2Device BootStartEndBlocksId  System/dev/sda1*  204841164720480083  Linux/dev/sda2 411648  2459647  102400082  Linux swap / Solaris/dev/sda32459648 41943039 1974169683  LinuxDisk /dev/sdb: 106 MB, 106954752 bytes, 208896 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0x49500bb6Device BootStartEndBlocksId  System/dev/sdb1204820889510342483  Linux
    2.磁盘分区
    例如:fdisk /dev/sdbfdisk可选择参数m查看帮助n创建一个新的分区p查看分区d删除分区w保存分区并退出
    3.磁盘格式化
    mkfs.xfs /dev/sdb1执行成功meta-data=/dev/sdb1  isize=512 agcount=4, agsize=6464 blks=  sectsz=512attr=2, projid32bit=1=  crc=1  finobt=0, sparse=0data  =  bsize=4096blocks=25856, imaxpct=25=  sunit=0swidth=0 blksnaming=version 2  bsize=4096ascii-ci=0 ftype=1log=internal log  bsize=4096blocks=855, version=2=  sectsz=512sunit=0 blks, lazy-count=1realtime =none extsz=4096blocks=0, rtextents=0
    4.实现开机自动挂载
    方法一:vim /etc/rc.local写入 mount /dev/sdb1 /data然后给rc.local 加执行权限chmod  x /etc/rc.local方法二:vim /etc/fstab编辑我们看到我们得获取设备的 UUID号blkid -s UUID /dev/sdb1获取/dev/sdb1 的uuid按照格式写入UUID=c0197450-93f0-4975-9ac4-38ed2eafb9b9 /data xfs  defaults  0 0
    5.通知内核有新磁盘
    通知内核有新磁盘就不用重启了partprobe /dev/sdb
    6.扩展1.Linux下配置一条默认的网关
    route add default gw 10.0.0.254添加默认网关route del default gw 10.0.0.254删除默认网关
    2.配置一条静态理由
    ip route add 0/0 via 10.0.0.254ip route del 0/0 via 10.0.0.254
    3.策略路由
    在centos下使用vpn的情况下安全的给 test表设置一个默认路由ip ip route add 0/0 via 10.0.0.254 table testip rule add from 10.0.0.1 via table
    day25 磁盘管理1.开机自动挂载 写入/etc/fstab

    1559463485109

    ​如果要把设备自动挂载写入到/etc/fstab 首先要知道设备的UUID

    ​查看UUID

    ​lsblk -f

    1559463649065

    ​blkid 查看设备UUID

    1559463808921

    2.使用parted命令给磁盘分区

    fdisk 适用于小于2TB的磁盘 fdisk只支持mbr分区表

    parted 一般用于大于2TB的磁盘 gpt支持更大的磁盘且支持更多的分区 不写入内存直接生效

    3.使用parted命令实战

    使用命令进入磁盘分区 parted /dev/sdd

    1559464388267设置分区表格式 p 1559464635894创建分区mkpart primary 0 10015594647363721559464750133rm 删除分区1559464762781非交互式使用parted 分区创建分区parted /dev/sdd mkpart primary 0 1001559464836310删除分区parted /dev/sdd rm 11559464847460

    4.添加swap分区

    free -h 查看当前的swap分区

    1559465281429

    创建一个200M的文件

    dd if=/dev/zero of=/tmp/200m bs=1M count=200

    1559465316162

    /dev/zero 白洞 不断输出内容

    /dev/null 黑洞 没用的东西可以放进去

    If=/dev/zero

    If=inputfile /dev/zero 白洞,输入

    Of=outputfile/tmp/200m 输出到/tmp/200m的文件中

    bs=1M 大小为1M

    count=200 复制200次。

    把文件配置为swap,相当于格式化

    1559465881179

    激活swap

    1559465893003

    可以看到swap空间增大了0.1G

    查看swap组成

    1559465909386

    1556501273070

    企业面试题
  • buffer与cache的区别?
    • buffer 写入数据到内存,这个内存数据的空间,称为缓冲区

    • cache 从内存读取数据,这个存数据的内存空间,称为缓存区

  • 你用过的服务器型号有哪些?配置如何?
    • DELL R720 2U 双路 16个SAS硬盘 32G 64G 一个cpu 4核16G
  • 程序,进程,守护进程的区别
    • 程序:静态的 放在硬盘里边的视频 图片
    • 进程:播放视频 运行中
    • 守护进程:不间断运行在后台 或成为服务
    单词单词意思
    software selection软件选择
    minimal install最小安装
    installation destination目的地
    automatic paritioning selected已选择自动分区
    standard partition标准分区
    swap交换分区
    Accept Changes接受改变
    general一般的
    torrent种子
    minimal最小
    readme帮助
    based基于
    input输入
    output输出
    test测试
    install安装
    Troubleshooting故障排除
    continue继续
    data数据
    storage储存
    options选项
    partitioning分区
    configure配置
    will将,要
    LVM逻辑卷管理
    standard标准
    accept接受
    kernel内核
    failed失败
    命令命令意思
    ip add查看ip地址
    vi /etc/sysconfig/network-scripts/ifcfg-eth0修改网卡配置
    systemctl restart network重启网卡
    route -n查看网关
    cat /etc/sysconfig/network-scripts/ifcfg-eth0查看网卡配置
    cd回到家目录
    cd .当前目录
    cd …返回上一层
    cd -在最近两次工作的目录来回切换
    df -h查看磁盘使用信息
    vim /etc/resolv.conf修改dns
    ifdown eth0 && ifup eth0
    pwd查看当前路径
    manmanual 手册帮助
    type查看是否为内置命令
    ls查看目录的内容
    ls-l = ll以长格式显示内容详细信息
    ls-r逆序排序
    ll-t时间排序
    mkdir xxxx创建文件夹
    mkdir -p xxxx递归创建文件夹
    shutdown关机
    shutdown -h关机
    shoudown -r重启
    shutdown -h 1010分钟后关机
    shutdown -c取消正在执行的关机重启命令
    halt直接关机
    shutdow -h now直接关机
    shutdown -r now直接重启
    init 0关机
    poweroff关机
    tree以树形结构显示目录信息
    tree -L 2历出所有层目录 加数字显示几层
    tree -F在目录的后边加上/ 识别是否为目录或文件
    tree -d只显示目录
    touch创建文件和更改时间
    echo “hello word”把内容输出到屏幕
    cp复制
    cp -r递归 复制目录下所有的文件和目录
    cp -p复制后保留原始的文件属性
    cp -d链接 (相当于win7 10 快捷方式)
    cp -a相当于 -pdr
    cp oldboy.txt /tmp/lidao.txt复制文件 到tmp目录下并改名
    \cp不提示是否覆盖
    mvmv 文件或目录 要放到哪里 mvoldboy.txttest.txt
    rm删除文件或目录 慎用 工作中使用mv代替
    rm -f强制删除 不提示
    rm -r递归删除
    cat查看文件
    cat -n显示文件总行数
    mount /dev/cdrom /mnt/挂载
    umount -f /mnt/卸载
    df -h查看磁盘使用信息
    hostname查看主机名
    hostname -I查看获取ip地址
    hostname 主机名修改主机名临时生效 centos 6 7一样
    /etc/sysconfig/network永久配置主机名 centos6
    hostnamectl set-hostname 主机名永久修改主机名 centos7 重启系统生效
    /etc/hostnamecentos7 主机名配置文件 重启系统生效
    /etc/fstab开机设备自动挂载的文件
    free -h查看内存使用信息
    /etc/rc.local开机自动执行此配置文件中的内容
    chmod x /etc/rc.d/rc.local给文件权限
    yum -y install 软件名安装软件
    rpm -ivh 包的名字安装rpm包 -i install-v 显示安装过程-h 人类可读
    rpm -qa查看所有的安装包 q query 查看 a all 所有的
    grep过滤出想要的内容
    grep “xxxx” file在文件中过滤出 xxx内容
    ls|grep xxx目录中过滤出xxx
    yum remove 包名卸载软件
    rpm -e 软件包全名卸载软件
    lscpu查看cpu信息
    free查看内存信息 -h
    df显示磁盘使用信息 -h
    w查看负载信息
    uptime查看负载信息
    top查看负载信息
    which xxx 例如:which wget查看命令路径 或者是否安装
    getenforce查看SELinux状态 Enforcing开启 permissive关闭
    setenforce 00是关闭 1是开启 临时关闭SELiux 重启失效
    systemctl status 服务名查看服务的状态信息
    iptables-save如果出内容 说明开启 不出内容 就是关闭状态
    uname -r查看内核版本
    uname -a查看内核版本
    less查看文件 f b翻页 -N 显示行号
    more查看文件用的少
    head从头部查看 -n 查看多少看 -5 看五行
    tail从尾部查看 -f 动态查看
    tr替换 cat xx.txt | tr “abc” “123”
    alias设置别名
    yum provides route安装命令查找安装包名
    file 文件名or目录查看文件或目录的类型
    which tree查找命令的路径
    whereis查看文件的路径和文件相关的文件
    find xxxx查找文件或者目录 -type类型 -name名字 -size大小
    du -h显示目录下所有文件的大小和总大小
    du -sh只显示目录总大小
    wc -l统计行
    wc -L统计字符串长度
    unalias取消临时别名
    grep -E == egrep支持扩展正则
    grep -c显示过滤内容的行数
    grep -n过滤出的内容加行号
    grep -v取反
    grep -o只过滤出我们想要的内容
    grep -i不区分大小写
    grep -r R递归查询内容
    grep -w取出单词
    sed -n取消默认输出 与p结合使用
    sed ‘s###g’替换
    sed -r支持扩展正则
    sed -i直接更改原文件
    3a在当前的下一行插入内容内容
    3i在当前行的上一行插入内容
    3c替换当前的正好内容
    useradd xxxx添加用户
    useradd -u添加用户指定uid
    useradd -s指定登录shell /bin/bash /bash/nologin
    useradd -g指定GID
    useradd -M不创建家目录
    userdel xxxx删除用户
    uesrdel -r删除家目录
    usermod xxx修改用户信息
    usermod -s修改用户使用的shell
    usermod -g属于的家庭 用户组的名字 主要组
    usermod -G属于多个家庭 附加组
    passwd xxxx配置用户名密码 直接输入passwd 是修改root密码
    chown更改文件的属主 属组
    chown -R递归更改更改文件的属主 属组
    w查看登录信息
    last显示详细的登录信息 几点登录的 几点退出的 在线多久 查看时间段的日志(分析他干了啥)
    lastlog显示linux中所有用户最近一次远程登录的信息
    源文地址:https://www.guoxiongfei.cn/csdn/4975.html