wangjiaxing一周总结

0回顾Linux系统硬件及系统安装部署

系统硬件知识回顾

用途分类:家用主机设备,企业服务器设备(物理主机云主机)

硬件尺寸分类:服务器尺寸U 1U 2U 3UJI机架服务器,刀片服务器,塔式服务器

性能分类:pc(x68_64)小型机服务器和大型机服务器(都搭载unix)

硬件组成说明:CPU :运算控制

          内存:临时存储数据

          磁盘:永久存储数据

          网卡:网络通讯

          电源:供电设备

          主板:将所有硬件串联

          风扇:硬件散热

          阵列卡:将多个硬盘整合成一个盘

          远程管理卡:控制远程开机关机安装系统

重要组成详细说明:

CPU: 型号至强Xeon  核数 路数 主频 缓存(L1L2L3)

内存信息  进程信息(程序运行起来)缓冲区(加快存储数据)缓存区(加快读取数据)

ps  - 报告目前进程一个快照信息, 不能实时查看

top - 显示linux系统进程信息

磁盘信息: 磁盘容量(Byte-KByte-MB-GB-TB-PB)

          接口(SATA --> SCSI --> SAS --> PCI-E)

          磁盘转速(10krpm 15krpm)

电源: 冗余能力(双路电源 ups  发电机)

阵列卡: 将多块硬盘整合成一个块

        提升单块硬盘容量

        提升硬盘安全性    RAID 1

        RAID1:优势提高数据存储安全性;

                缺点存储效率降低存储容量有损失

        提升硬盘存储效率

        RAID0:优点提升数据存储效率

              缺点安全性低

远程管理卡:网卡网口(管理ip地址)

硬件性能指标介绍

CPU - 内存 - 网卡 - 固态硬盘 - 机械硬盘

企业数据参数

高并发:

存储数据 --> 内存中(缓冲区) (UPS 发电机 专用电)--> 磁盘中

      读取数据 --> 内存中(缓存区) --> 磁盘中

低并发

存储数据 --> 磁盘中

  读取数据 --> 内存中(缓存区) --> 磁盘中

操作系统概念介绍: 人 (中介 操作系统) 管理硬件

系统组成:内核---解释器---外围软件程序

系统特点:开源 多用户 安全性 服务器常用操作系统

发展史:GUN / GPL

前者是个项目;之研究出了大多数;并未研发出内核;后者是个协议:通用许可协议(可更改,更改后需要进行是说明)

操作版本选择:

          centos 7

          redhat 7  

  debian

  ubuntu

系统安装部署:

虚拟软件概念:虚拟多个真实的系统环境 共用硬件资源

如:(共享单车)

虚拟软件部署:

创建虚拟机  如何进行虚拟主机迁移

配置虚拟网络

注意:

系统虚拟化功能是否开启  bios

虚拟软件服务是否开启 CTRL+r --> services.msc --> 服务 vmware

如果无法运行虚拟主机  虚拟主机进程是否开启多个

操作系统安装:

下载镜像  xxx.ISO

将镜像文件加载到光驱

启动虚拟主机

进入后按tab 再按回车 输入:net.ifnames=0 biosdevname=0

更改网卡名称

修改网卡和主机名

操作系统分区过程:/dev/sda1-/boot  /dev/sda2-swap 8G /dev/sda3-/

最小化安装:1236

系统用户名称和密码设置

RAID5/RAID10 有什么区别?

RAID5:

优势:数据读取写入最快,最大优势提高硬盘容量,比如3块80G的硬盘做raid0 可用总容量为240G。速度是一样

镜像,数据安全强,2块硬盘做raid一块正常运行,另外一块镜像备份数据,保障数据的安全。一块坏了,另外一块硬盘也有完整的数据,保障运行。任意N-1快硬盘都有完整的数据

缺点:只允许单盘故障,一盘出现故障得尽快处理。有盘坏情况下,raid5 IO/CPU性能狂跌,此时性能烂到无以复加

建议:盘不多,对数据安全性和性能提示都有要求,raid5是个不错选择,鉴于出问题的性能,盘多可考虑riad10

RAID10:

优势:兼顾安全性和速度。基础4盘的情况下,raid10允许对柜盘2块故障,随着硬盘数量的提示,容错量也会相对应提升。这是raid5无法做到的。

缺点:对盘的数量要求稍高,磁盘使用率为一半。

建议:硬盘数量足够的情况,建议riad10.

远程连接排错思路

确认链路是否通畅 ping 10.0.0.200

确认是否有组织策略

远程服务是否开启

telnet 10.0.0.200

systemctl status sshd

ps -ef查询系统正在运行的所有进程

强制停止进程方法:

kill 进程号码  ---杀死进程,反复执行命令会有提示

kill -9 进程号 强行杀死(一定要慎用)

killall 进程名 ---杀死进程反复执行有提示

pkill 信息 ---模糊杀进程

 批量编辑多行信息 vim

   添加注释信息:

   第一个历程: 先将光标移动到要编辑内容的第一行

   第二个历程: 进入视图块模式

               ctrl+v

   第三个历程: 移动光标选中多行信息

       第四个历程: 进入编辑模式  

                   shift+i --- 编辑信息

   第五个历程: 退出编辑模式

               esc


   取消注释信息:    

   第一个历程: 先将光标移动到要编辑内容的第一行

   第二个历程: 进入视图块模式

               ctrl+v

   第三个历程: 移动光标选中多行信息

       第四个历程: 删除选中的信息

               d 或者 x

如何在系统中生成随机数(类似验证码)

利用tr命令

  -c  -C ,--complement use the complement of SET1

- d  --delete

delete characters in SET1, do not translate

删除指定字符不做替换

tr -cd'a-zA-Z0-9'

      echo  $RANDOM

/etc/profile.d  --- 存放脚本文件信息, 每次连接登录系统,都会加载此目录中的脚本文件

日志文件需要做什么处理

日志文件切割处理: 按照时间(每小时 每天 每周)

vi cut_log.sh  ---> 特殊目录

/etc/cron.daily  --- 每天执行目录中脚本信息

/etc/cron.hourly  --- 每小时执行目录中脚本信息

        /etc/cron.monthly --- 每月执行

        /etc/cron.weekly  --- 每周执行

#!/bin/bash

mv /var/log/messages  /var/log/messages_时间信息

systemctl restart rsyslog.service

yum install -y  tree

  特点说明: 可以解决依赖 所有软件包可以直接下载

  缺点说明: 依赖网络


  yum list              --- 显示yum仓库中所有可用的软件包

  yum search/provides  --- 搜索每个包里面是否有指定命令文件

  yum remove/erase      --- 卸载软件包(慎用)

  yum reinstall        --- 重新安装修复程序

  yum localinstall      --- 本地安装软件程序 并解决软件安装依赖问题

  rpm -qa  --- 查看确认软件是否安装成功

  rpm -ql  --- 查看软件安装生成数据信息保存路径

enable  开机运行文件

查看用户信息id oldboy

用户设置密码:passwd 用户信息

如何批量创建用户 

   情况一: 创建 oldboy01 oldboy02 oldboy03 .. oldboy10 并且每个用户密码都是123456

   for循环 : 语句格式

   for 变量 in {鸡蛋,香肠,馅饼,油条,包子}

   do 

       买早点  $变量

   done   

   useradd  oldboy01 

   useradd  oldboy02 

   useradd  oldboy03 

   ...

   useradd  oldboy10 

   for username in oldboy{01..10}

   do 

       useradd $username && echo 123456|passwd --stdin $username

   done    



   情况二: 创建 oldboy oldgirl olddog oldbaby 并且用户密码是随机密码 6位

   思路一: 解决随机密码问题:

   tr -cd 'a-zA-Z0-9' 


   思路二: 批量创建用户

   分析情况一: 批量创建用户较多



   for username in `cat /server/scripts/user.txt`

   do 

       useradd $username

   done

   ==============================================================================

   补充: `` 用法说明 : 将反引号里面命令先执行, 将结果信息被反引号外面命令进行调用

   # which ssh

   /usr/bin/ssh

   # rpm -qf /usr/bin/ssh

   openssh-clients-7.4p1-16.el7.x86_64

   将两条命令整合为一条:

   # rpm -qf `which ssh`

   openssh-clients-7.4p1-16.el7.x86_64

   ==============================================================================

   分析情况二: 批量创建用户较少

   for username in {oldboy,oldgirl,olddog,oldbaby} 

   do 

      useradd $username

   done

   思路三: 创建用户和密码信息

   for username in {oldboy,oldgirl,olddog,oldbaby} 

   do 

      password_info=`tr -cd 'a-zA-Z0-9' 

      useradd $username

  echo $password_info | passwd --stdin $username

  echo $username $password_info  >> /tmp/user_info.txt 

   done

系统下载优化

确认是否更新好了base和epel源

   yum repolist

 yum clean all  --- 做yum刷新重置

操作系统安全优化

关闭selinux

临时关闭:setenforce 0

永久关闭: sed -i '7s#enforcing#disabled#g' /etc/selinux/config  

sed命令语法: sed 参数 '' 文件信息

sed 's#enforcing#disabled#g' /etc/selinux/config把字符进行替换

系统字符优化

LANG

临时设置:export LANG=zh_CN.utf8

永久设置: vim /etc/locale.conf 

localectl set-locale LANG=zh_CN.utf8临时加永久

时间优化

下载软件包

命令:yum install -y chrony

执行systemctl start chrony

开启时间同步功能

timedatectl set-ntp 1

方法二

ntpdate

操作系统文件属性知识

  # ls -il /etc/hosts67674863  -  rw-r--r-

    - 1 root root 184 Dec 11 10:06 /etc/hosts

       ①    ②    ③     ④  ⑤   ⑥   ⑦     ⑧

 文件属性 inode索引信息

   简述: inode -> index node 索引节点  类似目录

文件属性 文件类型信息

   简述: 不同文件类型,操作处理方式不同

 文件属性 文件权限信息

   简述: 对文件有什么操作能力 read/write/execute

 文件属性 文件硬链接信息

   简述: 硬链接类似于查看文件数据信息多个入口

 文件属性 文件属主信息

   简述: 文件创造者 父母  文件数据最高权限

文件属性 文件属组信息

   简述: 文件管理者 亲人  文件数据权限需要设置     

   其它用户  隔壁老王     文件数据权限最低 read

文件属性 文件大小信息

   简述: 文件占用了多少磁盘资源

 文件属性 文件时间信息

   简述: 文件修改时间信息  (访问时间 改变时间)

普通文件   - 

目录文件   d 

链接文件   l 

设备文件   b block    存储设备文件    /dev/sda1 

           c charset  字符流设备文件  /dev/urandom

   s socket   网络套接字文件  ???

根据文件名称查找到所在路径

   locate  --> 前提: 更新或者创建数据库文件 updatedb

搜索的条件:

根据文件类型搜索数据  -type

find /oldboy  -type f/d/l/c/b/s 

根据文件名称搜索数据  -name   

find /oldboy -name "*dog*"    *通配符记不清楚了就开始用

忽略大小写搜索

find /oldboy -iname "oldboy.txt"

测试一个局域网中,有哪些IP地址是可以使用的?

  思路一: ping多个地址

  for IP in {1..100}

  do

      ping 192.168.20.$IP

  done


  思路二: 了解ping命令用法

  ping -c 3 -q 192.168.20.52 >>/tmp/ping.log


  思路三: 访问通或者不通要有提示说明

  如果ping是通: 提示  xxx地址  正在使用 (绿色)

  如果ping不通: 提示  xxx地址  未被使用 (红色)

      if [ $? -eq 0 ]

  then

      echo -e "\e[32;1m提示  xxx地址  正在使用\e[0m"

  else

      echo -e "\e[31;1m提示  xxx地址  未被使用\e[0m"

  fi

  echo -e "\e[31;1moldboy69\e[0m"  红色

  echo -e "\e[32;1moldboy69\e[0m"  绿色



  编写脚本:

  #!/bin/bash

      for IP in {1..100}

      do

          ping -c 3 -q 192.168.20.$IP >>/tmp/ping.log

          if [ $? -eq 0 ]

          then

              echo -e "\e[32;1m提示信息: 192.168.20.$IP  正在使用\e[0m"

          else

              echo -e "\e[31;1m提示信息: 192.168.20.$IP  未被使用\e[0m"

          fi

      done

find

根据文件类型搜索数据  -type

find /oldboy  -type f/d/l/c/b/s

根据文件名称搜索数据  -name  

find /oldboy -name "*dog*"

find /oldboy -iname "oldboy.txt"

根据文件大小搜索数据

find /old -size  +10k 寻找大于10k的文件

find /old -size  -1G 寻找小于1G的文件

find /old -size  10  寻找正好是10k的文件

对于find命令根据大小查找数据单位信息

`b'    for 512-byte blocks (this is the default if no suffix(角标/下标) is used)

                1个块=512字节  +1 > 512字节 ok -2 <1024 (小于一整块) 1 = 512字节 ok

          `c'    for bytes 

        最小尺寸单位

          `w'    for two-byte words

        以两个字节作为一个单词找出不同尺寸文件

          `k'    for Kilobytes (units of 1024 bytes)

        依据kb尺寸寻找数据

          `M'    for Megabytes (units of 1048576 bytes)    ****

                依据Mb尺寸寻找数据

          `G'    for Gigabytes (units of 1073741824 bytes)

                依据Mb尺寸寻找数据

根据路径深度查找

find /oldboy -maxdepth 1 -name "oldboy01.txt"

-maxdepth    --- 查找数据最深深度

-mindepth    --- 查找数据最小深度, 从最小深度继续向下查找

根据条件逻辑查找数据

find /oldboy  -size +6k  -a  -name "oldboy*"

并且逻辑关系  -a

find /oldboy  -size +6k  -name "oldboy*"

请找出文件名称是oldboy开头的文件 和 oldgirl开头的文件

find /oldboy  -name "oldboy*" -o -name "oldgirl*"

根据时间条件查找数据

find /oldboy  -mtime +7  找距离当前时间7天以前的数据

                    -7  找距离当前时间七天以内的数据

                      7  找距离当前时间正好七天的数据

批量删除指定数据

find / -name "*1"-delete

批量删除以1结尾的文件

find / -type f -name "*1" | xargs rm

批量删除第二种方法

xargs

将产生信息进行转换,转换位命令可以识别的参数或对象信息

xargs < test.txt

1 2 3 4 5 6 7 8 9

xargs -n3

利用反引号进行处理

rm -f `find / -type f -name "a*"`

删除根目录下名字位a 的文件

利用 -exec来进行处理

find ./ type f -name "a*" -exec rm -f {} \;

find / -type f -name "a*" -exec rm {} \;-o -type f -name "b*" -exec rm {} \;

产看目录文件结构信息

tree

tree -L 3  指定查看目录层级信息

tree -d  之查看完整目录结构信息

如何压缩数据信息

tar  有压缩和解压的作用

z  数据压缩方式

c  创建一个压缩文件

v  显示压缩过程

f  指定压缩包路径信息

h  提取指定压缩链接文所件指定源文件

将数据解压

tar xvf

x  提取压缩包中的数据

t查看列表显示压缩包中的数据信息

补充: 提示信息作用:tar: Removing leading `/' from member names

解释: 将绝对路径 / 根目录信息进行移除 , 压缩数据

作用: 对系统数据信息进行保护

不想保护数据, 想解压时将源数据进行覆盖:

压缩时: tar zcvPf  ---保留住根目录

解压时: tar xPf    ---保留住根目录

你可能感兴趣的:(wangjiaxing一周总结)