归档及压缩、重定向与管道操作、find精确查找、vim高级使用

一、环境准备
开启CentOS7虚拟机

二、归档及压缩
•归档的含义
–将许多零散的文件整理为一个文件
–文件总的大小基本不变
•压缩的含义
–按某种算法减小文件所占用空间的大小
–恢复时按对应的逆向算法解压

常见的压缩格式及命令工具:
.gz —》 gzip 压缩的速度很快
.bz2 —》 bzip2
.xz —》 xz 压缩包较小

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

•tar制作压缩包(tar打包)
格式:tar 选项 /路径/压缩包的名字 /路径/被压缩归档的数据…
– -z、-j、-J:调用 .gz、.bz2、.xz 格式的工具进行处理

]# tar -zcf /opt/abc.tar.gz /home/ /etc/passwd
]# ls /opt/

]# tar -jcf /opt/haha.tar.bz2 /home/ /etc/passwd
]# ls /opt/

]# tar -Jcf /opt/xixi.tar.xz /home/ /etc/passwd
]# ls /opt/

•tar释放压缩包(tar解包)
格式:tar 选项 /路径/压缩包的名字 -C(大写) /路径/
[root@localhost ~]# mkdir /test
[root@localhost ~]# tar -xf /opt/abc.tar.gz -C /test
[root@localhost ~]# ls /test/
[root@localhost ~]# ls /test/etc/
[root@localhost ~]# ls /test/home/

案例1:创建一个备份包
使用 tar 工具完成以下备份任务:
–创建一个名为 /root/backup.tar.bz2 的归档文件
–其中包含 /usr/local 目录中的内容
–tar 归档必须使用 bzip2 进行压缩

]# tar -jcf /root/backup.tar.bz2 /usr/local/
]# ls /root/
]# tar -tf /root/backup.tar.bz2 #查看包内容

三、重定向与管道操作
1.重定向:将前面命令的输出,作为内容写入到后面文本文件

:覆盖重定向

:追加重定向
[root@localhost ~]# cat --help > /opt/c.txt
[root@localhost ~]# ls /opt/
[root@localhost ~]# cat /opt/c.txt

[root@localhost ~]# hostname > /opt/c.txt
[root@localhost ~]# cat /opt/c.txt

[root@localhost ~]# ifconfig > /opt/c.txt
[root@localhost ~]# less /opt/c.txt
[root@localhost ~]# hostname >> /opt/c.txt #追加重定向
[root@localhost ~]# cat /opt/c.txt

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

[root@localhost ~]# echo hello >> /opt/c.txt
[root@localhost ~]# cat /opt/c.txt

2.管道:将前面命令的输出传递到后面命令,作为后面命令的参数
显示/etc/passwd文件第12行内容?
[root@localhost ~]# head -12 /etc/passwd | tail -1

[root@localhost ~]# cat -n /etc/passwd | head -12 | tail -1

[root@localhost ~]# ifconfig | head -2
[root@localhost ~]# ifconfig | less

在grep命令中^$表示为空行
在Linux系统大多数配置文件内容中,以#开头为注释行

]# grep -v ^$ /etc/default/useradd #去掉文件内容中空行

显示文件内容的有效配置(去掉空行,去掉注释行)

]# grep ^# /etc/default/useradd
]# grep -v ^# /etc/default/useradd
]# grep -v ^# /etc/default/useradd | grep -v ^$

]# grep -v ^# /etc/login.defs
]# grep -v ^# /etc/login.defs | grep -v ^$
将配置文件的有效信息,重新写入到/opt/a.txt
]# grep -v ^# /etc/login.defs | grep -v ^$ > /opt/a.txt
]# cat /opt/a.txt

四、find命令的基本使用
–find [目录] [条件1]
–常用条件表示:
-type 类型(f文本文件、d目录、l快捷方式)
-name “文档名称”
-size +|-文件大小(k、M、G)
-user 用户名
-mtime 修改时间

-type 类型(f文本文件、d目录、l快捷方式)
[root@localhost ~]# find /boot/ -type f #查找是文件
[root@localhost ~]# find /boot/ -type d #查找是目录
[root@localhost ~]# find /etc -type l #查找是快捷方式
-name “文档名称”
[root@localhost ~]# find /root -name “a*”
[root@localhost ~]# find /etc/ -name “*tab”

[root@localhost ~]# mkdir /root/nsd01
[root@localhost ~]# touch /root/nsd02.txt
[root@localhost ~]# touch /root/nsd03.txt

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

-size +或者- 文件大小(k、M、G)
[root@localhost ~]# find /boot/ -size +300k
[root@localhost ~]# find /boot/ -size +10M
[root@localhost ~]# find /boot/ -size -10M
KB:早期用的软盘有360KB和720KB的,不过软盘已经很少使用

MB:早期微型机的内存有128MB、256MB、512MB,目前内存都是1GB、2GB甚至更大

GB:早期微型机的硬盘有60GB、80GB,目前都是500GB、1TB甚至更大

TB:目前个人用的微型机存储容量也都能达到这个级别了,而作为服务器或者专门的计算机,不可缺少这么大的存储容量

1PB=1024TB
1EB=1024PB

-user 用户名 #按照数据的所有者进行查询
[root@localhost ~]# useradd student #创建用户student
[root@localhost ~]# find /home -user student
[root@localhost ~]# find / -user student

/proc:反映内存的数据,不占用硬盘的空间

-mtime 修改时间 #所有的时间都是过去时间
-mtime +10 #10天之前的数据
-mtime -10 #最近10天之内的数据

[root@localhost ~]# find /root -mtime +100 #100天之前的数据
[root@localhost ~]# find /root -mtime -2 #最近2天的数据
[root@localhost ~]# find /root/ -mtime +90 #三个月之前的数据

五、find命令的高级使用:处理find查找到的结果

•操作方法:
–find [范围] [条件] -exec 处理命令 {} ;
-exec:额外操作的开始
{}:永远代表find查询的结果,每查找一个传递一个
; :额外操作的结束

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

]# find /etc/ -name “*tab”
]# find /etc/ -name “*tab” -exec cp -r {} /opt ;
]# ls /opt/

案例:查找并处理文件
1.利用find查找所有用户 student 拥有的必须是文件,把它们拷贝到 /root/findfiles/ 文件夹中

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

六、vim编辑技巧
[root@localhost ~]# cp /etc/passwd /opt/p.txt
[root@localhost ~]# vim /opt/p.txt
命令模式操作
•光标跳转
操作类型 按键指令 用 途
光标行内跳转 Home 键 或 ^ 或 数字 0 跳转到行首
End 键 或“ ” 键 跳 转 到 行 尾 全 文 翻 页 P g U p 键 、 P g D n 键 向 上 翻 页 、 向 下 翻 页 光 标 行 间 跳 转 1 G 或 g g 跳 转 到 文 件 的 首 行 G 跳 转 到 文 件 的 末 尾 行 • 复 制 / 粘 贴 / 删 除 操 作 类 型 按 键 指 令 用 途 复 制 y y 、 2 y y 复 制 光 标 处 的 一 行 、 2 行 粘 贴 p 、 P 粘 贴 到 光 标 处 之 后 、 之 前 删 除 x 或 D e l e t e 键 删 除 光 标 处 的 单 个 字 符 d d 、 4 d d 删 除 光 标 处 的 一 行 、 4 行 d 从 光 标 处 之 前 删 除 至 行 首 d ”键 跳转到行尾 全文翻页 PgUp 键、PgDn 键 向上翻页、向下翻页 光标行间跳转 1G 或 gg 跳转到文件的首行 G 跳转到文件的末尾行 •复制/粘贴/删除 操作类型 按键指令 用 途 复制 yy、2yy 复制光标处的一行、2行 粘贴 p、P 粘贴到光标处之后、之前 删除 x 或 Delete键 删除光标处的单个字符 dd、4dd 删除光标处的一行、4行 d^ 从光标处之前删除至行首 d PgUpPgDn1GggG//yy2yy2pPxDeletedd4dd4dd或D(大写) 从光标处删除到行尾
补充: 命令模式下 小写的u为撤销

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

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

• 字符串替换
操作类型 设置指令 用 途
行内替换 😒/root/admin 替换当前行第一个“root”
😒/root/admin/g 替换当前行所有的“root”
区域内替换 :n,m s/root/admin/g 替换第n-m行所有的“root”
:% s/root/admin/g 替换文件内所有的“root”
[root@localhost ~]# cp /etc/passwd /opt/pass.txt
[root@localhost ~]# vim /opt/pass.txt

•开关参数的控制
操作类型 设置指令 用 途
编辑器设置 :set nu或nonu 显示/不显示行号
:set ai或noai 启用/关闭自动缩进

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值