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

一、 归档及压缩

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

 常见的压缩格式及命令工具:
.gz  gzip
.bz2  bzip2
.xz  xz

 tar 集成备份工具
-c:创建归档
-x:释放归档
-f:指定归档文件名称,必须要有的选项,放在所有选项最后
-z、-j、-J:调用 .gz、.bz2、.xz 格式的工具进行处理
-t:显示归档中的文件清单
-C:指定释放路径
 tar 制作压缩包(打包)
格式:tar 选项 /路径/压缩包名字 /路径/源数据……
]# tar -zcf /opt/file.tar.gz /home /etc/passwd
]# ls /opt/
-z:gzip压缩格式 -j:bzip2压缩格式 -J:xz压缩格式
]# tar -jcf /opt/abc.tar.bz2 /home /etc/passwd
]# ls /opt/

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

 tar 释放压缩包(解包)
格式:tar 选项 /路径/压缩包名字 选项 /释放的路径
[root@localhost ~]# mkdir /nsd11
[root@localhost ~]# mkdir /nsd12
[root@localhost ~]# mkdir /nsd13
[root@localhost ~]# tar -xf /opt/file.tar.gz -C /nsd11
[root@localhost ~]# ls /nsd11
[root@localhost ~]# ls /nsd11/etc/
[root@localhost ~]# ls /nsd11/home/
[root@localhost ~]# tar -xf /opt/abc.tar.bz2 -C /nsd12
[root@localhost ~]# tar -xf /opt/nsd.tar.xz -C /nsd13

案例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 #查看tar包的内容

二、 重定向与管道操作

 重定向:将前面命令的输出,写入到文本文件中

:覆盖重定向

:追加重定向
]# cat --help > /opt/cat.txt #会自动生成文件
]# cat /opt/cat.txt

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

]# head -1 /etc/passwd
]# head -1 /etc/passwd >> /opt/cat.txt
]# cat /opt/cat.txt

[root@localhost ~]# echo haha
[root@localhost ~]# echo 123456

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

[root@localhost ~]# echo A.tedu.cn > /etc/hostname
[root@localhost ~]# cat /etc/hostname

 管道 | :将前面命令的输出传递给后面命令,作为后面命令的参数继续处理
显示/etc/passwd文件内容的8-12行
]# head -12 /etc/passwd | tail -5
]# head -12 /etc/passwd | tail -5 | cat -n
]# cat -n /etc/passwd | head -12
]# cat -n /etc/passwd | head -12 | tail -5
]# ifconfig | head -2
]# ifconfig | less

 grep针对文本文件内容的操作
-v:取反查找
^KaTeX parse error: Expected 'EOF', got '#' at position 8: :表示空行 ]#̲ cat /etc/defa… /etc/default/useradd #过滤不要空行

在Linux大多数配置文件中,以#开头的行表示为注释行
显示配置文件的有效信息(去除空行,并且去除注释行)
]# grep -v ^# /etc/default/useradd
]# grep -v ^# /etc/default/useradd | grep -v ^$

]# grep -v ^# /etc/default/useradd | grep -v ^$ > /opt/a.txt
]# cat /opt/a.txt

]# cat /etc/login.defs
]# grep -v ^# /etc/login.defs
]# grep -v ^# /etc/login.defs | grep -v ^$
]# grep -v ^# /etc/login.defs | grep -v ^$ > /opt/b.txt
]# cat /opt/b.txt

三、 find命令基本应用

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

  1. 常用条件:-type 类型(f文本文件、d目录、l快捷方式)
    [root@A ~]# find /root -type f
    [root@A ~]# find /boot -type d
    [root@A ~]# find /etc -type l
    [root@A ~]# mkdir /root/nsd2006
    [root@A ~]# touch /root/nsd01.txt
    [root@A ~]# touch /root/nsd02.txt
    [root@A ~]# find /root -type f
    [root@A ~]# find /boot -type d

  2. 常用条件:-name “名字” #支持通配符
    请查找/etc/目录下以tab结尾的文件(包含子目录)
    [root@A ~]# find /etc/ -name “tab"
    [root@A ~]# find /etc/ -name “passwd”
    [root@A ~]# find /etc/ -name "
    .conf”
    [root@A ~]# find /root/ -name “nsd*”
    [root@A ~]# find /root/ -name “nsd*” -type f
    [root@A ~]# find /root/ -name “nsd*” -type d

  3. 常用条件:-size +或-文件大小(k、M、G)
    [root@A ~]# find /boot/ -size +300k
    [root@A ~]# find /boot/ -size +10M
    [root@A ~]# find /boot -size -1024k
    [root@A ~]# find /boot -size -1024M
    [root@A ~]# find /boot -size -10M

  4.  常用条件:-user  用户名   #按照数据的所有者,进行查找
    

[root@A ~]# useradd student #创建用户student
[root@A ~]# ls /home/
[root@A ~]# find /home/ -user student
[root@A ~]# find / -user student
/proc:数据来源于内存,不占用磁盘空间

  1.  常用条件:-mtime  修改时间   #一切时间都是过去时间
    
    -mtime +10 #10天之前的数据
    -mtime -10 #最近10天之内的数据

[root@A ~]# find /root -mtime +1000
[root@A ~]# find /root -mtime -2

在/root目录下,查找三个月之前的数据
[root@A ~]# find /root -mtime +90

四、 find命令高级应用

操作方法:根据条件查找并处理结果
find [范围] [条件] -exec 处理命令 {} ;
-exec:额外操作的开始
{}:表示前面find命令的查询结果
; 表示额外操作的结束
]# find /boot/ -size +10M
]# find /boot/ -size +10M -exec cp {} /opt ;
]# ls /opt/

案例3:查找并处理文件
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 键 或“$”键 跳转到行尾
全文翻页 PgUp 键、PgDn 键 向上翻页、向下翻页
光标行间跳转 1G 或 gg 跳转到文件的首行
G 跳转到文件的末尾行

•复制/粘贴/删除
操作类型 按键指令 用 途
复制 yy、2yy 复制光标处的一行、2行
粘贴 p、P 粘贴到光标处之后、之前
删除 x 或 Delete键 删除光标处的单个字符
dd、4dd 删除光标处的一行、4行
d^ 从光标处之前删除至行首
d$或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文件内容

• 字符串替换
操作类型 设置指令 用 途
行内替换 :s/root/admin 替换当前行第一个“root”
:s/root/admin/g 替换当前行所有的“root”
区域内替换 :1,10 s/root/admin/g 替换第1-10行所有的“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、付费专栏及课程。

余额充值