云计算Day04

一、 归档及压缩
作用:1.减小占用的硬盘空间 2.整合分散的文件
• 归档的含义
– 将许多零散的文件整理为一个文件
– 文件总的大小基本不变
• 压缩的含义
– 按某种算法减小文件所占用空间的大小
– 恢复时按对应的逆向算法解压
• 常见的压缩格式及命令工具:
.gz gzip
.bz2 bzip2
.xz xz

• tar 集成备份工具
– -c:创建归档
– -x:释放归档
– -f:指定归档文件名称,必须放在所有选项的最后
– -z、-j、-J:调用 .gz、.bz2、.xz 格式的工具进行处理
– -t:显示归档中的文件清单
– -C:指定释放路径

tar 制作压缩包(打包)
格式:tar 选项 /路径/压缩包的名字 /路径/源数据…….
]# tar -zcf /opt/abc.tar.gz /home/ /etc/passwd
tar: 从成员名中删除开头的“/”
]# ls /opt/

]# tar -jcf /opt/test.tar.bz2 /home/ /etc/passwd
tar: 从成员名中删除开头的“/”
]# ls /opt/

]# tar -Jcf /opt/nsd.tar.xz /home/ /etc/passwd
tar: 从成员名中删除开头的“/”
]# ls /opt/

-z、-j、-J:gzip、bzip2、xz -c:创建 -f:指定压缩包名字

tar 释放压缩包(解包)
格式:tar 选项 /路径/tar包 -C(大写) /路径/目标位置
-x:释放 -f:指定压缩包名称
]# mkdir /nsd01 /nsd02 /nsd03
]# tar -xf /opt/abc.tar.gz -C /nsd01
]# ls /nsd01
]# ls /nsd01/etc/
]# ls /nsd01/home

]# tar -xf /opt/test.tar.bz2 -C /nsd02
]# ls /nsd02

]# tar -xf /opt/nsd.tar.xz -C /nsd03
]# ls /nsd03

案例1:创建一个备份包 使用 tar 工具完成以下备份任务:
– 创建一个名为 /root/backup.tar.bz2 的归档文件
– 其中包含 /usr/local 目录中的内容 – tar 归档必须使用 bzip2 进行压缩
]# tar -jcf /root/backup.tar.bz2 /usr/local/
tar: 从成员名中删除开头的“/”
]# ls /root/
]# tar -tf /root/backup.tar.bz2 #查看tar包内容

二、 重定向与管道操作
重定向:将前面命令的输出,写入到后面文本文件

覆盖重定向
追加重定向
]# cat /etc/redhat-release
]# cat /etc/redhat-release > /opt/nsd01.txt
]# cat /opt/nsd01.txt

]# hostname
]# hostname > /opt/nsd01.txt
]# cat /opt/nsd01.txt
]# hostname
]# hostname >> /opt/nsd01.txt
]# cat /opt/nsd01.txt

[root@localhost ~]# echo 123456
[root@localhost ~]# cat /opt/nsd01.txt
[root@localhost ~]# echo 123456 >> /opt/nsd01.txt
[root@localhost ~]# cat /opt/nsd01.txt

[root@localhost ~]# echo hahaxixi
[root@localhost ~]# cat /opt/nsd01.txt
[root@localhost ~]# echo hahaxixi >> /opt/nsd01.txt
[root@localhost ~]# cat /opt/nsd01.txt

管道( | ):将前面命令的输出,交由后面命令,作为后面命令的参数
]# head -14 /etc/passwd | tail -1
]# head -3 /etc/passwd | tail -1
]# cat -n /etc/passwd | head -14 | tail -1

]# ifconfig | head -2
]# ifconfig | less

]# ifconfig | head -2 > /opt/nsd02.txt
]# cat /opt/nsd02.txt

grep过滤包含指定字符串的行
-v:取反过滤
^字符串:以字符串开头
字符串KaTeX parse error: Expected group after '^' at position 11: :以字符串开头结尾 ^̲:匹配空行
]# cat /etc/default/useradd
]# grep ^$ /etc/default/useradd
]# grep -v ^$ /etc/default/useradd #不要空行
在Linux系统中,大多数配置文件以#开头的行,为注释行

]# grep -v ^# /etc/default/useradd
显示有效配置(去除空行与注释行)
]# grep -v ^# /etc/default/useradd | grep -v ^$
]# grep -v ^# /etc/default/useradd | grep -v ^$ > /opt/nsd03.txt
]# cat /opt/nsd03.txt

]# grep -v ^# /etc/login.defs
显示有效配置(去除空行与注释行)
]# grep -v ^# /etc/login.defs | grep -v ^$
]# grep -v ^# /etc/login.defs | grep -v ^$ > /opt/nsd04.txt
]# cat /opt/nsd04.txt

三、 find命令的使用
递归式查找
• 根据预设的条件递归查找对应的文件
– find [目录] [条件1]
– 常用条件表示:
-type 类型(f、d、l)
-name “文档名称”
-size +|-文件大小(k、M、G)
-user 用户名
-mtime 修改时间

-type 类型(f文本文件、d目录、l快捷方式)
[root@localhost ~]# find /home -type f
[root@localhost ~]# find /root -type f
[root@localhost ~]# find /home -type d
[root@localhost ~]# find /root -type d
[root@localhost ~]# find /etc -type l

-name “名称”
[root@localhost ~]# find /etc/ -name “*.conf”
[root@localhost ~]# find /etc/ -name “tab
[root@localhost ~]# find /etc/ -name “passwd”
[root@localhost ~]# find /etc/ -name “*tab”

[root@localhost ~]# mkdir /root/nsd10
[root@localhost ~]# touch /root/nsd11.txt
[root@localhost ~]# touch /root/nsd12.txt

[root@localhost ~]# find /root -name “nsd*”
[root@localhost ~]# find /root -name “nsd*” -type f
[root@localhost ~]# find /root -name “nsd*” -type d

-size +或-文件大小(k、M、G)
[root@localhost ~]# find /boot/ -size +20M
[root@localhost ~]# find /boot/ -size -10M
[root@localhost ~]# find /boot/ -size +300k

[root@localhost ~]# find /boot/ -size -1024k

-user 用户名 #按照数据的所有者
]# useradd zhangsan #新建zhangsan用户
]# find /home -user zhangsan
]# find / -user zhangsan
]# find / -user zhangsan -type d
]# find / -user zhangsan -type f

/proc:占用内存空间,不占用磁盘空间

-mtime 修改时间 #都是过去时间
-mtime +10 #10天之前
-mtime -10 #最近10天之内

三个月之前的数据:
[root@localhost ~]# find /root -mtime +90

查找最近一天内:
[root@localhost ~]# find /root -mtime -1

四、 find命令的高级使用
处理查找的内容
• 操作方法:
– find [范围] [条件] -exec 处理命令 {} ;
– 根据条件查找并处理结果
– -exec :额外操作开始
– {} :find查询的结果
– ; :额外操作结束
– 每找到一个符合条件的数据,直接传输给-exec,每次只传输一个参数

]# find /boot/ -size +10M
]# find /boot/ -size +10M -exec cp {} /opt ;
]# ls /opt/

案例1:查找并处理文件

  1. 利用find查找所有用户 student 拥有的必须是文件,把它们拷贝到 /root/findfiles/ 文件夹中
    ]# useradd student
    ]# mkdir /root/findfiles

]# find / -user student -type f
]# find / -user student -type f -exec cp {} /root/findfiles/ ;
]# ls -A /root/findfiles/

五、 vim的高级使用
三个模式:命令模式 插入模式 末行模式
命令模式操作
• 光标跳转
操作类型 按键指令 用 途
移动光标 上、下、左、右
光标行内跳转 Home 键 或 ^、数字 0 跳转到行首
End 键 或“KaTeX parse error: Expected 'EOF', got '#' at position 96: …ot@localhost ~]#̲ cp /etc/pass…或D 从光标处删除到行尾
u 可以进行撤销

• 查找/撤销/保存
操作类型 按键指令 用 途
文本查找 /word 向后查找字符串“word”
n、N 跳至后/前一个结果
撤销编辑 u 撤销最近的一次操作
U 撤销对当前行的所有修改
Ctrl + r 取消前一次撤销操作
保存退出 ZZ 保存修改并退出

末行模式操作
• 保存/退出/文件操作
操作类型 设置指令 用 途
存盘及退出 :w 保存当前文件
:q! 放弃已有更改后强制退出
:wq 或 :x 保存已有修改后退出
文件操作 :w /root/newfile 另存为其它文件
:r /etc/filesystems 读入其他文件内容
[root@localhost ~]# echo 123456 > /opt/a.txt
[root@localhost ~]# echo hahaxixi > /opt/b.txt
[root@localhost ~]# vim /opt/b.txt
末行模式 :r /opt/a.txt
末行模式 :r /etc/passwd

• 字符串替换
操作类型 设置指令 用 途
行内替换 /root/new 替换当前行第一个“root”
/root/new/g 替换当前行所有的“root”
区域内替换 :n,m s/root/new/g 替换第n-m行所有的“root”
:% s/root/new/g 替换文件内所有的“root”
[root@localhost ~]# cp /etc/passwd /opt/p.txt
[root@localhost ~]# vim /opt/p.txt
• 开关参数的控制
操作类型 设置指令 用 途
编辑器设置 :set nu或nonu 显示/不显示行号
:set ai或noai 启用/关闭自动缩进

• 常见问题:交换文件产生 名称为:*.swp
E325: 注意
发现交换文件 “/opt/.c.txt.swp”
所有者: root 日期: Fri Sep 4 17:22:51 2020
文件名: /opt/c.txt
修改过: 是
用户名: root 主机名: localhost.localdomain
进程 ID: 17881
正在打开文件 “/opt/c.txt”
………
[root@localhost ~]# rm -rf /opt/.c.txt.swp #手动删除交换文件
[root@localhost ~]# vim /opt/c.txt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值