您的位置:首页 > 运维架构 > Linux

linux文件内容操作 、 归档及压缩 、 程序和文件查找

2016-03-24 17:58 537 查看
文件内容操作
压缩和归档
程序和文件检索
#################################################

一、文件内容操作

1.阅读文件的内容
直接显示全部文本(Concatenate,可连接多个文件):
cat 文件...
cat -n 文件... 【带行号】

more 分页阅读(向前翻页不便):
more 文件...
**按Enter键下翻一行、空格键下翻一屏
** 按 q 或 Q 键退出、/ 键向后查找
** 按?键了解操作说明

less 分页阅读(向前、后均可翻页):
less 文件...
**按PgUp向前翻页、PgDn向后翻页
**按?键向前、按 / 键向后查找(n、N切换)
** 其他用法与more命令类似

管道操作:将前一个命令的结果交由后面命令处理,当做后面命令的参数。
命令1 | 命令2 | 命令3 ... | 命令n

2. 截取文件首、尾部分内容
从文件开头取指定的行数:
head file.txt 【默认10行】
head -n 行数 file.txt 【“-n 行数”可简写为“-行数”】

从文件末尾取指定的行数:
tail file.txt 【默认10行】
tail -n 行数 file.txt 【“-n 行数”可简写为“-行数”】

覆盖重定向: 命令 > /路径/文件
追加重定向: 命令 >> /路径/文件

3.统计及检索文本内容
wc ― Word Count,字数统计
格式:wc [选项]… 文件名…
或者
命令 | wc [选项]...
常用选项:
-l ,统计行数

grep,查找文件中包含指定字符串的行
格式:grep [选项]... 查找条件 目标文件
或者
命令 | grep [选项]... 查找条件
常用选项:
-i 忽略大小写
-v:反转查找,输出不符合查找条件的行
-c:输出匹配结果的数量
-E:扩展查找模式(grep -E 相当于 egrep),比如"条件1|条件2"任一个均满足
grep的查找条件:
查找的字符串以双引号括起来
^...:表示以 ... 开头
...$:表示以 ... 结尾
^$:表示空行

**在大多数Linux配置文件中,以 # 开头的部分表示注释文字

二、压缩和归档

1. 概念区分
归档:将零散的文件、目录整合为单个文件存档
压缩:对单个文件进行压缩,以减少占用的磁盘空间

** 通常所说的“打一个备份包”指的是先做归档再做压缩,生成备份包文件

常见的压缩包类型
Windows下: .zip 、.rar 、.7z
Linux下: .zip 、.gz 、 .bz2、.xz 、
.tar.gz或.tgz、 .tar.bz2 、.tar.xz

** .zip 为跨平台的压缩包格式

2. zip和unzip工具【归档+压缩】
制作 .zip 格式的备份包:
格式:zip [-r] 压缩包名 被压缩的文件和目录...
** 包含目录时必须加 -r 选项

释放 .zip 格式的备份包:
格式:unzip [-d 目标文件夹] .zip包文件

3. gzip和gunzip工具 【压缩,不归档】
制作 .gz 格式的压缩包:
格式:gzip [-9] 文件名...
** 每个文件分别压缩,原文件不保留,不能压缩目录,-9提高压缩率

释放 .gz 格式的压缩包:
格式:gzip -d .gz压缩包
或者
gunzip .gz压缩包

4. bzip2和bunzip2工具 【压缩,不归档】
用法与gzip、gunzip类似,
只不过压缩格式为 .bz2

5.tar 工具【归档】
** 本身只做归档(不压缩),但可调用gzip、bzip2对归档结果进行压缩

tar 制作归档
格式:tar [选项]... 归档文件 原文件或目录
tar 释放归档
格式:tar [选项]... 归档文件 [-C 目标目录]
tar命令的常用选项
-c:创建 .tar 格式的归档文件
-x:解开.tar格式的归档文件
-C:解包时指定释放的目标文件夹
-f:表示使用归档文件 tar命令每次必须要有-f选项
-z:调用 gzip 执行压缩或解压缩
-j:调用 bzip2 执行压缩或解压缩
-v:输出详细信息
-t:列表查看包内的文件

制作 .tar.gz 或 .tgz 格式的备份包:
tar zcf 备份包.tar.gz 文件或目录...
查看 .tar.gz 或 .tgz 格式的备份包:
tar ztf 备份包.tar.gz
释放 .tar.gz 或 .tgz 格式的备份包:
tar zxf 备份包.tar.gz [-C 目标目录]

制作 .tar.bz2 格式的备份包:
tar jcf 备份包.tar.bz2 文件或目录...
查看 .tar.bz2 格式的备份包:
tar jtf 备份包.tar.bz2
释放 .tar.bz2 格式的备份包:
tar jxf 备份包.tar.bz2 [-C 目标目录]

三、程序和文件检索
1. 执行命令路径的变量PATH
echo $PATH 查看PATH的值
作用:
执行任何命令的时候会去从PATH的值(路径)中去搜寻是否有该命令。有就执行,没有就告诉你找不到这个命令

2.命令与文件查询
which 专门用于查找外部命令,程序文件所在位置

locate 查找速度快,需要通过updatedb生成数据库 有索引 模糊查找不常用

find:
格式:find [路径] [条件]
默认不指定路径,就是当前路径 无索引一个一个找 常用

-type 类型
f 文件
d 目录
l 链接
b 块设备文件
c 字符设备文件

-name 名字

-size 大小(单位c表示byte,k表示1024bytes) k小写 M大写
+ 大于
- 小于
-a 多个条件同时满足 -name下默认-a
-o 多个条件满足一条即可

-mtime 文件内容修改时间查找
n n为数字,意义在n天之前的“一天之内”被更改过的文件
+n 列出在n天之前(不含n天本身)被更改过的文件名
-n 列出在n天之内(含n天本身)被更改过的文件名
+4代表大于等于5天前的文件名 find /var -mtime +4
-4代表小于等于4天内的文件名 find /var -mtime -4
4则是代表4~5那一天的文件名 find /var -mtime 4

-exec
eg: find /boot -size +2048k -exec ls -l {} \;
{} find找到的内容
-exec 到\; 代表find额外命令开始到结束
; 特殊字符,需要转义
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: