Linux
2021-11-11 23:13:01 2 举报
AI智能生成
计算机硬件软件体系、基础命令、Linux的文件系统、Linux的网络信息、日期和时间、用户-组-权限、管道与重定向、Linux的系统进程、Linux的软件安装、Linux 的三剑客
作者其他创作
大纲/内容
计算机硬件软件体系
概念
冯 诺依曼体系结构
计算机处理的数据和指令一律用二进制数表示
顺序执行程序
计算机硬件由运算器、控制器、存储器、输入设备和输出设备五大部分组成
计算机硬件组成
输入设备
输出设备
存储器
RAM
随机存储器
ROM
只读存储器
CPU
运算器
处理器
网络连接概念
IP地址IPADDR
子网掩码NETMASK
默认网关GATEWAY
域名服务器DNS
网络连接模式
host-onboy(主机模式)
bridged(桥接模式)
NAT(网络地址转换模式)
配置常见参数
网络
查看自己虚拟网卡地址
修改网络配置信息
vi /etc/sysconfig/network-scripts/ifcfg-ens33
重启网卡重新加载配置文件
虚拟网络的四种连接方式
无网络
host-onboy主机模式
真实网络和虚拟机网络是隔离
VMNet1
bridged桥接模式
虚拟机和真实主机共享同一个网络
分支主题
NAT模式网络地址转换
给虚拟机构建一个单独的子网络
VMNet8
分支主题
图例
分支主题
基础命令
注意
Linux命令与参数之间必须用空格隔开
Linux命令是区分大小写的
如果输入错误的命令
-bash: abcd: command not found
命令敲错了
命令未安装
常用的命令
whereis 查询命令文件的位置
file 查看文件的类型
who 查看当前在线的用户
whoami 我是谁
pwd 我在哪
uname -a 查看内核信息
echo 类似于sout syso ,打印语句
clear 清屏
history 历史
特殊字符
.点
如果文件的开始是.说明当前文件时一个隐藏文件
.指向当前目录
..指向当前目录的上级目录
$
说明这是一个变量
$PATH Linux 的环境变量
*星号
通配符
~
当前用户的家目录
每个用户的家目录是不同的
root用户家目录在系统根目录下
其他用户的家目录在/home/用户名为家目录
空格
Linux的命令与参数用空格隔开
/
整个Linux的文件根目录
命令的参数
如果是单词 一般加--
如果是字母或者缩写 一般加-
Linux的文件系统
什么是文件系统
操作系统如何管理文件,内部定义了一些规则或者定义
查看文件内容
cat
将整个文档加载到内存中,并进行一次性显示
tac
同cat,但为逆向显示
more less
分页查看文档内容
head
从文章开始读取n行
head -5 num.txt
tail
从文章末尾读取n行
tail -5 num.txt
head -3 num.txt | tail -1
利用管道只读取第N行
管道的作用就相当于把前面的结果以参数的方式传递给后面的命令
读取新增数据
-f 与 -F 的区别
-f 监控的是inode
inode 当前文件在文件系统的唯一标识,类似于ID
它会监听指定inode 的文件数据变化,但是当文件被删除后,即使再创建同名文件,inode也会发生变化,于是监听失败
-F 监控的是文件名
它会监听指定名字的文件,如果文件被删除后,重新创建,他也会重新监听新文件的数据变化,监听不受影响
tail -f num.txt
find
查找指定的文件
find 要查找的范围 -name 名字
find /etc -name num.txt
Linux的文件操作
常用命令
cd
改变当前工作目录
ls ll
显示出指定目录下所有的文件
文件的类型
-普通文件
d文件夹
l软连接
-rw-r--r-- 1 root root 441 Oct 26 12:03 num.txt
mkdir
创建文件目录
mkdir -p a/b/c/d/e/f 会自动创建文件父目录
mkdir -p lucky/{1,2,3,4}ls 一次可以创建多个子目录
rmdir
删除空文件夹
rmdir lucky/1ls/
可以安全的删除文件目录
cp
拷贝文件或者文件目录
cp 源文件 目标文件
cp num.txt /opt
拷贝文件夹
cp -r lucky /opt
拷贝文件下的所有内容
mv
移动文件或文件夹
mv a1 /opt
修改文件名
mv a abcd
rm
删除文件
rm num.txt
rm -r abcd
删除文件夹
rm -rf abcd 谨慎使用,从删库到跑路
touch
如果没有就创建一个文件
如果该文件已经存在,修改文件的三个时间,将三个时间改为当前时间
stat
查看文件的状态
inode 当前文件在文件系统的唯一标识,类似于ID
时间
access 访问时间
modify 修改文件内容时间
change 修改文件元数据信息时间
文件大小,文件所有者,文件权限
对于文件的描述信息
In
创建文件的链接
软(符号)连接
注意
软链接是建立了另一个新的独立的文件,它指向源文件,因为源文件没了,所以它就不能正常指向了
软连接和原始文件不是同一个文件
原始文件删除后,软连接同样失效
实例
ln -s lucky/ si
例如
有点类似Windows的快捷方式
硬链接
实例
In lucky hi
注意
在删除源文件的时候,系统则将链接数减1,当链接数为0的时候,inode就会被系统回收,文件的内容才会被删除
硬链接和原始文件使用文件系统中的同一个文件
使用场景
如果你害怕一个文件被别人误删,你可以使用硬链接保护这个文件
图例‘
分支主题
VI和VIM编辑器
新手常见错误
1. 编辑中异常退出,再进入的警告界面
警告信息
分支主题
解决方法
:recover 覆盖修改
异常退出后,目录会出现一个.开头的隐藏文件,删掉就不会报错
2. 编辑后习惯性,Ctrl+S保存,无法操作
问题原因
Linux中Ctrl+S为锁屏
解决方法
Ctrl+Q解锁
打开文件
正常打开
vi num.txt
打开文件,并将光标置于第8行
vi +8 num.txt
打开最后一行
vi + num.txt
n下一个,N上一个
打开指定搜索单词的位置
vi +/if num.txt
三种模式
编辑模式(默认)
任何的按键都是快捷键
输入模式
内容正常输入,按下什么是什么
末行模式
我们可以直接在Vi中输入特定的命令
三种模式切换
切换方式
分支主题
三种模式常用命令
编辑模式
复制
复制单词
yw 复制一个单词
3yw 复制三个单词
复制行
yy 复制一行
3yy 复制三行
粘贴
p 粘贴
6p 粘贴六次
删除
删除行
dd 删除一行
3dd 删除三行
删除单词
dw 删除一个单词
3dw 删除三个单词
撤销
u 回退到前面的操作
点“.” 回退u执行的操作
跳转
页面跳转
G最后一行
gg 跳转到第一行
数字gg 跳转到第数字行
例如:9gg
行首位跳转
I行首
A行尾
单词跳转
w 下个单词
数字w
剪切
x 剪切
3x 剪切三个字符
替换
r 替换,然后输入一个字符替换
3r 替换三个
方向键
hjkl 方向键
保存并退出
ZZ
其它
ctrl+s 锁屏 ctrl+q 解锁
输入模式
末行模式
行号
set nu 设置行号
set nonu 取消行号
wq 保存退出
保存
w
退出
q
q! 强制
强制退出不保存
/pattern
搜索指定的字符串
/usr n向下查找,N逆向查找
替换字符串
替换指定行
替换第一个
s/被替换内容/替换后内容/
:s/11/222/
替换所有
s/被替换内容/替换后内容/g全局
:s/e/11/g
替换全文
g/被替换内容/s//替换后内容/g全局
:g/op/s//222/g
计算机间的数据传输
Window--Linux
lrzsz
需要手动安装
yum -y install lrzsz
rz
将文件从Windows传到Linux
sz
将文件从Linux传到Windows
xftp
一款软件,常用的文件传输方式
Linux--Linux
scp 源数据地址(source) 目标数据地址(target)
scp apache-tomcat-7.0.61.tar.gz root@192.168.31.44:/opt
scp root@192.168.31.44:/opt/apache-tomcat-7.0.61.tar.gz ./
scp -r apache-tomcat-7.0.61 root@192.168.31.44:/opt
-r 级联传输
文件压缩
tar
解压缩
tar -zx(解压)v(过程)f(文件)lucky.tar.gz -C /opt(解压后目录)
-C 指定解压缩的文件目录
压缩
tar -zc(压缩)f(文件)tomcat.tar.gz(压缩后的名字) apache-tomcat-7.0.61(源文件)
zip和unzip
安装
yum -y install zip unzip
压缩
zip -r tomcat.zip apache-tomcat-7.0.61
解压缩
unzip tomcat.zip
swap分区
分区信息
df -h
指定文件目录大小
du -h --max-depth=1 apache-tomcat-7.0.61
swap
一个特殊分区,以硬盘代替内存
当内存使用满的时候,可以将一部分数据写出到swap分区
Linux的网络信息
主机名称
临时修改
hostname bdp
exit退出登录再查看
永久修改
vi /etc/hostname
DNS解析
域名解析服务
可以将域名转化为IP地址
DNS域名劫持
window --> C:\Windows\System32\drivers\etc\hosts
123.56.138.186 www.baidu.com
123.56.138.186 www.taodao.com
修改主机域名
vi /etc/hosts
虚拟机配置hosts文件(主机IP绑定主机名)
192.168.31.101 bd1601
192.168.31.102 bd1602
网络相关命令
ifconfig
查看当前网卡的配置信息
这个命令属于net-tools中的一个命令(手动安装)
如果没有ifconfig,可以使用ip addr 临时代替
netstat
查看当前网络的状态信息
注意
一个机器默认有65536个端口号[0,65535]
这是一个逻辑的概念,将来我们需要使用程序监听指定的端口,等待别人的访问
一个端口只能被一个程序所监听, 端口已经被占用
netstat -anp
netstat -r 核心路由表 == route
ping
查看与目标IP地址是否能够连通
telnet
查看与目标IP的指定端口是否能够连通
yum install telnet -y
telnet 192.168.31.44 22
curl
restful 我们所有的资源都在网络上有唯一的定位
那么我们可以通过这个唯一定位标识指定的资源
http://localhost:8080/lucky/user.action/666
curl -X GET http://www.baidu.com
防火墙
概念
防火墙技术是通过有机结合各类用于安全管理与筛选的软件和硬件设备,帮助计算机网络于其内、外网之间构建一道相对隔绝的保护屏障,以保护用户资料与信息安全性的一种技术
在centOS7+中 使用firewalld代替以前的 iptables ;
开启一个端口的正确操作
添加
firewall-cmd -zone=public --add-port=80/tcp --permanent
重新载入
firewall-cmd --reload
查看
firewall-cmd --zone=public --query-port=80/tcp
删除
firewall-cmd --zone=public --remove-port=80/tcp --permanent
加密算法分类
不可逆加密算法
可以通过数据计算加密后的结果,但是通过结果无法计算出加密数据
应用场景
Hash算法常用在不可还原的密码存储、信息完整性校验
文档、音视频文件、软件安装包等新老摘要对比是否一样(接收到的文件是否被修改)
用户名或者密码加密后数据库存储(数据库大多数不会存储相关信息的明文,就像很多登录功能的忘记密码不能找回,只能重置)
案例
123456
e10adc3949ba59abbe56e057f20f883e
md5(md5(123456))-----md5(654321)
对称加密算法
特点
加密和解密使用相同的密钥
代表性算法
DES、3DES、Blowfish、IDEA、RC4、RC5、RC6和AES
优点
生成密钥的算法公开,计算量校,加密速度快,加密效率高,密钥较短
缺点
双方公共的密钥,有一方密钥被窃取,双方都受影响
如果每个都生成不同密钥,则密钥数量巨大,密钥管理有压力
应用场景
登录信息用户和密码、传输加密、指令加密
案例
原文:今晚八点学校小树林见
密钥: love
7gjM6FhIc89ACoel+jJ3VM26XGAdSlaHTj5NYg4VkKA=
图文
分支主题
非对称加密算法
非对称加密算法需要一对密钥(两个密钥):
公开密钥(publickey)和私有密钥(privatekey)(简称公钥,私钥)。
公开密钥与私有密钥生成时是一对
用公钥加密只能是对应的私钥解密,同理用私钥加密只能是对应公钥解密
代表性算法
RSA、ECC、Diffie-Hellman、El Gamal、DSA(数字签名用)
优点
安全性高(几乎很难破解)
缺点
加解密相对速度慢、密钥长,计算量大、效率低
应用场景
HTTPS(ssl)证书里制作、CRS请求证书、金融通信加密、蓝牙等硬件信息加密配对传输、关键的登录信息验证。
在线加密网址
http://tool.chacuo.net/cryptrsaprikey
图文
分支主题
主机间的相互免密钥
说明
可以通过ssh命令免密钥连接到其他主机
相互面秘钥工作流程
分支主题
流程描述
如果是第一次建立连接,需要输入yes
在 ~/.ssh/known_hosts 文件记录了以前访问地址(ip hostname)的信息
在访问地址的时候如果没有收集到know_hosts文件中,就需要输入yes
如果以前收录到known_hosts中,直接输入密码即可
需要输入密码
生成密钥
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
如果你想免密登录谁,只需要把自己的公钥传递给对方主机即可
这个密钥要放在 ~/.ssh/authorized_keys
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.58.201
主要代码
生成密钥对
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
传递公钥给目标主机
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.58.201
主机名与Host校验
遇到问题
分支主题
错误原因
Cannot determine realm for numeric host 无法确定数字主机的域
解决办法
本次
ssh -v -o GSSAPIAuthentication=no root@192.168.88.201
所有
修改/etc/ssh/ssh_config文件的配置,以后则不会再出现此问题
最后面添加:
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
图文
分支主题
日期和时间
时间命令
查看时区
ll /etc/localtime
/etc/localtime -> ../usr/share/zoneinfo/America/Los_Angeles
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
date
查看当前系统时间
cal查看日历
cal 2020
修改时间
date -s 11:11:11
date -s 2019-11-11
date -s '2019-11-11 11:11:11'
日期自动同步
首先安装时间同步的服务
yum install ntp -y
自动同步网络时间中心
ntpdate cn.ntp.org.cn
自动同步网络时间中心本地NTP服务
NTP服务器
vi /etc/ntp.conf
配置内容
开启本地NTP服务器
systemctl start ntpd.service
同步时间
ntpdate 192.168.88.100
用户-组-权限
用户
新增用户
useradd luckboy
会创建同名的组和家目录(/home下)
设置密码
passwd luckyboy
删除用户
userdel -r luckyboy
级联删除家目录和组
修改用户信息
usermod -l 新名 旧名
修改用户名
家目录和组名称是不会被修改的
usermod -L luckyss
锁定用户名
usermod -U luckyss
解锁用户名
常用文件
cat /etc/shadow
用户名和密码
cat /etc/passwd
用户名,编号,组编号,家目录,命令,目录
6.5系统0~499 普通 500+
7.6系统0-999 普通 1000+
切换用户
su luckyboy
组
创建组
groupadd lucky
删除组
groupdel lucky
修改组名字
groupmod -n bdp lucky
查看用户对应的组
groups
groups bdpboy
当我们创建用户的时候,会默认创建一个同名的主组
修改用户的组
usermod -g lucky bdpboy(主组)
usermod -G lucky bdpls(附属组)
权限
查看文件权力
drw-r-xr-x 9 n1 m1
三组权限,每组3个字母
r:读取权限
w:写入权限
x:执行权限
-:没有权限
root:所属用户(属主)
root:所属的组(属组)
权限的UGO模型
三组权限
属主的权限:属组的权限:其他的权限
所以说:将来修改文件的权限,可以从rwx和ugo两个方面进行修改
修理文件的权限
修改文件所属
chown n1 /var/lucky1
所属用户
chown n1:m1 /var/lucky2
修改文件夹时,让子目录迭代修改
chown -R n1:m1 bdp
chgrp m2 lucky3
当用户的组被修改之后,需要重新登录才能获取新组的权限
修改文件的rwx
chmod o+w lucky4
chmod ug+rw lucky4
chmod ugo-rw lucky4
权限rwx分别对应数组 4 2 1
chmod 664 lucky4 ->(rw- rw-r--)
图解
权限
分支主题
修改权限
分支主题
权限赋予
作用
我们可以将管理用户的权限分配给普通用户
配置文件位置
vim /etc/sudoers
注意
但是修改这个文件需要使用命令
visudo
修改 Line 99
n1 All=(root) /sbin/useradd
相当于从root继承useradd权限
n1 All=(root) /sbin/*
从root继承sbin下所有执行权限
如何使用
su n1
sudo chkconfig iptables off
管道与重定向
管道
概念
将前面命令的结果作为参数传递给后面的命令
grep
强大的文本搜索工具
cat profile | grep if
is / | grep ^t
重定向
概念
改变数据输出的位置,方向
0 in 1 out 2 err
ls / 1> lucky
标准输出
ls / > lucky
标准输出
ls abcd 2>lucky
错误输出
> 替换, >> 追加
ls / 1>> lucky
ls / 1>> lucky
结合使用
ls /etc /abc >lucky 2>&1
ls /etc /abc >> lucky 2>&1
2>&1 顺序不能乱
信息黑洞
ls /etc /abc >> /dev/null 2>&1
练习
1、查找根路径下*.log结尾的大于1KB的最近一个月的文件,并将这些文件删除
方法一
find / -name "*.log" -mtime -30 -size 1k -delete
参数
-name 根据文件或者正则表达式进行匹配
-mtime :文件最后一次修改时间。
-size:根据文件大小进行匹配
k —— 千字节
-1k:小于1KB
-delete:删除匹配文件
方法二
find / -size +3M -mtime -30 -name "*.log" | xarg rm -rf
2、查找80端口被占用的进程号,并杀死该进程
netstat -anp | grep 80 kill -9 xxxxx
Linux的系统进程
进程信息
ps -ef
UID PID PPID C STIME TTY TIME CMD
UID 所属用户
PID 当前进程编号
PPID 当前进程编号的父进程编号
ps -ef | grep redis
ps -aux
所有信息
ps -aux --sort -pcpu
top
当前服务器内存使用率
子主题 6
后台进程
实现
只需要在命令的后面添加一个 & 符号
ping www.baidu.com << baidu &
jobs -l
可以查看当前的后台进程
但是只有当前用户界面可以获取到
nohup 可以防止后台进程被挂起
nohup ping www.baidu.com >> baidu 2>&1 &
杀死进程
kill -9 进程号
Linux的软件安装
环境变量
说明
当我们执行一个命令的时候,默认从当前路径开始查找
如果当前路径找不到对应的命令文件,从环境变量$PATH查找
注意
$PATH的配置文件在 /etc/profile
window 路径与路径之间用 ; (分号)连接
Linux路径与路径之间用 : (冒号) 连接
Linux每次修改完成之后,需要重新加载配置文件
source /etc/profile
软件的安装方式
说明
解压就可以使用
使用安装包安装(window-exe Linux-rpm)
通过源码安装
安装方式
RPM安装
压缩包解压安装
YUM安装
RPM安装
说明
RedHat Package Manager,它属于红帽的一种包管理方式
通过RPM命令安装软件
rpm -ivh jdk-7u67-linux-x64.rpm
查询软件
rpm -qa | grep jdk
卸载
rpm -e jdk-1.7.0_67-fcs.x86_64
需要手动配置java的环境变量
vim /etc/profile
配置内容
export JAVA_HOME=/usr/java/jdk1.7.0_67 export PATH=$JAVA_HOME/bin:$PATH
重新加载配置文件
source /etc/profile
压缩包解压安装
解压文件
tar -zxf apache-tomcat-7.0.61.tar.gz
-C 解压至指定目录
拷贝到/opt/bdp目录下
mkdir -p /opt/lucky
cp -r apache-tomcat-7.0.61 /opt/bdp
启动tomcat
cd /opt/bdp/apache-tomcat-7.0.61/bin/
./startup.sh
YUM安装
yum的作用
可以帮我们管理RPM包
可以帮我们安装软件
如果软件有其他依赖,会帮我们安装依赖在安装软件
类似于Maven
yum的命令
search 查询命令或者软件
info
查看包的信息
list /list jdk
查询安装的rpm包,或者只查询某一周
更换yum源
1、首先安装wget
yum install wget -y
2、将系统原始配置文件失效
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
3、使用wget获取阿里yum源配置文件
Centos-6
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
Centos-7
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
4、清空以前yum源的缓存
yum clean all
5、获取阿里云的缓存
yum makecache
安装MySQL数据库
Mysql的下载地址
https://downloads.mysql.com/archives/community/
安装流程
1、安装Mysql依赖【perl net-tools】
yum install perl net-tools -y
2、卸载mariadb
查看
rpm -qa | grep mariadb
卸载
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
3、安装mysql
解压
tar -xvf mysql-8.0.25-1.el7.x86_64.rpm-bundle.tar
安装
rpm -ivh
顺序不能乱:commom、libs、client、server
4、启动mysql
systemctl start mysqld
5、查找密码并登录Mysql
查找密码
cat /var/log/mysqld.log | grep password
登录
mysql -u root -p
6、修改密码
5.7版本
set global validate_password_policy = LOW;
set global validate_password_length = 6 ;
alter user root@localhost identified by '123456' ;
8.0版本
修改密码格式
mysql> set global validate_password.policy=LOW;
mysql> set global validate_password.length=6;
更改加密方式
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
刷新权限
mysql> FLUSH PRIVILEGES;
7、修改Mysql连接地址
1、使用数据库
mysql> use mysql;
2、更新
mysql> update user set host='%' where user = 'root';
3、提交
mysql> commit;
4、退出
mysql> exit;
8、重启mysql
systemctl restart mysqld;
9、使用Navicat连接Mysql
检测是否成功
Navicat连接mysql 可能会遇到的问题
(1)防火墙没有释放3306端口
Linux 的三剑客
普通剑客
cut
用指定的规则来切分文本
cut -d':' -f1,2,3 passwd | grep bdp
-d:指定字段分隔符。以':'分隔,进行切割
-f:提取指定字段,1,2,3取三段
sort
sort lucky
对文本中的行进行排序
sort -t' ' -k2 lucky
对每一行的数据进行切分,按照第二列进行排序
-t<分隔字符>:指定排序时所用的栏位分隔字符;
sort -t' ' -k2 -r lucky
逆序
-r:以相反的顺序来排序;
sort -t' ' -k2 -n lucky
按照数值大小进项排序,如果有字母,字母在前
-n:依照数值的大小排序;
wc
统计单词的数量
实例
wc lucky
输出
4 15 79 lucky
参数
-l line
-w word 以空格来分割单词
-c char
剑客1号:grep
可以对文本进行搜索
同时搜索多个文件
从文档中查询指定的数据
grep adm passwd
grep bdp passwd lucky
显示匹配的行号
grep -n bdp passwd
显示不匹配的忽略大小写
grep -nvi root passwd --color=auto
使用正则表达式匹配
grep -E "[1-9]+" passwd --color=auto
剑客2号:sed
说明
sed时Stream Editor (字符流编辑器)的缩写,简称流编辑器
特点
Sed软件从文件或管道中读取一行,处理一行,输出一行;再读取一行,再处理一行,再输出一行...
一次一行的设计使得sed软件性能很高
注意
vi命令打开文件是一次性将文件加载到内存
了解即可
https://www.cnblogs.com/chensiqiqi/p/6382080.html
行的选择模式
10 第十行
m,n --> 第m行到第n行 [m,n]
m,+n-->第一行到第四行 [m,m+n]
m~n-->从m行开始,依次累加n
m,$ -->从m开始到最后一行
/bdp/ -->匹配到bdp的行
/u1/,/u4/-->从匹配u1到匹配u4
操作
增
sed '2a luckyisgood' passwd
sed '2i luckyisgood' passwd
打印到控制台
sed -i '2a luckyisgood' passwd
直接修改到文件
删
sed '3,10d' passwd
改
整行替换
sed '3,20c hahaha' passwd
sed '3~1c hehehe' passwd
字符替换
sed '1,5s/root/lucky/g' passwd
sed '1,5s#/#-#g' passwd
剑客3号:awk
它不是一个剑客,它是一门语言
了解即可
https://www.cnblogs.com/chensiqiqi/p/6481647.html
模式与动作
awk -F ":" 'NR>=2&&NR<=6' /etc/passwd
awk -F ":" '{print NR,$1}' /etc/passwd
awk -F ":" 'NR>=2&&NR<=6 {print NR,$1}' /etc/passwd
awk -F ":" 'NR==1{print NR,$1}NR==2{print NR,$NF}' /etc/passwd
0 条评论
下一页