文件检索、压缩和归档

文件检索、压缩和归档

. 实验目标

熟练文件内容操作,压缩和归档,程序和文件检索

. 实验步骤

一.文件内容操作

1. 显示文件全部内容—— cat 命令

格式:cat  选项  文件名

命令选项 : -n —每一行显示行号包括空行

[[email protected] ~]# cat /etc/hosts      //查看文件内容比较少的

[[email protected] ~]# cat -n /etc/hosts     //每一行前显示行号

[[email protected] ~]# cat /root/install.log //显示文件全部内容

[[email protected] ~]# cat -n /root/install.log //-n每一行前显示行号

[[email protected] ~]# cat -n /etc/passwd      //显示passwd行号

注:(1)cat查看文件不是目录

(2)查看文件内容比较少的

(3)内容较多时阅读不完整

2.  More命令——可以分页显示

格式:more  选项   文件名

[[email protected] ~]# more /root/install.log  //可以分页显示

[[email protected] ~]# type ls  //指定命令

[[email protected] ~]# ls --help //命令帮助(外部)

[[email protected] ~]# ls --help | more  //分页显示

[[email protected] ~]# cat /root/install.log | more //利用管道|对输出信息进行分页

[[email protected] ~]# more /root/install.log   //分页显示

3.  Less命令——分页显示(比more更全面)

格式:less   选项   文件名

[[email protected] ~]# less /root/install.log   //使用less阅读大文件

4. head命令——默认显示文件头10行

格式:head -n 数字 显示头n行

[[email protected] ~]# head /etc/passwd   //默认显示文件头十行

[[email protected] ~]# head -n 2 /etc/passwd  //截取文件首2行

5. tail命令——默认显示文件尾10行

格式: tail  -n 数字显示尾n行

[[email protected] ~]# tail /var/log/messages  //默认显示文件尾10行

[[email protected] ~]# tail -n 2 /etc/passwd  //截取文件尾2行

[[email protected] ~]# head -n 12 /etc/passwd | tail -n 5  //截取文

件中间8-12行

注:截取中间:先head截取前12行,在从截取的这12行尾数5行,去两者的交集

6.  Wc命令——统计

格式: wc  选项    文件名

选项:  -l 统计行号

[[email protected] ~]# wc /etc/passwd     //统计

[[email protected] ~]# wc -l /etc/passwd  //计算文本的总行数或统计有多少个用户账号

7. grep命令——输出包含指定字符串的行

格式:grep    选项    查找条件    目标文件

选项: -i忽略大小写

-v取反

^root以root开头

root$以root结尾

^$匹配空行

-E查找多个关键字,匹配其中任意一个都输出

[[email protected] ~]# ls -l /etc/*.conf | wc -l//目录下文件个数

[[email protected] ~]# cat /etc/hosts

[[email protected] ~]# grep 127.0.0.1 /etc/hosts//输出包含指定字符串

的行

[[email protected] ~]# grep --color 127.0.0.1 /etc/hosts//检索

[[email protected] ~]# grep -v 127.0.0.1 /etc/hosts    //取反

[[email protected] ~]# grep root /etc/passwd//检索文本内容

[[email protected] ~]# grep Root /etc/passwd

[[email protected] ~]# grep -i Root /etc/passwd   //忽略大小写

[[email protected] ~]# dmesg | grep eth //查看启动消息

[[email protected] ~]# dmesg | grep sda

[[email protected] ~]# grep "^#" /etc/hosts        //^以……开头

[[email protected] ~]# grep -v "^#" /etc/hosts  //除……

[[email protected] ~]# grep "bash$" /etc/passwd  //$以……结尾

[[email protected] ~]# grep -v "^#" /etc/login.defs|grep -v "^$"

[[email protected] ~]# grep -Ev "^#|^$" /etc/login.defs //^$空行,

[[email protected] ~]# grep -c "/bin/bash$" /etc/passwd

//计算以/bin/bash$ 结尾的用户个数

[[email protected] ~]# grep -E "127.0.0.1|localhost6" /etc/hosts

//查看多个关键字,匹配其中任意一个都输出

二.压缩和归档操作

1.zip 压缩

格式:zip  压缩包名   被压缩的文件名

-r—指定对目录压缩

解压:

格式:unzip 文件名.zip解压缩

-d指定解压位置

[[email protected] ~]# ls -lh

[[email protected] ~]# ls -lh > gztest.txt

[[email protected] ~]# cat gztest.txt

[[email protected] ~]# zip gztest gztest.txt //压缩

[[email protected] ~]# ls -lh gztest*

[[email protected] ~]# rm gztest.txt

[[email protected] ~]# ls -lh gztest.txt

[[email protected] ~]# unzip gztest.zip   //解压缩

[[email protected] ~]# ls -lh gztest.txt

[[email protected] ~]# mkdir bak

[[email protected] ~]# ls bak

[[email protected] ~]# unzip -d bak gztest.zip //指定解压位置

[[email protected] ~]# ls bak/

[[email protected] ~]# zip -r bak bak

[[email protected] ~]# rm -r bak

[[email protected] ~]# unzip bak.zip

注:解压后原文件仍保留

2. gzip命令

压缩

格式:  gzip 文件名

解压缩

格式:gzip -d 文件名.gz

[[email protected] ~]# ls -lh gztest.txt

[[email protected] ~]# gzip gztest.txt    //压缩

[[email protected] ~]# ls -lh gztest.*

[[email protected] ~]# gzip -d gztest.txt.gz   //解压缩

[[email protected] ~]# ls -lh gztest.*

[[email protected] ~]# bzip2 gztest.txt       //压缩

[[email protected] ~]# ls -lh gztest.*

[[email protected] ~]# bzip2 -d gztest.txt.bz2   //解压缩

[[email protected] ~]# ls -lh gztest.*

3. tar命令

制作归档

格式:tar  选项   归档文件    原文件或目录

释放归档

格式:tar  选项   归档文件    [-C目标目录]

选项:

-c创建tar包

-x解包

-t查看

-f使用归档文件

-z调用gzip

-j调用bzip2

-C指定解压位置

--remove打完包后删除原文件

tar -zcf xxx.tar.gz xxx调用gzip压缩

tar -jcf xxx.tar.bz2 xxx调用bzip2压缩

tar -ztf xxx.tar.gz查看xxx.tar.gz里面文件

tar -jtf xxx.tar.bz2查看xxx.tar.bz2里面文件

tar -zxf xxx.tar.gz解压xxx.tar.gz

tar -jxf xxx.tar.bz2解压xxx.tar.bz2

补充:

file查看文件格式

[[email protected] ~]# cd /opt/

[[email protected] opt]# rm -rf /opt/*

[[email protected] opt]# ls

[[email protected] opt]# mkdir test

[[email protected] opt]# cp /boot/* test/

[[email protected] opt]# cp -rf /boot/* test/

[[email protected] opt]# \cp -rf /boot/* test/

[[email protected] opt]# ls

[[email protected] opt]# tar -cf test.tar test/   //创建tar包

[[email protected] opt]# rm test.tar

[[email protected] opt]# tar -cvf test.tar test/ //创建并查看详细信息

[[email protected] opt]# tar -tf test.tar  //查看包内使用归档文件

[email protected] opt]# gzip test.tar            //压缩

[[email protected] opt]# ls

[[email protected] opt]# gzip -d test.tar.gz         //解压缩

[[email protected] opt]# ls

[[email protected] opt]# rm test

[[email protected] opt]# rm -r test

[[email protected] opt]# rm -rf test

[[email protected] opt]# tar -xf test.tar//解开.tar格式的使用归档文件

[[email protected] opt]# ls

使用bzip2对test目录进行压缩...

[[email protected] opt]# tar -zcf test.tar.gz test //制作tar.gz包 文件

gzip

[[email protected] opt]# ls

[[email protected] opt]# tar -jcf test.tar.bz2 test//制作.tar.b2包 文件

bzip2

[[email protected] opt]# ls

[[email protected] opt]# file test.tar.gz //查看文件格式

[[email protected] opt]# file test.tar.bz2

[[email protected] opt]# ls

[[email protected] opt]# rm -rf test

[[email protected] opt]# tar -zxf test.tar.gz//解包

[[email protected] opt]# ls

[[email protected] opt]# ls -ld /root/test

[[email protected] opt]# tar -jxf test.tar.bz2 -C /root/ //释放

[[email protected] opt]# ls -ld /root/test

三.程序和文件检索

1. 执行命令路径的变量PATH

echo $PATH查看PATH的值

作用:

执行任何命令的时候会去从PATH的值(路径)中去搜寻是否有该命令。有就执行,

没有就告诉你找不到这个命令

[[email protected] ~]# echo $PATH

/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:

/root/bin

2. which命令——专门用于查找命令

格式:which  [-a] 程序名

[[email protected] ~]# which ls cd   //专门用于查找命令(外部命令)

3. locate命令——查找速度快,需要通过updatedb生成数据库

格式:locate    选项    关键字

[[email protected] ~]# updatedb //更新数据库

[[email protected] ~]# touch myhttpd.conf//新建

[[email protected] ~]# ls

[[email protected] ~]# locate myhttpd.conf //查找速度快

[[email protected] ~]# updatedb

[[email protected] ~]# locate myhttpd.conf //定位

[[email protected] ~]# rm myhttpd.conf

[[email protected] ~]# locate myhttpd.conf

[[email protected] ~]# updatedb

[[email protected] ~]# locate myhttpd.conf

4.  find命令

格式:find [路径] [条件]

默认不指定路径,就是当前路径

-type 类型

f文件

d目录

l链接

b块设备文件

c字符设备文件

-name名字

-size 大小(单位c表示byte,k表示1024bytes)

+ 大于

-小于

-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 command

eg: find /boot -size +2048k -exec ls -l {} \;

{}find找到的内容

-exec到\;代表find额外命令开始到结束

;特殊字符,需要转义

[[email protected] ~]# find /boot -type l

[[email protected] ~]# file /boot/grub/menu.lst

[[email protected] ~]# ls -l /boot/grub/menu.lst

[[email protected] ~]# find /boot -type d//查找类型 d目录

[[email protected] ~]# find / -name passwd

[[email protected] ~]# find / -name *passwd*   //只要passed全部查找

[[email protected] ~]# find / -name *passwd    //查找passwd结尾

[[email protected] ~]# find / -name passwd*   //查找passwd.

[[email protected] ~]# find / -name passwd????//查找passwd后。。

[[email protected] ~]# find /etc -name "resolv*conf"//按文件名称查找

[[email protected] ~]# find /dev -type c -a -name "tty[1-3]"

//c字符设备 -a多个条件需同时满足

[[email protected] ~]# ls -lh /boot/*

[[email protected] ~]# find /boot -size +2M

[[email protected] ~]# cp install.log install.new

[[email protected] ~]# ls -lh install.???

[[email protected] ~]# find -name "install.???" -mtime +30查找30天

前   //按内容修改时间

[[email protected] ~]# find /boot -size +2M//大小  +大于 ,-小于

[[email protected] ~]# find /boot -size +2M -exec ls -lh {} \;

时间: 2024-10-02 02:35:49

文件检索、压缩和归档的相关文章

linux系统下文件压缩与归档

不管是普通使用linux系统,还是做为一名运维人员,掌握文件的压缩与归档都是有必要的,在linux系统上压缩与归档的工具是比较多的,今天我就带大家了解一些比较常见的压缩与归档工具. 一.compress/uncompress  默认会删除原文件 compress [-dfvcVr] [-b maxbits] [file ...]  -d: 解压缩,相当于uncompress  -c: 结果输出至标准输出,不删除原文件  -v: 显示详情  uncompress 解压缩  zcat 不解压缩的前提

linux之压缩及归档

压缩 利用算法将文件有损或无损地处理,以达到保留最多文件信息,而令文件体积变小. 二进制信息中相同的字符串以特殊字符标记来达到压缩的目的. 解压缩 还原压缩文件 压缩格式:gz.bz2.xz.zip.z 压缩算法: 算法不同,压缩比也会不同的. 压缩命令: compress :FILENAME.z uncompress 这里的压缩命令针对文件,而非目录. gzip: .gz gzip /PATH/TO/SOMEFILE :压缩完成后会删除原文件 -d : 解压缩 -#: 1-9  指定压缩比 .

Linux 入门之文件的压缩和归档

Linux入门之压缩与归档 LInux中的有很多对文件压缩和归档的工具,而且其压缩的算法也在不段的更新和突破,但是作为对数据的稳定一般常用的工具不会太多,下面看看一些压缩工具吧,这里我在RHEL5 (red hat 5)或CentOS 6版本的系统上列举这些工具 compress 这是一个很老旧的工具了,一般只有系统内核上的弄些不常改变的文件使用此工具压缩,但是这个工具对于小型数据的压缩效果还是不会很差的. #使用rpm测试软件包是否已经安装 [[email protected] ~]# rpm

Linux压缩及归档

Linux压缩及归档详解     我们Linux操作系统中的压缩文件的格式主要有gz.bz2.xz以及Z四种,压缩的过程是我 们的操作系统利用压缩算法来进行实现的,压缩算法不同,压缩比就会不同,压缩文件的过程 是先利用压缩算法去扫描文件,然后利用压缩算法去完成压缩,压缩比指的是压缩前的文件大 小减去压缩后的文件大小的文件大小的差值比上压缩前的文件大小,故压缩比越大,说明压缩 性能就越好,我们早期的Unix操作系统上有一种压缩工具叫做compress,compress本身的意思 就是压缩的意思,c

Liinux压缩与归档

文件的压缩 aaaaaabbbbccc压缩成为6a4b3c 压缩工具: gzip/gunzip: .gz后缀 只能压缩文件,不能压缩目录,因其不具备归档功能 man gzip: 查看gzip命令帮助 gunzip: 解压缩工具 ls -lh: 查看文件大小 gzip messages: 直接把源文件messages压缩成.gz结尾的文件 gunzip messages.gz: 重新解压缩为文件messages gzip 选项 文件名 -d 也可以实现解压缩 gzip -d messages.gz

关于linux一些备份、还原,压缩,归档的命令

15.1 gzipgzip(1) 是GNU的压缩程序.它只对单个文件进行压缩.基本用法如下:$ gzip filename程序执行以后,文件名会变成filename.gz,而且一般情况下大小会比原文件要小.注意,程序并不新建一个新的文件filename.gz, 而是将filename变成filename.gz.一般来说,文本文件压缩率会比较高.而那些jpeg图像,mp3等类似文件的压缩率就没有那么好了,因为它们本来就已经被压缩过了的.这个基本用法考虑了压缩时间和压缩后文件尺寸的平衡问题(译者注:

linux 压缩以及归档

基本概念: 压缩:把文件按照某种算法进行缩减,比如一个文本文件内容为:aaaaadddd 我们可以把它简化为a5d4 需要的时候再还原回来,这样原来的文本存储需要18个字节,现在只需要8个字节,大大节约了空间,一般来说压缩算法越简单,压缩速度越快,算法越复杂,压缩比[(压缩前的大小-压缩后的大小)/压缩前的大小 ]越高. 归档(archive):压缩只能对文件进行压缩,但是不能对目录,而归档就是把多个文件集合起来组成一个文件,这样我们可以把目录,以及目录下的内容归档起来组成一个文件,然后就可以利

linux文件的编辑、压缩、归档、操作

一.文件内容操作(/etc/passwd) 1. cat 查看文件内容比较少的 2. more 可以分页显示 3. less 比more更全面 4. head 默认显示文件头10行 -n 数字 显示头n行 5. tail 默认显示文件尾10行 -n 数字 显示尾n行 -f 实时查看 6. wc 统计 7. grep 输出包含指定字符串的行 -i 忽略大小写 -v 取反 ^root 以root开头 root$ 以root结尾 ^$ 匹配空行 -E 查找多个关键字,匹配其中任意一个都输出 8. dm

Linux下的压缩及归档

Linux下常用的压缩格式有: gz,bz2,xz,zip,Z //只能压缩文件不能压缩目录,如果传递一个目录,他会把目录中的文件逐个压缩 ..压缩算法:算法不同,压缩比也不同 gz:gzip,压缩后为 .gz //gunzip解压缩 -d :解压缩 -#(#范围为1-9):指定压缩比,压缩比越小,压缩速度越快,压缩后的文件也越大,默认为6 zcat:在不解压的情况下查看压缩文本文件的内容(临时解压文件查看,关闭之后临时文件被删除) bz2:bzip2,压缩后为.bz2 比gzip更大压缩比的压