Linux云计算训练营笔记day13[CentOS 7 find、vim、vimdiff、ping、wget、curl、RPM、YUM]]
目录
1.find练习
1.find / -user student -type f -exec cp {} /root/findfiles ;
2.find /boot -size +10M -type f -exec cp {} /opt ;
3.find /boot -name “vm*” -type f -exec cp {} /opt ;
4.find /boot -type l
5.find /etc -name “*tab” -type f
2.vim高级使用
vim高级使用
cp /etc/passwd user
vim user
2.1 命令模式:
Home 跳转到行首
End 跳转到行尾
PgUp 向上翻页
PgDn 向下翻页
G 跳转到文件的最后一行
gg 跳转到文件的第一行
yy 复制1行
p粘贴光标之后 P粘贴光标之前
2yy 复制2行
dd 删除1行
2dd 删除2行
d^ 从光标处之前删除至行首
d$ 从光标处删除到行尾
x 删除光标处的单个字符
文本查找
/zhangsan 向后查找字符串 zhangsan
n 跳到后一个结果
N 调到前一个结果
撤销
u 撤销最近的一次操作
U 撤销对当前的所有修改
ctrl+r 取消前一次的撤销操作
保存并退出
ZZ
2.2 插入模式:
自己写内容
2.3 末行模式:
touch a.txt
vim a.txt
:r /etc/passwd 读取其他文件
:w /root/gongli 另存为其他文件
:wq 和 :x 保存并退出
:q! 强制退出(不保存)
:w 保存当前文件
字符串替换
:\s/old/new 替换当前行第一个 old
:\s/old/new/g 替换当前行所有的old
:1,10s/old/new/g 替换1-10行所有的old
:%s/old/new/g 替换文件内所有的old
:set nu 显示行号
:set nonu 关闭行号
:set ai 启用缩进
:set noai 关闭缩进
永久配置vim的行号
vim /root/.vimrc
set nu
3. vimdiff
vimdiff 文件对比或者修改多个文件
echo hahaxixi > /opt/haha.txt
echo hahaabab > /opt/abab.txt
vimdiff /opt/haha.txt /opt/abab.txt
命令模式下 ctrl + w 同时按下,然后 左右键 移动光标
末行模式下 wqa 保存全部文件并退出
4. ping
网络请求和下载
ping 检查指定的网络服务器是否可连通状态
ping www.baidu.com
ctrl + c 结束
ping -c 3 www.baidu.com
选项 -c 检查的次数
5.wget
wget 下载网络文件
wget url
wget https://dw.oray.com/sunlogin/linux/sunloginclientshell-10.1.1.28779.x86_64.rpm
wget -b url
选项 -b 后台下载,会把日志写入当前工作目录的wget-log文件
wget -b https://dw.oray.com/sunlogin/linux/sunloginclientshell-10.1.1.28779.x86_64.rpm
cat wget-log
6. curl 下载文件
curl 可以发送http请求,也可以用于下载文件
curl www.baidu.com 给baidu发请求,但是不会解析返回来的数据
curl -O url
-O 下载文件并使用远程文件名保存。
curl -O https://dl.todesk.com/linux/todesk-v4.7.2.0-c7-x86_64.rpm
浏览器的作用
1)代替用户发请求 www.baidu.com
2)解析服务器返回的数据
7.RHCSA红帽题目:
1.查找属于jacques 用户所属的文件,并拷贝到/root/findfiles 目录
useradd jacques
mkdir /root/findfiles
find / -user jacques -type f -exec cp {} /root/findfiles \;
2.创建一个名为/root/backup.tar.gz 的 tar 包,采用 gzip 打包压缩方式,用来压缩/usr/local目录。
tar -czf /root/backup.tar.gz /usr/local
3.查找文件/usr/share/xml/iso-codes/iso_639_3.xml 中包含字符串 ng 的所有行并将所有这些行的内容放到文件/root/list 中,/root/list 不得包含空行
grep ng /usr/share/xml/iso-codes/iso_639_3.xml > /root/list
8.RPM
RPM软件包简介
软件名-版本信息.操作系统.硬件架构.rpm
firefox-91.9.0-1.el8_5.x86_64.rpm
软件包:firefox-91.9.0-1.el8_5.x86_64.rpm
软件名:firefox
RPM包的一般安装位置(分散)
普通执行程序:/usr/bin/ 、/bin/
服务器程序、管理工具:/usr/sbin/ 、/sbin/
配置文件 :/etc/、/etc/软件名/
日志文件 :/var/log/、/var/log/软件名/
程序文档、man帮助手册页 :/usr/share/doc/ 、/usr/share/man/
rpm -qa
当前系统中所有已安装的软件包
rpm -qa | wc -l
统计已安装的软件包个数 1348
rpm -q firefox
查看firefox是否安装
(firefox-68.10.0-1.el7.centos.x86_64)
rpm -q httpd
查看httpd是否安装
(未安装软件包 httpd )
rpm -qa | grep firefox
(firefox-68.10.0-1.el7.centos.x86_64)
rpm -qi firefox
#查询软件信息
rpm -ql firefox
#查询软件安装了哪些内容(安装清单)
rpm -qf [文件路径]…
查询某个目录/文件是哪个RPM包带来的(即使目标文件被删除,也可以查询)
which vim
查询命令对应的程序文件 /usr/bin/vim
rpm -qf /usr/bin/vim
查询这个目录是由哪个rpm包带来的 vim-enhanced-8.0.1763-16.el8_5.13.x86_64
which ifconfig
=>/usr/sbin/ifconfig
rpm -qf /usr/sbin/ifconfig
=>net-tools-2.0-0.25.20131004git.el7.x86_64
8.1 准备RPM转件包
8.1.1 挂载光驱设备
挂载光驱设备,命令行显示系统光盘内容~~
mkdir /gongli
mount /dev/cdrom /gongli
ls /gongli
ls /gongli/Packages | grep vsftpd
vsftpd-3.0.2-28.el7.x86_64.rpm
查询软件包的安装清单
8.2 查询软件包信息
rpm -qpl /gongli/Packages/vsftpd-3.0.2-28.el7.x86_64.rpm
在安装vsftpd包之前,先了解软件包信息
rpm -qpi /gongli/Packages/vsftpd-3.0.2-28.el7.x86_64.rpm
8.3 安装卸载软件包
8.3.1 安装
安装软件包:
rpm -i 软件包的名字
辅助选项:
-v 显示细节信息
-h 以#显示安装进度
rpm -q vsftpd
未安装
rpm -ivh /gongli/Packages/vsftpd-3.0.2-28.el7.x86_64.rpm
安装
rpm -q vsftpd
已安装
8.3.2 卸载
卸载软件:
rpm -evh vsftpd
卸载
rpm -q vsftpd
未安装
8.3.3 问题:查询软件包信息(有警告输出)怎么解决?利用导入红帽签名信息
rpm -qpi /gongli/Packages/vsftpd-3.0.2-28.el7.x86_64.rpm
有警告信息
解决办法
rpm --import /gongli/RPM-GPG-KEY-CentOS-7
导入红帽签名信息
rpm -qpi /gongli/Packages/vsftpd-3.0.2-28.el7.x86_64.rpm
没有警告信息
9.YUM
安装软件包:
ls /gongli/Packages/ | grep httpd
rpm -ivh /gongli/Packages/httpd-2.4.6-95.el7.centos.x86_64.rpm
报错: 依赖检测失败
解决依赖关系: yum
yum的作用: 自动解决依赖关系安装软件
9.1 本地yum
自己是客户端,自己是服务端(在一台电脑上)
服务端:
1) 众多的软件包 2)仓库数据文件 repodata
mkdir /gongli
mount /dev/cdrom /gongli
ls /gongli
客户端: 指定服务端的位置
仓库配置文件: /etc/yum.repos.d/*.repo
错误的文件会影响正确的文件
1)rm -rf /etc/yum.repos.d/*.repo
或
2)mv /etc/yum.repos.d/*.repo /opt
书写仓库配置文件
vim /etc/yum.repos.d/gongli.repo
[源名称]: 自定义名称,唯一性
name: 软件的描述信息
baseurl: 指定yum服务端的地址
enabled: 是否启用此仓库 0不启用 1启用
gpgcheck: 是否验证rpm软件包 0不验证 1验证
gpgkey: 验证rpm软件包的密钥文件路径
[gongli]
name=gongli
baseurl=file:///gongli
enabled=1
gpgcheck=0
yum repoinfo
列出仓库信息
安装软件: yum install httpd
=>按y确认
yum install -y vsftpd
=>直接装包
yum install -y mariadb-server
排错思路:
- 没有挂载光驱设备
- 配置文件路径 /etc/yum.repos.d/ 写错
- 错误的文件会影响正确的文件
卸载软件
yum remove httpd
=>按y确认
yum remove -y httpd
=>直接卸包
rpm -q httpd
查看是否安装
9.2 查询软件信息
yum search httpd
查询httpd软件包,包含就匹配
yum list httpd
查询仓库是否有httpd软件(精确匹配)
yum info httpd
查看软件httpd的描述
yum provides /etc/passwd
仓库中哪个软件包产生的该文件
yum provides ifconfig
仓库中哪个软件包产生的命令
http://rpmfind.net/ 软件包在线下载
协议
file://
http://