说明:
本章讲解
归档及压缩、重定向与管道操作、find精确查找、vim高级使用
一、归档及压缩
作用:
1.减小占用空间大小
2.整合分散的数据
•归档的含义
将许多零散的文件整理为一个文件
文件总的大小基本不变
•压缩的含义
按某种算法减小文件所占用空间的大小
恢复时按对应的逆向算法解压
•常见的压缩格式及命令工具:
.gz gzip
.bz2 bzip2
.xz xz
•tar 集成备份工具
–-c:创建归档
–-x:释放归档
–-f:指定归档文件名称,必须在所有选项的最后
–-z、-j、-J:调用 .gz、.bz2、.xz 格式工具进行处理
–-t:显示归档中的文件清单
–-C:指定释放路径
tar 制作压缩包(tar打包)
格式:tar 选项 /路径/压缩包名字 /源数据…….
]# tar -zcf /opt/xixi.tar.gz /etc/passwd /home
]# ls /opt
]# tar -jcf /opt/haha.tar.bz2 /etc/passwd /home
]# ls /opt
]# tar -Jcf /opt/hehe.tar.xz /etc/passwd /home/
]# ls /opt
tar 释放压缩包(tar解包)
tar 选项 /路径/压缩包名字 选项 /释放的位置
–-x:释放归档
–-f:指定归档文件名称,必须在所有选项的最后
–-C:指定释放路径
]# mkdir /nsd01
]# tar -xf /opt/haha.tar.bz2 -C /nsd01
]# ls /nsd01
]# ls /nsd01/etc
]# ls /nsd01/home
二、重定向(重新定向命令的输出)
将前面命令的输出,作为内容,写入到后面的文件
>:覆盖重定向
>>:追加重定向
[root@A /]# head -5 /etc/passwd > /opt/p.txt
[root@A /]# cat /opt/p.txt
[root@A /]# hostname
[root@A /]# hostname >> /opt/p.txt
[root@A /]# cat /opt/p.txt
[root@A /]# echo 123456
[root@A /]# echo 123456 > /opt/p.txt
[root@A /]# cat /opt/p.txt
[root@A /]# cat /etc/hostname
[root@A /]# echo nb.tedu.cn > /etc/hostname
[root@A /]# cat /etc/hostname
三、管道(操作符号 | )
作用:将前面命令的输出,传递给后面命令,作为后面命令的参数
]# head -4 /etc/passwd | tail -1
]# head -8 /etc/passwd | tail -1
]# cat -n /etc/passwd | head -8 | tail -1
]# ifconfig | head -2
]# 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
]# cat -n /etc/passwd | head -12 | tail -5 > /opt/pa.txt
]# cat /opt/pa.txt
四、grep高级使用
作用:从文本文件内容中,过滤关键字符串
]# grep root /etc/passwd
]# grep -v root /etc/passwd #取反匹配
]# grep ^root /etc/passwd #以root开头
]# grep bash$ /etc/passwd #以bash结尾
^$:表示空行
]# cat /etc/default/useradd
]# grep -v ^$ /etc/default/useradd
Linux中大多数配置文件内容,以#开头的行为注释行
显示配置文件有效信息(去除以#开头的注释行和去除空行)
]# grep -v ^# /etc/login.defs
]# grep -v ^# /etc/login.defs | grep -v ^$
]# grep -v ^# /etc/login.defs | grep -v ^$ > /opt/log.txt
]# cat /opt/log.txt
]# cat /etc/default/useradd
]# grep -v ^# /etc/default/useradd | grep -v ^$
]# grep -v ^# /etc/default/useradd | grep -v ^$ > /opt/user.txt
]# cat /opt/user.txt
五、find精确查找
格式:find [目录] [条件1]
–常用条件表示:
-type 类型(f、d、l)
-name "文档名称"
-size +|-文件大小(k、M、G)
-user 用户名
-mtime 修改时间
-type 类型(f文本文件、d目录、l快捷方式)
[root@A /]# find /boot -type d
[root@A /]# find /opt -type d
[root@A /]# find /etc -type l
[root@A /]# find /boot -type f
-name "文档名称" #加上双引号
]# find /etc/ -name "passwd"
]# find /etc/ -name "*tab"
]# find /etc/ -name "*.conf"
]# find /root/ -name "a*"
]# wc -l /etc/passwd #统计行数
]# find /etc/ -name "*tab" | wc -l
]# find /etc/ -name "*.conf" | wc -l
]# find /etc/ -name "*.conf" | cat -n
[root@A /]# mkdir /mnt/nsd01
[root@A /]# mkdir /mnt/nsd02
[root@A /]# touch /mnt/nsd03.txt
[root@A /]# find /mnt/ -name "nsd*"
[root@A /]# find /mnt/ -name "nsd*" -type d
[root@A /]# find /mnt/ -name "nsd*" -type f
-size +或- 文件大小(k、M、G)
[root@A /]# find /boot/ -size +300k
[root@A /]# find /boot/ -size +10M
[root@A /]# find /boot/ -size +1M
-user 用户名 (按照数据的所有者)
[root@A /]# useradd natasha #创建用户
[root@A /]# find /home/ -user natasha
[root@A /]# find / -user natasha
/proc:内存的数据,不占用硬盘空间
-mtime 修改时间 (所有的时间都是过去时间)
-mtime +90 #90天之前的数据
-mtime -90 #最近90天之内的数据
[root@A /]# find /root -mtime +90
[root@A /]# find /root -mtime -10
六、find高级使用
处理find找到的数据,每查找的一个就传递一次
–find [范围] [条件] -exec 处理命令 {} \;
-exec额外操作的开始
{} 永远表示前面find查找的结果
\; 额外操作的结束
]# find /boot/ -size +10M
]# find /boot/ -size +10M -exec cp {} /mnt \;
]# ls /mnt/
七、vim编辑技巧
当文件不存在,则自动新建,vim不能新建目录
三个模式:命令模式 插入模式(输入模式) 末行模式
[root@localhost ~]# vim /opt/nsd.txt
命-------i键 或 o键---------》插入模式(按Esc键回到命令模式)
令
模
式------输入英文的冒号 ":"-----》末行模式(按Esc键回到命令模式)
末行模式 输入 :wq #保存并退出
末行模式 输入 :q! #强制不保存退出
命令模式操作
•光标跳转
]# cp /etc/passwd /opt/pass.txt
]# vim /opt/pass.txt
复制/粘贴/删除
查找/撤销/保存
末行模式操作
:r /etc/filesystems 读入其他文件内容
]# echo 123456 > /opt/a.txt
]# echo hahaxixi > /opt/c.txt
]# vim /opt/c.txt
末行模式下 :r /opt/a.txt
末行模式下 :r /etc/passwd
字符串替换
]# cp /etc/passwd /opt/s.txt
]# vim /opt/s.txt
开关参数的控制