《云计算学习日记Day8》—— 从零开始的云计算之旅
今天是系统学习云计算的第八天,记录了关于我的云计算学习,后续将每日更新我的笔记。欢迎大家一起来学习,如果内容有遗漏和错误,还请大家多多指正和包涵,谢谢大家。
归档及压缩
Tarball备份包
归档和压缩
- 归档的含义
- 将许多零散的文件整理为一个文件
- 文件总的大小基本不变
- 压缩的含义
- 按某种算法减小文件所占空间的大小
- 恢复时按对应的逆向算法解压
- 压缩格式
- gzip→.gz(一般来说最快)
- bzip2→.bz2
- xz→.xz(一般来说最慢,但是压缩的更小)
tar工具的常用选项***********
- tar集成备份工具
- -c:动作打包数据
- -x:动作解包数据
- -f:指定压缩包名字(必须用到,而且在所有选项的最后)
- -z、-j、-J:调用gz、bz2、xz格式的工具进行处理
- -t:显示归档中的文件清单
- -C指定路径
备份与恢复操作
制作tar备份包
使用tar -c … 命令
- 格式:tar [选项] [备份文件] [被备份文档]
- -tar -czf 备份文件.tar.gz 被备份文档
- -tar -cjf 备份文件.tar.bz2 被备份文档
- -tar -cJf 备份文件.tar.xz 被备份文档
示例:
[root@bogon ~]# tar -czf /root/test.tar.gz /etc/passwd /home /boot
tar: 从成员名中删除开头的“/”
tar: 从硬连接目标中删除开头的“/”
[root@bogon ~]# ls /root
公共 模板 视频 图片 文档 下载 音乐 桌面 anaconda-ks.cfg test.tar.gz
查看tar备份包内容
使用tar -t … 命令
- 格式:tar -tf 备份文件.tar.gz/bz2/xz
[root@bogon ~]# tar -cJf /root/test.tar.xz /etc/passwd
tar: 从成员名中删除开头的“/”
[root@bogon ~]# ls /root
公共 视频 文档 音乐 anaconda-ks.cfg test.tar.gz
模板 图片 下载 桌面 test.tar.bz2 test.tar.xz
[root@bogon ~]# tar -tf /root/test.tar.xz
etc/passwd
从tar备份包恢复文档
使用tar -x … 命令
- tar -xf 备份文件.tar.gz/bz2/xz [-C 目标文件夹]
[root@bogon ~]# ls /
afs boot dvd home lib64 mnt proc root sbin sys usr
bin dev etc lib media opt Rocky run srv tmp var
[root@bogon ~]# mkdir /test_tar
[root@bogon ~]# tar -xf /root/test.tar.xz -C /test_tar
[root@bogon ~]# ls /test_tar
etc
[root@bogon ~]# ls /test_tar/etc
passwd
tar命令高级使用
压缩文档时,上述方法我们可以发现压缩文件中,被压缩文档的路径也被也缩进去了,怎么才能避免这种情况呢?
示例:
[root@bogon ~]# tar -czf /root/yy.tar.gz -C /etc/ passwd -C /usr/ games
[root@bogon ~]# tar -tf /root/yy.tar.gz
passwd
games/
如果在同一个目录下同时有多个文件需要压缩,那可以这样来写:
[root@bogon ~]# tar -czf /root/yy.tar.gz -C /etc passwd shells hosts
有个操作值得一提,tar命令也可以单独进行归档但不进行压缩,相对应的代码选项:-cf 归档后的包也不该是.tar.gz了,而是.tar
重定向与管道操作
重定向
将屏幕显示信息保存到文件
覆盖重定向
cmd > file
原文件被覆盖
[root@bogon ~]# ls /opt
[root@bogon ~]# echo 123456 > /opt/test.txt
[root@bogon ~]# cat /opt/test.txt
123456
[root@bogon ~]# echo abcdef > /opt/test.txt
[root@bogon ~]# cat /opt/test.txt
abcdef
追加重定向
cmd > file
原文件不丢失,在原文件之后添加新内容
[root@bogon ~]# echo ABCDEF >> /opt/test.txt
[root@bogon ~]# cat /opt/test.txt
abcdef
ABCDEF
除了echo,还有其他指令可以和重定向操作结合,比如cat、tail、head等等
关于重定向的其他使用方法
- 快速清空文件内容
[root@bogon ~]# > /opt/test.txt
管道操作
管道传递
- 使用 | 管道操作
- 原理:将前一条命令的标准输出交给后一条命令处理
- cmd1 | cmd2 [ | cmd3]….
- 一般不支持管道操作的命令
- 双参数以上的命令
- 没有参数也能运行的命令(例如:ls)
- 交互式的命令(例如:vim)
find精确查找
find基本使用
根据预设的条件递归查找对应的文件
- find [目录] [条件1]
- 常用的条件表示
- -type:类型(f、d、l)
- -name:“文档名称”
- -size:+/-文档大小(k,M,G)
- -user:用户名
- -mtime:修改时间
-type类型
-f:文本文件
-d:目录
-l:快捷方式
[root@bogon ~]# find /opt -type d
/opt
[root@bogon ~]# find /opt -type f
/opt/test.txt
[root@bogon ~]# find /etc -type l
/etc/mtab
/etc/fonts/conf.d/31-cantarell.conf
......
-name类型
(iname忽略大小写)
[root@bogon ~]# find /etc -name "passwd"
/etc/passwd
/etc/pam.d/passwd
[root@bogon ~]# find /etc -name "*tab"
/etc/mtab
/etc/fstab
/etc/crypttab
/etc/inittab
/etc/crontab
/etc/anacrontab
-size类型
[root@bogon ~]# find /etc -size +1M
/etc/udev/hwdb.bin
/etc/selinux/targeted/policy/policy.33
[root@bogon ~]# find /etc -size +1M -size -5M
/etc/selinux/targeted/policy/policy.33
-user类型
[root@bogon ~]# ls /home
honey zhangsan
[root@bogon ~]# find /home -user zhangsan
-mtime类型
-mtime是指修改时间
+90就是在90天前修改过的数据
-90就是最近九十天内修改过的数据
补充:
-newermt:在此时间之后
!-newermt:在次时间之前(不在此时间之后)
find高级使用
怎么进行高级使用
根据条件查找并处理结果,处理find找到的数据,每查找到一个就传递处理一次
格式:find [范围] [条件] -exec 处理命令 {} \;
-exec表示额外操作的开始
{}永远表示前面find查找到的结果
\;额外操作的结果,代表处理操作结束
例子
[root@bogon ~]# cat /etc/redhat-release
Rocky Linux release 9.5 (Blue Onyx)
[root@bogon ~]# find /etc -name "redhat-release" -exec cp {} /opt/test.txt \\;
[root@bogon ~]# cat /opt/test.txt
Rocky Linux release 9.5 (Blue Onyx)
vim编辑技巧
命令模式操作
光标跳转
操作类型 | 按键指令 | 用途 |
---|---|---|
移动光标 | ⬆、⬇、⬅、➡ | 上、下、左、右 |
光标行内跳转 | Home键或^、数字0 | 跳转到行首 |
行内光标跳转 | End键或$、 | 跳转到行尾 |
全文翻页 | PgUp、PgDn | 向上翻页、向下翻页 |
光标行间跳转 | 1G或者gg | 跳转到文件的首行 |
光标行间跳转 | G | 跳转到文件的末尾行 |
复制/粘贴/删除
操作类型 | 按键指令 | 用途 |
---|---|---|
复制 | yy、#yy | 复制光标所处的行、以及向下的#行 |
粘贴 | p、P | 粘贴到光标之后、之前 |
删除 | x或Delete | 删除光标所处的单个字符 |
删除 | dd、#dd | 删除光标所处的一行、#行 |
删除 | d^ | 从光标之处删除到行前 |
删除 | d$ | 从光标之处删除到行尾 |
查找/撤销/保存
操作类型 | 按键指令 | 用途 |
---|---|---|
文本查找 | /word | 向后查找字符串“word” |
文本查找 | n、N | 跳至后/前一个结果 |
撤销编辑 | u | 撤销最近的一次操作 |
撤销编辑 | U | 撤销对当前行的所有更改 |
撤销编辑 | ctrl + r | 取消撤销 |
保存退出 | ZZ | 保存修改并推出 |
末行模式操作
保存/退出/文件操作
操作类型 | 按键指令 | 用途 |
---|---|---|
存盘及退出 | :w | 保存当前文件 |
存盘及退出 | :q! | 放弃已有更改后强制退出 |
存盘及退出 | :wq或:x | 保存并退出 |
文件操作 | :w /root/newfile | 另存为其他文件 |
文件操作 | :r /etc/filesystem | 读入其他文件内容 |
字符串替换
操作类型 | 按键指令 | 用途 |
---|---|---|
行内替换 | :s/old/new | 替换当前行第一个“old” |
行内替换 | :s/old/new/g | 替换当前行所有“old“ |
区域替换 | :n,m s/old/new/g | 替换n-m行所有“old“ |
区域替换 | :% s/old/new/g | 替换文件内所有“old” |
开关参数控制
操作类型 | 设置指令 | 用途 |
---|---|---|
编辑器设置 | :set nu | nonu |
编辑器设置 | :set ai | noai |
设置永久开关:
[root@bogon ~]# vim /root/.vimrc
set nu
set ai
文件内容对比(了解)
cimdiff同时对比或修改多个文件
vimdiff file1 file2
//命令模式下,CTRL + w同时按下然后松开,然后左右键移动光标
//末行模式wqa保存全部文件并退出