入坑运维(第三节)

11 篇文章 0 订阅

/usr/local与/var/log目录

和程序软件安装相关的目录
/usr/local
[root@oldboyedu ~]# ll -d /usr/local/
drwxr-xr-x. 12 root root 131 Mar 28 10:40 /usr/local/

系统中如何安装软件(吃饭)
01. 订餐点外卖 (做好的饭 筷子)  yum安装软件  简单快捷  (掌握)
02. 买半成品   (速冻饺子 加工)  rpm安装软件  需要有软件安装包
03. 自己做饭   (食材     做饭)  编译安装软件 可以灵活调整

下载安装软件利用yum方式
第一个里程:本地配置源文件
[root@oldboyedu ~]# cd /etc/yum.repos.d/
[root@oldboyedu yum.repos.d]# ll
total 32
-rw-r--r--. 1 root root 1664 Apr 29  2018 CentOS-Base.repo
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra

统一yum安装的环境:
https://opsx.alibaba.com/mirror
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
命令作用:
从阿里云下载一个yum源文件,更新默认的/etc/yum.repos.d/CentOS-Base.repo,使下载环境统一

第二个里程:安装软件命令
yum install 软件名称
yum install -y vim tree wget net-tools nmap bash-completion(补全centos7的部分命令参数)


总结:yum安装软件常见问题
排错流程:
01. 能不能访问外网
    a 访问外网IP地址不通   网卡地址配置有问题
    b 访问外网名称不通		DNS配置有问题

02. 检查是否已经有下载的进程
    ps -ef == windows 任务管理器-进程 PID成为进程编号
	kill -9 PID

03. yum源文件被修改调整
  1. 日志文件保存目录
    ll /var/log/
    两个重要的系统日志文件
    messages – 记录系统或服务程序运行的状态信息 和 错误信息
    secure(安全) – 用户登录信息
    作用:可以进行监控文件的信息,检查是否有过多失败记录

    [root@oldboyedu ~]# cat /var/log/secure
    Apr 4 11:35:29 oldboyedu sshd[3568]: Accepted password for root from 10.0.0.1 port 54913 ssh2
    Apr 4 11:35:29 oldboyedu sshd[3568]: pam_unix(sshd:session): session opened for user root by (uid=0)

    1. 用户是什么时间登录的
    2. 登录的主机名称
    3. 使用什么方式进行远程登录
    4. 登录情况说明
      a 正确登录情况说明
      b 错误登录情况说明

    如何查看日志信息
    head -5 /etc/profile — 查看前面几行信息 (默认查看前面10行内容)
    tail -6 /etc/profile — 查看倒数几行信息(默认查看倒数10行内容)
    tail -f /var/log/secure — 查看日志文件方法 一直追踪查看文件内容的变化

系统硬件信息查看方法

CPU:
a 利用文件进行查看:
   cat /proc/cpuinfo 
   model name: Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz  -- CPU品牌型号
   physical id	: 0                                     -- 表示CPU颗数  1颗
   processor	: 0                                     -- 表示CPU核数  1核
   cpu cores	: 1
   
   physical id	: 0   第一段  physical id	: 0         -- 有两颗CPU
   physical id	: 0   第二段
   physical id	: 1   第三段  physical id	: 1
   physical id	: 1   第四段

   physical id	: 0   processor	: 0                     -- 一颗CPU有两个核心
   physical id	: 0   processor	: 1                   
   cpu cores	: 2
   
   physical id	: 1   processor	: 0                     -- 一颗CPU有两个核心
   physical id	: 1   processor	: 1                   
   cpu cores	: 2
   
   总共服务器有多少颗CPU 有多少核心
   有两颗CPU --> 2路的服务器
   有4核心   
   
b 利用命令进程查看:
  lscpu --> 调取cpuinfo文件中的内容
  Socket(s):(插槽)             2    --- 显示服务器CPU颗数
  Core(s) per socket:          2    --- 每颗CPU有几核
  CPU(s):                      4    --- 整个服务器有几核
  
负载:(CPU处理任务过多)  
a 利用文件进行查看:(监控)
  cat /proc/loadavg
  0.00        0.01              0.05             负载值CPU核数有关
  1分钟平均   5分钟平均负载    15分钟平均负载
  eg: 服务器4核的服务器   -- 负载值3左右,就要关注
      服务器128核的服务器 -- 负载值100(数据库服务器)
  
b 利用命令进行查看:
  [root@oldboyedu ~]# w
   12:41:06 up 38 min,  2 users,  load average: 0.00, 0.01, 0.05

内存:内存使用情况
a 利用文件进行查看:
[root@oldboyedu ~]# cat /proc/meminfo 
MemTotal:        2030172 kB      --- 内存总的容量
MemFree:         1738164 kB      --- 内存的空闲容量
MemAvailable:    1714096 kB      --- 内存的可用容量
Buffers:            2076 kB      --- baffer空间
Cached:            90616 kB      --- cacahe空间
SwapCached:            0 kB      --- 交换分区使用情况

b 利用命令进程查看:
[root@oldboyedu ~]# free -h      --- 以人类可读方式显示内存容量信息
              total        used        free      shared  buff/cache   available(*)
Mem:           1.9G        137M        1.7G        9.5M        148M        1.6G
Swap:          1.0G        0B(*)       1.0G

磁盘信息/挂载信息:
a 利用文件进行查看:
  cat /proc/mounts
  /dev/sda1 /boot xfs rw,seclabel,relatime,attr2,inode64,noquota 0 0
b 利用命令进程查看:
  [root@oldboyedu ~]# df -h
  Filesystem      Size  Used Avail Use% Mounted on
  /dev/sda3        49G  1.6G   48G   4% /
  devtmpfs        981M     0  981M   0% /dev
  tmpfs           992M     0  992M   0% /dev/shm
  tmpfs           992M  9.6M  982M   1% /run
  tmpfs           992M     0  992M   0% /sys/fs/cgroup
  /dev/sda1       197M  102M   95M  52% /boot
  tmpfs           199M     0  199M   0% /run/user/0

vi和vim的使用

vi命令使用方法–vim?
1) vi命令基本用法
a vi oldboy.txt — 利用vi命令打开一个文件
b 输入i — 进入编辑状态
c 编辑文件内容
d esc — 退出编辑状态
e :wq — 保存退出文件

2) vi命令详细使用方式
   vi有三种模式(互相切换)
   1. 命令模式
   2. 插入模式(编辑模式)
   3. 低行模式
   三种模式的切换方法:
   
   使用技巧
   vi 文件信息
   i   --- 进入编辑模式
   esc --- 退出编辑模式
   :wq --- 保存并退出
   :w
   :q
   :wq!--- 强制保存退出
   :q! --- 强制退出
   
   命令模式-->插入模式
   i   --- 表示从光标所在位置进入编辑状态    
   I   --- 表示将光标移动到一行的行首,再进入编辑状态
   o   --- 在光标所在行的下面,新起一行进行编辑
   O   --- 在光变所在行的上面,新起一行进行编辑
   a   --- 将光标移动到右边的下一个字符,进行编辑
   A   --- 将光标移动到一行的行尾,进入到编辑状态
   C   --- 将光标到行尾内容进行删除,并进入编辑状态
   cc  --- 将整行内容进行删除并进入编辑状态
   总结:移动光标位置,并进入编辑状态方法
   
   只移动光标,不进入编辑状态
   大写字母G   将光标快速切换尾部
   小写字母gg  将光标快速切换首部
   ngg         n表示移动到第几行
   $           将光标移动到一行的结尾
   0/^         将光标移动到一行的行首
   
   命令模式--底行模式
   :           输入一些命令
   /           进入搜索状态(向下搜索 n依次向下)
   ?           进入搜索状态(向上搜索 n依次向上)
   
   
   特殊使用技巧:
   将一行内容进行删除(剪切)   	deletedelete=dd
   将多行内容进行删除(剪切)   	3dd
   将内容进行粘贴              	p
   粘贴多次内容               	3p
   复制一行内容               	yy
   复制多行内容               	3yy	
   操作错误如何还原     	   	小写字母u  undo

系统优化方法(基础优化)

1) 了解系统环境
两个命令:
a [root@oldboyedu ~]# cat /etc/redhat-release 
centos Linux release 7.5.1804 (Core)   --- 获得系统发行版本和具体系统版本信息
b [root@oldboyedu ~]# uname -a
Linux oldboyedu.com 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
PS: 记忆一下centos7系统的内核信息
面试环节: 网管==运维(2-3) 10000 ==5个月 5000
以前你用的linux系统是什么环境的?
centos7 具体型号 7.5 内核3.10 64位的

2) 企业中管理系统用户身份是不同的
a 老员工/经理     root用户身份管理
b 规范企业新员工  普通用户身份管理

root    --- 皇帝
oldboy  --- 老百姓

普通用户如何创建
useradd  oldgirl
passwd oldgirl

普通用户如何切换
[oldgirl@oldboyedu ~]$ su - root
Password: 
Last login: Mon Apr  8 09:04:09 CST 2019 from 10.0.0.1 on pts/1
[root@oldboyedu ~]# 

普通用户如何查看身份
a 查看用户是否存在
[root@oldboyedu ~]# id oldboy
uid=1000(oldboy) gid=1000(oldboy) groups=1000(oldboy)
[root@oldboyedu ~]# id old
id: old: no such user
b 查看此时用户身份
[oldboy@oldboyedu ~]$ whoami
oldboy

2) 操作系统优化---命令提示符优化
优化方法: 修改PS1环境变量
默认配置: 
[root@oldboyedu oldboy]# echo $PS1
[\u@\h \W]\$

\u    --- 显示当前登录用户名称
\h    --- 显示系统主机名称
\W    --- 显示当前所在目录信息(目录结构的最后结尾信息)	

修改优化方法:
01. 修改命令提示符的内容:
[root@oldboyedu.com /etc/sysconfig/network-scripts]# tail -5 /etc/profile
export PS1='[\u@\H \w]\$ '
02. 命令提示符如何修改颜色:
Linxu系统中如何给信息加颜色

\[\e[F;Bm] 文字内容 \e[m

”[\[\e[31;40m]\u\e[m @\h \W]\$ “

[root@oldboyedu ~]# tail -5 /etc/profile
export PS1='\[\e[32;1m\][\u@\h \W]\$ \[\e[0m\]'
             设置颜色    内容         结束     

export PS1='\[\e[30;1m\][\u@\h \W]\$ \[\e[0m\]'  -- 黑色提示符
export PS1='\[\e[31;1m\][\u@\h \W]\$ \[\e[0m\]'  -- 红色提示符
export PS1='\[\e[32;1m\][\u@\h \W]\$ \[\e[0m\]'  -- 绿色提示符
export PS1='\[\e[33;1m\][\u@\h \W]\$ \[\e[0m\]'  -- 黄色提示符
export PS1='\[\e[34;1m\][\u@\h \W]\$ \[\e[0m\]'  -- 蓝色提示符
export PS1='\[\e[35;1m\][\u@\h \W]\$ \[\e[0m\]'  -- 粉色
export PS1='\[\e[36;1m\][\u@\h \W]\$ \[\e[0m\]'  -- 浅蓝 
export PS1='\[\e[37;1m\][\u@\h \W]\$ \[\e[0m\]'  -- 白色

3) 操作系统优化---yum下载源优化
yum软件优势: 简单 快捷
01. 不需要到官方网站单独下载软件包(yum仓库)
02. 可以解决软件的依赖关系

yum优化方法:
01. 优化基础的yum源文件
通过阿里镜像源进行优化: curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
02. 优化扩展的yum源文件
通过阿里镜像源进行优化: wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

检查可用的yum源信息
yum repolist

实际下载软件
yum install sl cowsay -y  --- 需要优化epel扩展源
sl
cowsay    oldboy-sz-01
animalsay oldboy-sz-01

系统安全相关优化(将一些安全服务进行关闭)

1. 防火墙服务程序
   centos6
   查看防护墙服务状态
   /etc/init.d/iptables status
   
   临时关闭防火墙服务
   /etc/init.d/iptables stop
   /etc/init.d/iptables status
   
   永久关闭防火墙服务
   chkconfig iptables off
   
   centos7
   查看防火墙服务状态
   systemctl status firewalld
   
   临时关闭防火墙服务
   systemctl stop firewalld
   systemctl status firewalld  -- 操作完确认
   
   永久关闭防火墙服务
   systemctl disable firewalld
   
   补充: 查看服务状态信息简便方法
   systemctl is-active firewalld   --- 检查服务是否正常运行
   systemctl is-enabled firewalld  --- 检查确认服务是否开机运行


2. 系统的selinux服务程序
   selinux服务对root用户权限进行控制
   很多企业中:selinux服务默认关闭
   centos6==centos7 
   临时关闭:
   检查确认: 
   getenforce    --- 确认selinux服务是否开启或是关闭的
   如何关闭:  
   [root@oldboyedu ~]# setenforce 
   usage:  setenforce [ Enforcing | Permissive | 1 | 0 ]
   Enforcing   1  --- 临时开启selinux
   Permissive  0  --- 临时关闭selinux
   
   setenforce 0   --- 临时关闭selinux服务

   永久关闭:
   enforcing 	- SELinux security policy is enforced.  
				  selinux服务处于正常开启状态
   permissive 	- SELinux prints warnings instead of enforcing.
				  selinux服务被临时关闭了
   disabled 	- No SELinux policy is loaded.
				  selinux服务彻底关闭
   vi /etc/selinux/config
   SELINUX=disabled
   PS: 如果想让selinux配置文件生效,重启系统

字符编码优化

什么是字符编码: 可以实现对非英文字符的支持
计算机操作系统是谁发明的?  --美国人--英语	
支持中文比较好的编码:
UTF-8 比较通用
GBK   比较国际通用

出现乱码的原因:
01. 系统字符集设置有问题
02. 远程软件字符集设置有问题
03. 文件编写字符集和系统查看的字符集不统一

系统中字符集编码设置方法
centos6 
查看默认编码信息:
[root@oldboyedu ~]# echo $LANG   --- LANG用于设置字符编码信息
en_US.UTF-8

临时修改:
[root@oldboyedu ~]# echo $LANG
en_US.UTF-8
LANG=XXX

永久修改:
方法一:
[root@oldboyedu ~]# tail -5 /etc/profile
export LANG='en_US.UTF-8'

方法二:
vi /etc/sysconfig/i18n
LANG='en_US.UTF-8
source /etc/sysconfig/i18n

centos7 
查看默认编码信息
[root@oldboyedu ~]# echo $LANG
en_US.UTF-8

临时修改:
[root@oldboyedu ~]# echo $LANG
en_US.UTF-8
LANG=XXX

永久修改:
方法一: 更加有先
[root@oldboyedu ~]# tail -5 /etc/profile
export LANG='en_US.UTF-8'
方法二:
[root@oldboyedu ~]# cat /etc/locale.conf 
LANG="zh_CN.UTF-8"

补充:一条命令即临时设置,又永久设置
localectl set-locale LANG=zh_CN.GBK

使xshell软件远程连接速度加快

第一个步骤:修改ssh服务配置文件
vi /etc/ssh/sshd_config
79  GSSAPIAuthentication no
115 UseDNS no

第二个步骤:修改hosts文件
[root@oldboyedu ~]# vi /etc/hosts
10.0.0.200  oldboyedu.com

第三个步骤:重启ssh远程服务
systemctl restart sshd

yum list #查看哪些软件可以安装/查看所有系统已安装的软件
yum grouplist #查看哪些软件包组可以安装/查看已安装的软件包组
查看有哪些网络服务
在这里插入图片描述
管道符号过滤命令
就是通过|符号将前一部分执行的结果传递给后面,用grep命令进行筛选
在这里插入图片描述

文件编辑查看命令总结

  vi   记事本
  a 光标快速移动快捷方式
    纵向移动: gg G ngg
    横向移动: 0/^  $
  b 移动光标转为编辑状态
    i I a A o O C cc
  c 快速编辑文本内容信息
    dd ndd yy nyy p np
  d 特殊操作编辑文本方式
    显示或取消显示行号信息
	:set nu 
	:set nonu
    撤销文本内容编辑操作
	u  undo 
	ctrl + r  redo
	快速搜索文本指定内容
	/搜索内容 ,然后按n 进行选择
	PS:忽略大小写搜索信息
	1. 设置方法 :set ic 		/ 取消方法 :set noic
	2. 设置方法 :set ignorecase / 取消方法 set noignorecase
	3. 查找方法 /search-text\c
    快速删除内容到达行尾
	dG   将光标所在位置内容,到行尾信息全部删除
	
  vim  nodepad++(功能更强) 有颜色区分不同信息
  1. 取消高亮显示
     /搜索一个文件中没有的信息
  2. 快速移动或复制数据信息
     :2,4move9      --- 将第几行到第几行的内容移动到指定行的后面
	 :2,4copy9      --- 将第几行到第几行的内容复制到指定行的后面
  3. 文件内容信息进行修改替换
     %s#oldboy#oldgirl#g   --- 将文件中指定信息全部做替换
     % 全部做替换
	 s substitute  替换
	 g global      将整行符合要求的字符都做替换
     #要替换的信息#修改成什么信息#		 
     
	 替换修改文件部分内容
	 :2,4s#oldgirl#oldboy#g    --- 将第二行到第四行内容进行替换
     :12,$s#oldgirl#oldboy#g   --- 将第十二行到结尾内容进行替换

查看文件信息方法(包含三剑客命令)

复习:

  1. 虚拟化环境部署(网络配置)
    NAT模式 实现其他宿主机可以远程连接自己的虚拟主机

    1. 进行系统安装
      a 分区概念
      b 系统软件包组安装
      补充知识点:centos7
      命名方式: ensxx 以太网 槽位
      eth 以太网 0 1
      修改方式:
      1. 安装系统时–菜单的界面–install centos 7选择–teb-- net.ifnames=0 biosdevname=0
      2. 在系统中进行修改
        ①. 编辑网卡配置文件中网卡名称信息
        vim /etc/sysconfig/network-scripts/ifcfg-ens33
        NAME=eth0 — net.ifnames=0
        DEVICE=eth0 — biosdevname=0
        ②. 重命名网卡配置文件名称信息
        mv ifcfg-ens33 ifcfg-eth0
        ③. 修改网卡名称规则内核文件
        /etc/default/grub->net.ifnames=0 biosdevname=0 ”到GRUB_CMDLINE_LINUX变量后
        ④. 使系统重新加载grub配置文件
        grub2-mkconfig -o /boot/grub2/grub.cfg

vim常见错误说明
1). vim命令后面一定要接文件
vim /etc/hosts
2). vim只能编辑存在的目录中的文件
3). 编辑文件突然非正常状态退出
将错误信息制造出来:
编辑一个文件,在没有退出前,直接断开远程连接

vim编辑文件原理
01. 开始利用vim编辑一个文件
02. 需要判断编辑的文件所在目录中是否有隐藏文件
    a 拥有: 会有报错提示信息
	b 没有: 进入到命令模式
03. 在命令模式就会产生临时文件
04. 进入编辑模式对文件进行编辑
05. 编辑完成之后需要确定是否正常保存退出
    a 是正常退出: 从编辑状态--esc--命令模式--:wq保存退出 (将临时文件重命名)
	b 非正常退出: 临时文件会永久保留
	
解决问题方法:
第一个步骤: 进行查看文件内容
按大写字母O
第二个步骤: 确认文件是否需要恢复
需要恢复: 重新编辑按R,恢复文件内容
不用恢复: 重新编辑按E,进行重新编辑
第三个步骤: 将临时文件进行删除
1. 按大写字母D删除文件
2. 利用rm命令删除临时文件
   rm -f /oldboy/.oldboy.txt.swp
  1. 查看文件或者目录的属性信息
    命令: ls查看数据信息
    [root@oldboyedu ~]# ls /oldboy — 查看目录中有什么数据信息
    oldboy01 oldboy.txt oldgirl.txt
    [root@oldboyedu ~]# ls /oldboy/oldboy.txt — 查看目录中文件信息是否存在
    /oldboy/oldboy.txt
    [root@oldboyedu ~]# ls -l /oldboy/oldboy.txt — 查看文件属性信息
    -rw-r–r--. 1 root root 50 Apr 1 10:24 /oldboy/oldboy.txt
    [root@oldboyedu ~]# ls -ld /oldboy/ — 查看目录属性信息
    drwxr-xr-x. 3 root root 59 Apr 11 10:23 /oldboy/
    [root@oldboyedu ~]# ls -la /oldboy/ — 查看目录中所有数据信息,包含隐藏文件
    total 8
    drwxr-xr-x. 3 root root 59 Apr 11 10:23 .
    dr-xr-xr-x. 21 root root 282 Mar 29 16:21 …
    drwxr-xr-x. 3 root root 100 Apr 1 11:00 oldboy01
    -rw-r–r--. 1 root root 50 Apr 1 10:24 oldboy.txt
    -rw-r–r--. 1 root root 18 Apr 11 10:23 oldgirl.txt

    企业工作的一个问题:
    多个运维人员维护服务器,下班着急回家,交代:将oldboy目录中最新的数据文件需要继续编辑好
    ls -ltr /etc/ – 按照时间进行排序显示数据信息,并且是反向排序

    1. 查看文件内容信息方法
      命令: cat
      [root@oldboyedu ~]# cat /oldboy/oldboy.txt — 查看单个文件
      hello world
      oldboy shenzhen 01
      oldboy shenzhen 02
      [root@oldboyedu ~]# cat /oldboy/oldboy.txt /oldboy/oldgirl.txt — 查看多个文件
      hello world
      oldboy shenzhen 01
      oldboy shenzhen 02
      oldboy01
      oldboy02
      [root@oldboyedu ~]# cat -n /oldboy/oldboy.txt — 查看文件时,显示每行的行号
      1 hello world
      2 oldboy shenzhen 01
      3 oldboy shenzhen 02
      命令: less/more

      less /etc/service — 类似于看书,一点点查看文件内容
      向下逐行显示: 回车
      向下逐页显示: 空格
      向上逐行显示: 方向键上
      向上逐页显示: 字母b
      搜索信息: /搜索的字符串信息
      [root@oldboyedu ~]# less -N /etc/services
      1 # /etc/services:
      2 # $Id: services,v 1.55 2013/04/14 ovasik Exp $
      3 #
      4 # Network services, Internet style
      5 # IANA services version: last updated 2013-04-10
      按q结束查看

      more /etc/service — 类似于看书,一点点查看文件内容
      向下逐行显示: 回车
      向下逐页显示: 空格
      向上逐行显示: 字母f/b

      head 前几行
      tail 后几行

  1. 直接编辑文件命令方法
    a 如何直接在文件中添加单行内容
    echo “oldboy” >>/oldboy/oldboy.txt
    补充: echo命令用法说明:

    1. 请在屏幕上输出 oldboyedu.com信息
    2. 请在屏幕上输出 1 2 3 … 100 的数字信息
      输出序列信息
      a 显示连续的序列
      [root@oldboyedu ~]# echo {1…100}
      1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
      [root@oldboyedu ~]# echo {01…100}
      001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052 053 054 055 056 057 058 059 060 061 062 063 064 065 066 067 068 069 070 071 072 073 074 075 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091 092 093 094 095 096 097 098 099 100
      b 显示不连续的序列
      a 不连续有规律的序列
      问题:
      显示1…10 的奇数信息 1 3 5 7 9
      显示1…10 的偶数信息
      [root@oldboyedu ~]# echo {01…10…2}
      01 03 05 07 09
      [root@oldboyedu ~]# echo {02…10…2}
      02 04 06 08 10
      b 不连续无规律的序列
      mkdir -p /oldboy/oldboy01/oldboy02/{www,bbs,blog}
      练习题一:
      在oldboy目录下面创建出20个文件,二十个文件名称为 oldboy01,oldboy02 …oldboy20
      touch

    b 如何直接在文件中添加多行内容
    [root@oldboyedu ~]# cat /oldboy/oldboy.txt
    hello world
    oldboy shenzhen 01
    oldboy shenzhen 02
    [root@oldboyedu ~]# cat >> /oldboy/oldboy.txt <<EOF

    oldboy01
    oldboy02
    oldboy03
    EOF
    [root@oldboyedu ~]# cat /oldboy/oldboy.txt
    hello world
    oldboy shenzhen 01
    oldboy shenzhen 02
    oldboy01
    oldboy02
    oldboy03
    [root@oldboyedu ~]# cat >> /oldboy/oldboy.txt <<oldboy
    oldboy04
    oldboy05
    oldboy
    [root@oldboyedu ~]# cat /oldboy/oldboy.txt
    hello world
    oldboy shenzhen 01
    oldboy shenzhen 02
    oldboy01
    oldboy02
    oldboy03
    oldboy04
    oldboy05

  2. 过滤筛选文件内容命令
    三剑客命令
    老三: grep 过滤筛选信息
    老二: sed 修改替换文件内容 擅长对文件中的行进行操作
    老大: awk 擅长统计分析文件内容 擅长对文件中列进行操作

    grep命令如何进行过滤:
    编辑一个测试文件
    [root@oldboyedu ~]# cat >> /oldboy/test.txt <<EOF

    oldboy01
    oldgirl01
    olddog01
    oldboy02
    oldgirl02
    olddog02
    EOF
    [root@oldboyedu ~]# cat /oldboy/test.txt
    oldboy01
    oldgirl01
    olddog01
    oldboy02
    oldgirl02
    olddog02
    需求01: 请筛选出有oldboy的信息
    [root@oldboyedu ~]# grep “oldboy” /oldboy/test.txt
    oldboy01
    oldboy02
    需求02: 筛选有oldgirl的信息,但是要有oldgirl信息的上一行信息也显示
    [root@oldboyedu ~]# grep -B 1 “oldgirl” /oldboy/test.txt
    oldboy01
    oldgirl01

    oldboy02
    oldgirl02
    需求03: 筛选有oldgirl的信息,但是要有oldgirl信息的下一行信息也显示
    [root@oldboyedu ~]# grep -A 1 “oldgirl” /oldboy/test.txt
    oldgirl01
    olddog01

    oldgirl02
    olddog02
    需求04.筛选有oldgirl的信, 但是要有oldgirl信息的下一行和下一行信息也显示
    [root@oldboyedu ~]# grep -C 1 “oldgirl” /oldboy/test.txt
    oldboy01
    oldgirl01
    olddog01
    oldboy02
    oldgirl02
    olddog02
    需求05. 统计oldgirl信息在文件中出现了几次
    [root@oldboyedu ~]# grep -c “oldgirl” /oldboy/test.txt

    sed命令如何进行过滤信息
    [root@oldboyedu ~]# sed -n “/oldboy/p” /oldboy/test.txt
    oldboy01 edu.com
    oldboy02
    p print 将过滤信息输出
    -n 取消原文件的所有内容输出(取消默认输出)

    [root@oldboyedu ~]# awk “/oldboy/” /oldboy/test.txt
    oldboy01 edu.com
    oldboy02

  3. 修改文件部分内容信息

    1. sed命令 (师傅: 真正修改文件内容)
      需求: 修改test.txt文件内容 将所有oldboy信息修改替换为 python
      vim 替换: :%s#oldboy#python#g
      sed ‘s#oldboy#python#g’ /oldboy/test.txt

    实践操作
    [root@oldboyedu ~]# sed ‘s#oldboy#python#g’ /oldboy/test.txt
    python01 edu.com
    oldgirl01
    olddog01
    python02
    oldgirl02
    olddog02
    [root@oldboyedu ~]# cat /oldboy/test.txt
    oldboy01 edu.com
    oldgirl01
    olddog01
    oldboy02
    oldgirl02
    olddog02
    [root@oldboyedu ~]# sed -i ‘s#oldboy#python#g’ /oldboy/test.txt
    [root@oldboyedu ~]# cat /oldboy/test.txt
    python01 edu.com
    oldgirl01
    olddog01
    python02
    oldgirl02
    olddog02

    1. tr命令 (徒弟: 假装修改文件内容)
      需求: 修改test.txt文件内容 将所有python信息修改替换为 oldboy
      [root@oldboyedu ~]# tr “python” “oldboy” </oldboy/test.txt
      oldboy01 edu.com
      oldgirl01
      olddog01
      oldboy02
      oldgirl02
      olddog02
      [root@oldboyedu ~]# cat /oldboy/test.txt
      python01 edu.com
      oldgirl01
      olddog01
      python02
      oldgirl02
      olddog02

    tr用法
    [root@oldboyedu ~]# echo 123|tr “123” “abc”
    abc
    小于号用法1:
    [root@oldboyedu ~]# tr “123” “abc” < /oldboy/test01.txt
    abc
    [root@oldboyedu ~]# cat /oldboy/test01.txt
    123

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值