1、文件的查找和搜索
可执行文件的搜索:which 、whereis
locate搜索文件
find搜索文件
1.1可执行文件的搜索
在Linux系统中,有成百上千个指令,不同的指令对应的指令文件,又放在不同的目录里。如果快速地查找指令的绝对路径是相当重要的。
which <指令>
显示一个指令的完整路径与别名。
whereis <指令>
搜索一个指令的完整路径以及其帮助文件。
[root@natsha ~]# which ls
alias ls='ls --color=auto'
/bin/ls
[root@natsha ~]# whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
1.2locate搜索
在Linux系统中存在一个数据库,在这个数据库中保存了系统中所有文件的绝对路径。用户就可以使用下面的命令来查询文件的完整路径。
语法:locate [关键字]
这个指令会将文件名或目录名中包含有此关键字的路径全部显示出来。
用户刚创建的文件系统不会立即加入数据库中,用户可以通过updatedb指令来手动的更新这个 数据库
1.3Find查询的描述
find是一个相当重要的查询文件绝对路径的指令
语法:find <路径> <选项> [表达式]
find查找文件的特点:
从指定路径下递归向下搜索文件。
支持按照各种条件方式搜索。
支持对搜索得到的文件再进一步的使用指令操作(例如:删除、统计大小、复制等)
Find条件查询
find <路径> <参数> [表达式]
重要选项:
-name 根据文件名寻找文件
-user 根据文件拥有者寻找文件
-group 根据文件所属组寻找文件
-perm 根据文件权限寻找文件
-size 根据文件大小寻找文件[±Sizek]
-type 根据文件类型寻找文件,常见类型有:f(普通文件) 、c(字符设备文件)、b(块设备文件) 、l(连接文件)、d(目录)
-o 表达式或
-and 表达式与
-not 表达式非
对查找到的文件进一步操作
语法
find [路径] [参数] [表达式] -exec 指令 {} \;
{ }代表find找到的文件
\ 转意
;表示本行指令结束
例:find /etc –name “host*” –exec du –h {} \;
(1)使用-name选项
使用文件名模式来匹配文件,文件名要放在引号中。
在当前目录和子目录中查找所有的'*.log'文件:
find . -name "*.log" -print
(2)按文件属主查找文件
find /etc -user natasha -print
(3)按更改时间或者访问时间等查找文件。
在根下查找更改时间在5日以内的文件,可以用:
find / -mtime -5 -print
在/var/adm目录下查找更改时间在3日以前的文件,可以用:
find /var/adm -mtime +3 -print
(4)使用type选项
在/etc 目录下查找所有的目录
find /etc -type d -print
在当前目录下查找除目录以外的所有类型的文件:
find . !-type d -print
(5)使用size选项
按文件大小来查找。
在当前目录下查找文件长度大于1M的文件:
find . -size +1M -print
在/home/apache目录下查找文件长度恰好为100字节的文件:
find /home/apache -size 100c -print
(6)使用depth选项
首先匹配所有的文件再在子目录中查找。
从文件系统的根目录开始,查找一个名为CON.FILE文件。
find / -name "CON.FILE " -depth -print
(7)找出所有所有者是natasha的文件,并把他们拷贝到/root/found目录。
mkdir /root/found
find / -user natasha –exec cp –rf {} /root/found/ \;
2、文件的压缩与解压缩
文件的压缩与解压指令
gz与.bz系列指令
- gzip,gunzip
-- Linux标准压缩工具
-- 对文本文件可以达到75%的压缩率
-- 例:
gzip man.config
gunzip man.config.gz
- bzip2,bunzip2
--更新的Linux压缩工具
--比gzip有着更高的压缩率
例:
bzip2 httpd.conf.bk
bunzip2 httpd.conf.bk.bz2
不解压显示压缩文件的内容:
对于用gzip压缩的文件,有一系列以z开头的指令,可以在不经解压的情况下,就直接显示文件的内容
zcat:直接显示压缩文件的内容
zless:直接逐行显示压缩文件的内容
对于用bzip压缩的文件,也有一系列以bz开头的文件。
bzcat:直接显示压缩文件的内容
bzless:直接逐行显示压缩文件的内容
3、tar指令
常用选项:
c 创建包
v 将过程输出
x 解出包
t 显示tar文件的内容
r 在tar文件尾部追加文件
z 用gzip压缩或解压文件
j 用bzip压缩或解压文件
f 指定备份文件名
-T 从指定的文件中读取欲打包的文件路径
-C 将文件备份到指定的目录
tar支持在备份同时压缩备份文件,或在解出备份同时解压缩。
备份时压缩
#tar jcvf test.tar.bz /home/test ( j:使用bzip2 )
#tar zcvf test.tar.gz /home/test ( z:使用gzip )
#tar -cvf /tmp/etc.tar /etc 仅打包,不压缩
# tar -zcvf /tmp/etc.tar.gz /etc 打包后,以 gzip 压缩
# tar -jcvf /tmp/etc.tar.bz2 /etc 打包后,以 bzip2 压缩
在参数 f 之后的文件档名是自己取的,习惯上都用 .tar 来作为辨识。
# 如果加 z 参数,则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar file
# 如果加 j 参数,则以 .tar.bz2 来作为压缩过的文件名
解压备份文件
#tar jxvf test.tar.bz -C /tmp (j:使用bzip2 )
#tar zxvf test.tar.gz -C /tmp(z:使用gzip )
备份 /home, /etc ,但不要 /home/dmtsai
tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc
- Linux下文件的压缩与打包
一.Linux下常见的文件压缩命令: 在Linux的环境中,压缩文件的扩展名大多是:『*.tar, *.tar.gz, *.tgz, *.gz, *.Z, *.bz2』,为什么会有这样的扩展名呢? 这 ...
- linux中文件查找、whereis、which、输出命令
1.文件查找(find):find是最常⻅和最强⼤的查找命令 格式:find / -name 文件名,比如:find / -name mysql. (1).模糊查找:*是代表所有的,?是代表⼀个字 ...
- 【linux相识相知】压缩与打包
我们日常使用window的时候,经常会用到压缩与解压缩,如果要压缩一个文件,右击选择[添加到压缩文件],解压缩则右击选择[解压到当前文件夹],“点点点”就能完成.但是在一个没有装图形化界面的linux ...
- linux(3)磁盘与文件系统管理/查看硬盘、内存空间/文件系统的操作/ 文件的压缩和打包
一.磁盘与文件系统管理 1.分区与文件系统分区:记录每一个分区的开始柱面和结束柱面主引导区(master boot recorder):记录分区的数据,记录硬盘里所有的分区信息分区划分好后,要将分区格 ...
- linux中文件压缩介绍
原文内容来自于LZ(楼主)的印象笔记,如出现排版异常或图片丢失等问题,可查看当前链接:https://app.yinxiang.com/shard/s17/nl/19391737/1c62bb7f-f ...
- linux文件压缩与文件夹压缩(打包)
目录 一:linux文件压缩 1.linux常见的压缩包有哪些? 2.bzip压缩(文件) 二:打包(文件夹压缩) 1.打包命令 2.参数 3.参数解析(实战) 4.注意事项 简介: win中的压缩包 ...
- linux中tar及压缩解压命令用法
把常用的tar解压命令总结下,当作备忘: tar 命令可以为Linux的文件和目录创建档案.利用 tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向 档案中加入新的文件.t ...
- linux中的常用压缩与解压缩命令
linux中常用的压缩格式有 .zip .gz .bz2 .tar.gz .tar.bz2 一..zip 1.命令格式 zip 压缩文件名 源文件名 (压缩文件到当 ...
- LSOF查看linux中文件打开情况
如何查看linux中文件打开情况 前言 我们都知道,在linux下,“一切皆文件”,因此有时候查看文件的打开情况,就显得格外重要,而这里有一个命令能够在这件事上很好的帮助我们-它就是lsof. lin ...
随机推荐
- 清空mysql数据
delete from 表名; truncate table 表名; 不带where参数的delete语句可以删除mysql表中所有内容,使用truncate table也可以清空mysql表中所有内 ...
- 阶段3 2.Spring_03.Spring的 IOC 和 DI_8 spring中bean的细节之生命周期
区分单例还是多例对象 单例的几个状态 初始化方法和销毁方法 设置成我们定义的方法 测试 有创建和初始化.但是没有销毁,.对象一直没有销毁的方法 main方法是一切应用程序的入门.当main方法结束后. ...
- layer的iframe弹框中父子元素的传值
项目中,左侧导航树,右侧是 iframe 嵌套的页面,在右侧页面中又有layer弹框,可以说是有两层 iframe 框架. 所以查询网上的parent什么的方法都不能用.自己摸索的下面的方法: 1.父 ...
- Jenkins持续集成环境部署
一.下载Jenkins Jenkins下载地址:https://jenkins.io/download/ 这里我们下载的是jenkins.war 二.启动Jenkins 在Linux下启动Jenkin ...
- 【HANA系列】SAP Vora(SAP HANA和Hadoop)简析
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP Vora(SAP HAN ...
- javase程序设计上机作业1
package javaxgp.teacher.test; import java.math.BigInteger; import java.util.Scanner; import java.uti ...
- sql语言(mysql)
一.SQL语言 1.DDL (Data Definition Language) 数据库定义语言 2.DML(Data Manipulation Language) 数据库操作语言 3.DQL (Da ...
- 【Deep Learning Nanodegree Foundation笔记】第 9 课:Model Evaluation and Validation
In this lesson, you'll learn some of the basics of training models. You'll learn the power of testin ...
- python基础语法之字符串
1 字符串中*的使用 *可以使字符串重复n次 print('hello world ' * 2) # hello world hello world 2 索引获取字符串的字符元素 print('hel ...
- 【Qt开发】QTextEdit 外观属性设置
一.给QTextEdit添加背景图片,有下面两种方法: QTextEdit* iEdit = new QTextEdit(); 1:使用样式表: iEdit->setStyleSheet(&q ...