运维基础命令和三剑客
Linux基础操作命令
一:系统目录结构部分
hostnamectl set-hostnamehostnamectl
vi /etc/hostname 永久修改主机名
/etc/hosts 建立名称和地址的对应关系
/etc/fstab 实现磁盘设备的开机自动挂载
/etc/rc.local 文件中的命令信息,再开机的时候会自动执行
注意在文件中添加信息 echo mount /dev/cdrom /mnt >> /etc/rc.local 要用双大于号,因为只有一个的话是会进行清空再写入
5.系统的运行级别
centos6 (级别)
0 关机级别
1 单用户级别 (重置密码)
2 多用户模式级别 无网络
3 多用户模式级别 有网络
4 预留
5 图形化级别
6 重启级别
查看当前级别 :runlevel
修改当前级别:init 级别数值 (临时修改)
永久修改: vi /etc/inittab
centos7(target)
ll /usr/lib/systemd/system/runlevel*target
查看6里面的级别对应7里面的形似
查看级别:target
systemctl get-default
修改target
systemctl set-default
6.变量信息和别名信息配置文件
cat /etc/profile
作用:设置环境变量信息和程序启动相关的信息 为了对登录之后的系统环境做准备
2.可以配置函数和别名功能 最好配置在/etc/bashrc
变量:
普通变量:使简化脚本的编写
环境变量:系统的环境配置有关 PATH (可以让命令操作可便捷)
which 查看命令的位置在哪
别名:1.让命令操作更简单 长的命令变短(短命令 -别名)
2.让危险的操作更安全
别名设置方法:
临时设置:
alias 别名 = ‘命令信息’
ls -a 查看隐藏文件,Linux系统中隐藏文件都是以.开头
7.登录之后提示文件:
/etc/motd
8.登录之前提示文件
/etc/issue
/etc/issue.net
如何清空文件内容 ---> echo "" > /etc/issue >/etc/issue
9.和程序软件安装的相关目录
/usr/local
系统中如何安装软件(吃饭)
01:订餐点外卖 (做好的饭 筷子) yum安装软件 简单快捷
02:买半成品 (速冻饺子 加工) rpm安装软件 需要软件安装包
03:自己做饭 (买食材,做饭) 编译安装软件 可以灵活调整
yum安装:
修改yum仓库--yum源文件
1.本地配置yum源文件 /etc/yum.repos.d/ 下的CentOS-Base.repo 网址寻找方式:去阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 点击centos 即可复制这条命令curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
2.yum install vim
软件安装排错说明:1.能不能访问外网 ping www.baidu.com
a.访问外网IP地址不通 -- 网卡地址配置有问题
b.访问外网名称不通 ---- DNS配置有问题
2.检查是否以及有下载的进程
ps -ef == windows 任务管理器 pid等于进程编号
kill pid (杀死进程) kill -9 pid(强制杀死进程)
10.日志文件保存目录
ll /var/log
两个重要的日志文件:1.messages --> 记录系统或服务程序运行的状态信息 和错误信息
secure ---> 记录的用户登录信息
tail -f /var/log/secure --> 看倒数几行的信息(默认查看十行 -f 追踪文件的信息)
head --> 查看前面几行的信息 (默认查看十行)
11.系统硬件信息查看方法
Cpu :
利用文件进行查看:cat /proc/cpuinfo
model name : Intel(R) Core(TM) i5-9400 CPU @ 2.90GHz
physical id : 0 表示cpu颗数 1颗 越多并行越高
processor : 0 表示cpu核数 1核
cpu cores : 1
利用命令查看: lscpu -->等价于调取了 cpuinfo文件中的内容
Socket(s):插槽 --> 显示服务器有多少颗cpu
Core(s) per socket --》 每个cpu有几个核
负载:(cpu处理任务过多) 负载值越高压力越大
利用文件进行查看:cat /proc/loadavg
0.00 0.01 0.05 负载值和cpu核数有关
一分钟平均 五分钟平均负载 15分钟平均负载
4核服务器--负载值3左右就要关注 100核服务器---负载值100(数据库服务器)
利用命令查看: w (-h 以g为单位显示)
内存:
利用文件进行查看:cat /proc/meminfo
利用命令查看: free -h (-h 以g为单位显示)
磁盘信息/挂载信息
利用文件进行查看:cat /proc/mounts
利用命令查看: df (-h 以g为单位显示)
sourece 立即加载文件信息
/etc/profile
/etc/bashrc
~/.bashrc
~/.bashrc_profile
二:系统优化操作
1.vi 命令基本用法
1)vi 命令打开文件
2)输入i ---- 进入编辑状态
3) esc --- 退出编辑状态
4)wq ----保存退出文件
2.vi 命令详细使用方式
vi有三种模式(互相切换)
1)命令模式(编辑模式)
2)插入模式
3)底行模式
三种模式的切换方法:直接进入的时候就是命令模式,输入(i--插入模式,I--在一行的行首插入,o--所在行的后面兴建一行进行写,O--所在行的前面兴起一行进行编辑,A--在行尾进行编辑,a--讲光标移动到右边的下一个字符进行编辑,C--将光标到行尾的内容进行删除并进入编辑状态,cc--将整行内容进行删除并进入编辑状态)
只移动光标不进入编辑模式(
1.将一行的内容进行时删除 -----dd
复制n行 ------ nyy
将dd了的内容粘贴到光标的下一行 ---- p
2.将多行内容进行删除 ------ 3dd
3.将错误操作如何还原 ------ u
4.将光标快速切换到首部 ---- ngg(n表示移动到第几行)
5.将光标移动到行首 ---G
7.将光标移动到一行的结尾 -----$
)
底行状态:/ 搜索状态(n向下搜索)
? 搜索状态 (n向上搜索)
3.系统优化方法(基础优化)
1)了解系统环境
两个命令:cat /etc/redhat-release ---- 查看系统的发行版本
uname -a ---- 查看详细信息man uanme ----查看uname有哪些参数
Linux cz-01 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
2)企业中管理系统用户身份是不同的
ps1
普通用户如何创建
useradd
passwd 用户名
普通用户如何切换
su
普通用户如何查看身份
whoami
$在界面中表示普通用户
#在界面中表示管理者
查看用户是否存在;
id - 用户名
3)操作系统优化 -- 命令提示符优化
1.优化方法:修改ps1环境变量
echo $PS1 [\u@\h \W]$
默认配置:
\u ----- 显示当前登录用户的名称
\h ----- 显示系统主机名称
\W ------ 显示当前所在目录信息(目录结构的最后结构信息)
2.命令提示符的颜色如何优化
\tail -1 /etc/profile
export PS1='[\e[32;1m][\u@\h \W]$ [\e[0m]'
4)操作系统优化 --- yum下载源优化
yum provides locate====获取这个命令属于哪个软件大礼包
yum软件优势:简单快捷
01.不需要到官方网站下载软件包(到yum仓库直接下载即可)
02.可以解决软件的依赖关系
yum优化方法:
01.优化基础的yum源文件
02.优化扩展的yum源文件:
通过阿里镜像 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum repolist ---- 检查可用的yum源信息
两个小软件 sl cowsay --- 需要优化epel扩展源:
sl --- 小火车
cowsay -- animalsay oldboy ------ 动物说话
如何确认软件是否安装:
rpm -qa
which ssh
rpm -qf 查看文件
5)系统安全相关优化(将一些安全服务进行关闭)
a. 防火墙服务程序
centos6:
查看防火墙服务状态:/etc/init.d/iptables status
临时关闭防火墙:/etc/init.d/iptables stop
永久关闭防火墙:chkconfig iptable off
centos7:
查看防火墙服务状态:systemctl status firewalld
临时关闭防火墙:systemctl stop firewalld
永久关闭防火墙:systemctl disable firewalld
启动防火墙:systemctl start fillward
开机运行防火墙 :systemctl enble fillward
重启服务:systemctl restart 服务名称
补充:查看服务状态简便信息 ------- systemctl is-active firewalld
----- systemctl is-enable firewalld --- 是否开机运行
b.系统的selinux程序
selinux服务对root用户权限进行控制
很多企业中:selinux服务默认关闭
centos6==centos7
检查确认: getenforce
临时关闭:
setenforce 0
usage: setenforce [ Enforcing | Permissive | 1 | 0 ]
永久关闭:
vi /etc/selinux/config
enforcing - SELinux security policy is enforced. -- 服务器处于正常开启状态
permissive - SELinux prints warnings instead of enforcing. --- selinux服务器被临时关闭
disabled - No SELinux policy is loaded. ----- selinux服务器彻底关闭
如果想让selinux配置生效,重启系统
6)字符编码优化
什么是字符编码:对系统的字符编码可以实现对非英文字符的支持
支持中文比较号的编码:
utf-8 比较通用 GBK 比较国际通用
系统中字符集编码设置方法:
centos6:
查看默认编码方法:echo $LANG
临时修改:
永久修改:vi /etc/sysconfig/il8n
centos7:
查看默认编码信息:echo $LANG
临时修改:LANG=编码格式
永久修改:
方法一:vi /etc/profile 中加上 export LANG = 。。。。。
方法二:vi /etc/locale.conf
补充:一条命令直接改文件里面
localectl set-locale LANG=zn.CN.UTF-8
7)远程连接缓慢优化
第一步:
vi /etc/ssh/sshd_config
:set nu
79 GSSAPIAuthentication yes
115 #UseDNS yes
把这两个的注释取消 yes改为no
第二步:
修改vi /etc/houst文件
cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.80.200 cz402.com
第三步:重启ssh远程服务
systemctl restart sshd
查看网络服务 ss -lntup
常见服务端口号:
22 ssh远程连接服务
21/tcp FTP 文件传输协议
22/tcp SSH 安全登录、文件传送(SCP)和端口重定向
23/tcp Telnet 不安全的文本传送
25/tcp SMTP Simple Mail Transfer Protocol (E-mail)
69/udp TFTP Trivial File Transfer Protocol
79/tcp finger Finger
80/tcp HTTP 超文本传送协议 (WWW)
88/tcp Kerberos Authenticating agent
110/tcp POP3 Post Office Protocol (E-mail)
113/tcp ident old identification server system
119/tcp NNTP used for usenet newsgroup
管道过滤器 : grep
ss -lntup | grep "22"
vim
1.取消高亮显示
2.快速移动或复制数据信息
:2,4move(copy)9 --将第几行到第几行的内容移动(复制)到指定位置
3.文件内容信息进行修改替换
%s#oldboy#oldgiry#g ---- 将文件中指定的信息全部做替换
% 全部做替换
s 替换
g 将整行符合要求的字符都做替换
#要替换的信息#修改成什么信息
替换修改文件的部分内容
:2,4s#oldboy#oldgiry#g -- 将2-4内容替换
:12,s#oldboy#oldgiry#g --将12行到结尾的信息进行替换
批量修改文件内容
1.进入批量编辑状态 将光标移动到开始位置 输入Ctrl +v
2.批量选中要编辑的行 方向建选择
3.进行编辑修改
shift +i --- 进行单行编辑
4.实现批量修改
按esc
vim常见错误说明
1.vim命令后面一定要接文件
2.vim只能编辑存在的目录中的文件
3.编辑文件突然非正常状态退出
将错误信息制造出来:编辑一个文件,在没有退出前,直接断开远程连接
查看文件命令总结:
1查看文件或者目录的属性信息:
ls 查看数据信息
ls -l 查看文件属性
ls -ld 查看目录属性信息
ls -la 查看目录中的所有数据信息,包含隐藏文件
企业工作中的一个问题:
多个运维人员维护服务器,将oldboy目录中 最新的数据文件需要继续编辑好
ls -lt /etc/ 按照时间排序 正向排序
ls -ltr /etc 逆向排序
2,查看文件内容信息方法
命令:cat /d.txt /a.txt 查看多个文件
cat -N 显示行号
less/more
less /etc/service --- 类似于看书可以一点点查看文件内容,向下逐行显示:回车 向下逐页显示:空格 向上逐行显示:方向键上 向上逐页显示:字母b 搜索信息:/搜索字符
3.直接编辑文件命令的方法
echo “”xxx >> /oldboy/a.txt
输出序列 1.显示连续的序列
echo {1..100}
2.显示不连续的序列
a. 不连续有规律的序列 显示1..10的奇数(偶数)信息
echo {01..10..2}
echo {02..10..2}
mkdir -p /oldboy/oldboy{01..20}
cat >> /oldboy/oldboy.txt <<oldboy
4.过滤筛选文件内容命令
三剑客命令:
老三:grep ----过滤筛选信息
老二:sed ------ 修改替换文件内容,擅长对文件中的行进行操作
老大:awk ------擅长统计分析文件内容,擅长对文件中的列进行操作
grep命令如何进行过滤
编辑一个测试文件
[root@cz-01 ~]# cat >> /oldboy/test.txt <<EOF
oldboy01 oldgirl01 olddog01 oldboy02 oldgril02 olddog02 EOF [root@cz-01 ~]# cat /oldboy/test.txt oldboy01 oldgirl01 olddog01 oldboy02 oldgril02 olddog02
1.筛选出有oldboy的信息
grep "oldboy" /oldboy/test.txt
2.筛选有oldgirl的信息,但是将有oldboy的上一行信息显示
grep -B 1 "oldgirl" /oldboy/test.txt
3.筛选有oldgirl的信息,但是将有oldboy的下一行信息显示
grep -A 1 "oldgirl" /oldboy/test.txt
4..筛选有oldgirl的信息,但是将有oldboy的下一行和上一行信息显示
a .grep -A 1 -B 1 "oldgirl" /oldboy/test.txt
b. grep -C 1 "oldgirl" /oldboy/test.txt
5.统计oldgril信息在文件中显示了几次
grep -c "oldboy" /oldboy/test.txt
修改文件部分内容信息
1.sed命令 真正修改文件内容
sed 's#oldboy#python#g' /oldboy/test.txt
sed -i 's#oldboy#python#g' /oldboy/test.txt
2.tr命令 假装修改文件内容
echo 123|tr “123” “abc”
脚本的方式创建多个用户
for num in {01..20};do useradd oldgirl$num;done
三:系统文件属性说明
(1):文件属性概念
ls -li /etc/
总用量 1096
第一个部分:文件属性 第二个部分:文件名称
34181869 d rwxr-xr-x. 3 root root 101 5月 16 2022 abrt
01 02 03 04 05 06 07 08
01.文件数据的inode信息: index node ==== 索引节点
作用:快速从磁盘中找到数据信息
02.文件的数据类型:文件 目录 链接文件 cdrom(设备文件)
ps:Linux系统中一切皆文件
作用:指明数据的文件类型
03.权限位信息:r -- red 读
w --- write 写
x --- execute执行
作用:控制不同的用户对文件有不同的权限
04.文件目录的硬链接数:类似于超市的多个门
作用:可以有多个路径查看数据信息
05.文件所属用户信息(属主):文件的创建者或者拥有者
06.文件所属组信息(属组):文件或数据的所属用户组
07.文件的大小信息
08.文件的时间信息
(2):文件属性详细说明 ---- 文件类型
1.文件类型概念
windows:区分文件的类型 扩展名
Linux系统中: 不用扩展名来区分文件类型
2.Linux系统区分文件类型方法:
a.颜色区分
b.利用属性信息区分 ls -l
c.利用特殊命令区分
file /oldboy/oldboy.txt
3.Linux系统中的常见文件类型
d === 目录
- ==== 普通文件
(1)纯文本文件 ----- 文本文件(可以直接编辑查看的普通文件)
(2)二进制文件 ------ 命令文件(不可以编辑)
(3)数据型文件 ------ 数据文件(压缩文件)
l ==== 链接文件 创建方法 --- ls -s /oldboy/oldboy.txt /oldboy/oldboy_link.txt
源文件 软链接文件
c/b ==== 块文件/字符文件(设备文件)
s --- socket文件(网络编程)
4.扩展命令说明
a.显示 文件信息类型命令:file
b. 显示命令的绝对路径信息:which
c.显示命令路径及相关的帮助手册文件路径:wehereis
d.快速定位文件的所在路径:locate 需要下载mlocate 需要建表updatedb
e.快速查找数据信息命令
find 命令语句
find 找寻的数据范围 - type(文件类型) d l - c/b -name “文件名称”
根据大小查找:find /oldboy -type f -size +1M
5.显示目录结构信息 --- tree
tree /oldboy 显示所有的信息
tree -L 2 / 查看目录结构层级信息
tree -d /oldboy 显示目录中所有结构信息
6.系统中如何对文件进行压缩
压缩的命令 tar
压缩命令的语法 :
tar zcvf /oldboy/oldboy.tar.gz 指定要压缩的文件
z-- zip c -- 创建压缩包文件 v--显示压缩的过程 f--- 指定压缩包文件路径信息
检查是否压缩成功:mv
xvf
查看解压过后是否一致:vimdiff 或者比较两个文件内容是否有区别
(3):文件属性详细说明 ---- 文件权限
1.文件数据权限有什么:
r read === 读权限 4
w write === 写权限 2
x execute === 执行权限 1
2.权限赋予到指定人
属主信息 文件所有者(监护人) 权限
属组信息 文件所有者(亲人) 权限
其他用户 隔壁老王 权限
(4):文件属性详细说明 ---- 用户信息
1.系统中用户信息有什么用
a.利用用户登录系统
b.利用用户管理数据
c.利用用户管理进程
2.系统如何识别不同用户
利用用户的数值编号进行识别:uidid root
uid=0(root) gid=0(root) 组=0(root) [root@cz-01 ~]# id cz402 uid=1001(cz402) gid=1001(cz402) 组=1001(cz402)
3.用户组的概念:
oldboy oldgiry -sa (system aimin)
boy -dev(DEvelopment)
alex old -dba(databaseadmin)
用户---用户组 (1对1的关系)
多个用户 ---- 用户组 (多对一的关系)
用户 ---- 多个用户组 (多对一的关系)
系统识别用户组也是根据编号来识别:gid
4.用户进行分类
a.超级管理员用户 皇帝 root
uid信息进行区分: 0
b.虚拟用户 傀儡 xxx
uid信息进行区分: 1-999
c .普通用户 平民 oldboy/。。。。
uid信息进行区分: 1000+
如何保护好皇帝
1.修改远程连接端口-52113 ----- 修改/etc/ssh/sshd——config
2,禁止root用户可以远程登录
5.文件属性详细说明 ---- inode
inode:索引节点
文件或数据在磁盘中保存的位置
block:索引节点指向的位置
文件或数据的具体内容
读取数据原理
1.找到指定数据
2.读取数据内容,先获取文件数据inode信息
3.根据inode信息在磁盘上找到对应的block
4.根据block信息获取文件真正内容
6.文件属性详细说明 ---- 时间信息
文件数据时间类型:
1.访问时间
2.修改时间 date-s
3.改变时间
查看时间:date
ntpdate ntp1.aliyun.com ==== 时间同步
(5):文件属性详细说明 ---- 硬链接数
硬链接:
概念说明:超市的多个门 在一个分区中,inode号码相同的文件互为硬链接
诞生过程:
ln 链接的源文件 硬链接的文件信息
ln /oldboy/oldboy.txt /oldboy/oldboy_hard_link.txt [root@cz-01 oldboy]# ll 总用量 8 -rw-r--r-- 2 root root 13 12月 17 16:42 oldboy_hard_link.txt -rw-r--r-- 2 root root 13 12月 17 16:42 oldboy.txt [root@cz-01 oldboy]#
利用find命令找到所有硬链接:find / -type f -inum 33592763
系统中的目录不能创建硬链接
软链接:
概念说明:文件的快捷方式
诞生过程:
ln -s
ln -s /oldboy/oldboy.txt /oldboy/oldboy_soft_link.txt [root@cz-01 oldboy]# ll 总用量 8 -rw-r--r-- 2 root root 13 12月 17 16:42 oldboy_hard_link.txt lrwxrwxrwx 1 root root 18 12月 17 16:43 oldboy_soft_link.txt -> /oldboy/oldboy.txt -rw-r--r-- 2 root root 13 12月 17 16:42 oldboy.txt
软硬链接的区别:
链接后的文件大小不一致
链接后的文件类型和权限不一致
链接后的文件和源文件 inode信息有出入 硬链接号码一致软链接号码不一样
源文件被删除之后硬链接文件依然有效,软链接文件失效
软硬链接创建过程不一致
如何确定数据真正被删除了
1.确保文件的硬链接数为0 i_link
2.确保文件没有被进程占用 i_count
四:系统正则符号部分
1.系统基础符号说明
(1)基础符号系列 :$ 美元符号 1.用于取出变量中的内容 2.用于取出指定列的信息(awk)3.表示用户命令提示符号 4.表示一行的结尾
!叹号符号 1.用于排除取反
| 竖线符号 管道符号 前一个命令执行结果交给后面命令处理
xargs 命令 | xargs 命令
xargs:将信息进行分组显示
(2)引号符号系列:'' 输出的信息,所见即所得
"" 和单引号功能类似,但对特殊信息会做解析
``($()) 将引号中的命令先执行,将执行结果交给引号外面的命令进行处理
没有引号 和双引号功能类似,但是可以直接识别通配符信息
(3)重定向符号系列:
> 标准输出重定向符号
2> 错误输出重定向符号
>> 标准输出追加重定向
2>> 错误输出追加重定向
< 标准输入重定向符号
<< 标准输入追加重定向符号
如何将正确信息和错误信息都输入到文件里面:echo oldboy > /oldboy/ok.txt 2>/oldboy/error.txt
echo oldboy &> /oldboy/info.log
(4)路径相关信息:
../ 上一级目录
./当前目录
~家目录
- 两个目录进行切换
(5)逻辑符号系列:
&& 与 前一个命令执行成功了才执行后一个
|| 或 前一个命令失败了才执行后一个
(6)系统通配符号:
利用通配符号匹配文件名称信息
* 模糊匹配
{} 生成序列信息
echo {1..10}
(7)正则符号
基础正则符号:base
^尖角符号:以什么开头的信息 ll /oldboy|grep ”^d“ 2. $美元符号:以什么结尾的信息 ll /oldboy|grep ”^d“ 3. .点符号: 匹配任意一个字符且只有一个字符 4. *星符号:匹配任意0或多个字符
\转义符号:将有特殊意义的符号转义成普通信息进行识别,将没有特殊意义的信息转义为特殊有意义的符号例如\n 6. []括号符号:匹配多个字符信息
扩展正则符号:ere -----默认grep,sed不能直接识别,grep 提示自己 == egrep === grep -E sed提示自己=== sed -r
1.+号符号:匹配前一个字符出现一次或者多次
2.|竖线符号:并且符号用于匹配多个信息
3.()括号符号:作用1.指定信息进行整体匹配 2.进行后项引用前项 ---sed 命令替换功能
seq -w 10|sed -r 's#(.*)#useradd oldboy\1;echo 123456|passwd --stdin oldboy\1#g' useradd oldboy01;echo 123456|passwd --stdin oldboy01 useradd oldboy02;echo 123456|passwd --stdin oldboy02 useradd oldboy03;echo 123456|passwd --stdin oldboy03 useradd oldboy04;echo 123456|passwd --stdin oldboy04 useradd oldboy05;echo 123456|passwd --stdin oldboy05 useradd oldboy06;echo 123456|passwd --stdin oldboy06 useradd oldboy07;echo 123456|passwd --stdin oldboy07 useradd oldboy08;echo 123456|passwd --stdin oldboy08 useradd oldboy09;echo 123456|passwd --stdin oldboy09 useradd oldboy10;echo 123456|passwd --stdin oldboy10 [root@cz-01 ~]#
4.{}括号符号:可以指定字符连续匹配的次数 x{n,m}至少出现n次 至多出现m次
5.?问号符号:定义匹配前一个字符出现0次或者1次
五:系统三剑客命令部分
1)sed命令
=================== 一般处理文本文件(小文件),日志文件信息(grep awk分析),配置文件信息(sed)
-n :使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN 的数据一般都会被列出到终端上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。
-e :直接在命令列模式上进行 sed 的动作编辑; -f :直接将 sed 的动作写在一个文件内, -f filename 则可以运行 filename 内的 sed 动作; -r :sed 的动作支持的是延伸型正规表示法的语法。(默认是基础正规表示法语法) -i :直接修改读取的文件内容,而不是输出到终端。
1.概述:字符流编辑工具 == 按照每行中的字符进行处理操作
2.sed命令作用: 1.擅长对行进行操作处理
2.擅长将文件的内容信息进行修改调整/删除
编写脚本:修改文件信息时
sed -i "s*10.0.0.201#10.0.0.101#g" /etc/sysconfig/network-scripts/ifcfg-ens33
3.具体功能作用:
1.向文件中添加信息
2.向文件中删除信息
3.向文件中修改信息
4.向文件中查询信息
4.sed命令的语法信息
sed 参数 条件-处理 处理的文件信息
sed -n ‘/oldboy/p’ oldboy.txt
5.sed命令执行原理
6.sed命令实践操作 a.sed命令查询信息方法
创建测试环境
根据文件内容的行号进行查询:
测试1:显示单行内容
sed -n '3p' person.txt
测试2.显示多行信息(连续)
sed -n ‘1,3p' person.txt
测试2.显示多行信息(不连续)
sed -n ‘1p;3p' person.txt
根据文件内容的信息进行查询:
测试1:根据内容信息,输出单行内容
sed -n '/oldboy/p' person.txt 101,oldboy,CEO
测试2:根据内容信息,输出多行内容,将有oldboy到alex的信息都输出出来(连续)
sed -n '/oldboy/,/Alex/p' person.txt
测试3:根据内容信息,输出多行内容,将有oldboy到alex的信息都输出出来(不连续)
sed -n '/oldboy/p;/Alex/p' person.txt
b.sed命令添加信息方法
在文件的第一行添加信息:
100,oldgirl,UFO
sed -i ’1i100,oldgirl,UFO‘ person.txt
在文件的最后一行添加信息
sed '$a108,oldgirl,UFO' person.txt
107,oldbbb,ooo
p:输出信息
i:插入信息
a:附加信息
c.sed命令删除信息的方法
1.删除单行
sed ‘3d‘ person.txt
2.删除文件中第二行到第六行的信息
sed ’2,6d‘ person.txt
d.sed命令修改信息的方法
sed 's#原有内容#修改后的内容#g'
2)awk命令
擅长对列进行操作/进行数据信息的统计(数组)
awk基本使用(高级使用--shell)
1.awk概念介绍说明
作用特点:1.排除信息
2.查询信息
3.统计信息
4.替换信息
语法格式:
awk 参数 ’模式-动作’ 文件
awk实际操作过程:
准备测试环境
命令查询信息方法:awk 'NR==2' awk_test.txt
ps:在Linux系统中 oldboy=10 赋值变量信息
oldboy==2 真正oldboy等于数值2
awk '/Xiaoyu/' awk_test.txt
awk '/Zhang/{print $NF}' awk_test.txt |awk -F ":" '{print $3}'
awk -F '[ :]+' '/^Zhang/{print $1,$2,$5}' awk_test.txt
显示以41开头的ID号码的人的全名:
awk '$3~/^41/{print $1,$2,$3}' awk_test.txt
显示所有ID号码最后一位数字时1或5的人全名:
方法一:awk '$3~/1$|5$/{print $1,$2}' awk_test.txt |column -t
方法二:awk '$3~/[15]$/{print $1,$2}' awk_test.txt
显示xiaoyu的捐款,每个时都以$开头
ps:gsub(/需要替换的信息/,”替换成什么信息“,将哪列信息进行修改)
awk '$2~/Xiaoyu/{gsub(/:/,"$",$NF);print $NF}' awk_test.txt
文件中空行进行排除/文件中注释信息进行排除:
sed -n ’^#|^$/!p'
awk '!/^#|^$/' awk_test.txt
awk '$0!~/^#|^$/' awk_test.txt
awk总结:
$1 $2 $3 :取第几列
$NF:取最后一列
$(NF-n):取倒数几列
$0:取所有列的信息
六:计算机网络协议
1)网络层次模型
1.OSI七层模型:
应用层——标准规范,应用层程序 范
表示层——数据转换加密,压缩
会话层——建立,管理和终止会话
传输层——保证数据传输的可靠性
网络层——路由协议,可以通过路由找到目标网络
数据链路层——可以实现通过交换设备找到真正的目标主机(交换数据的能力)
物理层——指定一些网络的物理设备的标准 网卡,网线,光纤。
2.数据的封装和解封装过程
3.TCP/IP模型(四层):
在OSI七层模型基础上做了简化:
应用层:
表示层: 应用层
会话层:
传输层: 主机到主机层
网络层: 因特网层
数据链路层:
物理层: 网络接入层
4.三次握手
1.主机A向主机B发送TCP的报文,报文中控制字段syn置为1,请求建立连接
2.主机B向主机A发送TCP响应报文,报文中控制字段syn置为1,ack置为1
3.主机A向主机B发送TCP报文,控制字段ack置为1,确认接收到了信息
5.四次挥手:
运维基础命令和三剑客相关推荐
- Linux运维基础命令笔试题
题目来源 老男孩BLOG:http://oldboy.blog.51cto.com/2561410/1752116 1.创建目录/data/oldboy ,并且在该目录下创建文件oldboy.txt, ...
- linux系统中pwd命令的作用,Linux运维pwd命令有什么用途?linux系统
Pwd命令用于显示当前所在的位置,是Linux运维工作人员需要掌握的Linux文件和目录操作命令之一.对于Linux运维工作,Linux命令是必不可少的.随着技术的发展,市场对于Linux运维人才的需 ...
- 运维基础(13)日志切割工具 Logrotate
Logrotate 程序是一个日志文件管理工具,用于分割日志文件,压缩转存.删除旧的日志文件,并创建新的日志文件,下面就对 logrotate 日志轮转的记录: Linux 系统默认安装 logrot ...
- 运维基础(12)服务器12种基本故障+排查方法
定义举例 从上电(或复位)到自检完成这一段过程中电脑所发生的故障. 可能的故障现象 1. 主机不能加电(如:电源风扇不转或转一下即停等).有时不能加电.开机掉闸.机箱金属部分带电等; 2. 开机无显, ...
- 运维基础(10)linux被删数据恢复方法
https://sourceforge.net/projects/extundelete/extundelete --help 其中,参数(options)有: --version, -[vV],显示 ...
- 运维基础(8)shell脚本
欢迎关注微信公众号[厦门微思网络].www.xmws.cn专业IT认证培训19周年 主要课程:思科.华为.红帽.ORACLE.VMware.CISP.PMP等认证培训及考证 shell 中各个命令的区 ...
- 运维基础(5)Ansible
Ansible 是近年来越来越火的一款开源运维自动化工具,通过Ansible 可以实现运维自动化,提高运维工程师的工作 效率,减少人为失误.它基于Python 开发,集合了众多运维工具( puppet ...
- 运维基础(4)流量监控工具篇
往期回顾: 运维基础(1)Nginx 运维基础(2)实用工具篇 运维基础(3)备份篇 最近有一些同学,让讲师帮忙协助检测下一台服务器的网络流量,既此,我要来了下网络流量监测相关的工具,以供使用,欢迎转 ...
- dataguard日志传输模式解析_网络运维基础 日志审计
点击上面蓝字关注我们 综合日志审计平台 综合日志审计平台通过集中采集信息系统中的系统安全事件.用户访问记录.系统运行日志.系统运行状态等各类信息,经过规范化.过滤.归并和告警分析等处理后,以统一格式的 ...
最新文章
- c51汇编语言处理多位数,汇编语言用循环输出多位数,结果溢出了,怎么解决?...
- 锐捷交换机配置snmp版本_【交换机】交换机如何配置SNMP(网络管理协议)
- 【Linux系统编程】可重入和不可重入函数
- python拷贝是什么知识点_python闭包、深浅拷贝、垃圾回收、with语句知识点汇总...
- 光纤收发器有什么用?光纤收发器的作用是什么?
- 【BZOJ5213】[ZJOI2018]迷宫(神仙题)
- 前端招聘与前端卖身的困境
- Java类class getClasses()方法及示例
- jdbc数据库配置mysql数据库_JDBC连接MySQL数据库(一)——数据库的基本连接
- Python基础---OS模块 (二)
- 《Effective C#》Item 20:区分接口实现与虚函数重载
- 5、maplotlib中的轴刻度和轴线
- 11g oracle 客户端驱动_oracle 11g 数据库驱动包
- AutoCAD Plant 3d管道设计基础到中高级进阶视频教程
- 中央财经大学c语言试题答案,中央财经大学C语言题
- 美食杰(个人主页编辑资料)
- 软件测试行业的现状和前景
- 客户留存的4个产品策略
- 电容电阻电感在电路中的作用
- linux网卡驱动离线安装_Linux网卡驱动的安装方式