[转帖]记录几个常用linux命令的使用方法——find、grep、file、which、whereis和压缩命令gzip、bzip2、tar

记录,几个,常用,linux,命令,使用,方法,find,grep,file,which,whereis,压缩,gzip,bzip2,tar · 浏览次数 : 0

小编点评

**一、命令一: find、grep、file、which、whereis** **1. find 目的:查找符合条件的文件** ```bash find /work -name "test1.txt" ``` **2. grep 目的:使用 grep 命令来查找文件中符合条件的字符串** ```bash grep -n \"abc\" test1.txt ``` **3. file 目的:识别文件类型** ```bash file ~/.bashrc ``` **4. which 和 whereis 目的:查找命令或应用程序的所在位置** ```bash which pwd whereis pwd ``` **二、压缩命令:gzip、bzip2与tar的组合** **1. 压缩单个文件** ```bash gzip -k source_filename.extension ``` **2. 解压单个文件** ```bash gzip -d source_filename.extension ``` **3. 压缩多个文件和目录** ```bash tar czvf archive.tar.gz directory1 directory2 ``` **4. 查看压缩文件** ```bash tar -zvf archive.tar.gz ```

正文

一、命令1: find、grep、file、which、whereis

1、find

目的:查找符合条件的文件

 

1)在哪些目录中查找

2)查找的内容

 

格式: find 目录名 选项 查找条件

 

举例:

1)find /work -name "test1.txt"

说明:

  • /work              指明了查找的路径
  • -name            表明以名字来查找文件
  • "test1.txt"       指明查找名为test1.txt的文件

同理:

find /work -name "dira"

查找指定目录 /work下面是否存在dira这个目录,dira是目录名。

 

注意:

1)如果没有指定查找目录,则为当期目录。

2)find的高级用法,如查找最近几天(几个小时)期间有变动的文件。如:

find /home -mtime -2        查找/home目录下两天内有变动的文件

 

 

2、grep

目的:使用grep命令来查找文件中符合条件的字符串

格式:grep [选项] [查找模式] [文件名]

 

查找字符串时希望显示如下内容:

1)所在文件名——grep 查找时默认已经显示目标文件名

2)所在行号——使用-n选项

 

grep -rn "字符串" 文件名

r(recursive):递归查找

n(number):显示目标位置的行号

字符串:要查找的字符串

文件名:要查找的目标文件,如果是*则表示查找当前目录下的所有文件和目录

 

举例:

grep -n "abc" test1.txt 在test1.txt中查找字符串abc

grep -rn "abc" * 在当前目标递归查找字符串abc

 

注意:

1)可以加入-w全字匹配。

 

 

3、file

目的:识别文件类型

格式: file 文件名

 

举例:

file ~/.bashrc 为ASCII编码的text类型

file ~/.vimrc 为UTF-8 Unicode 编码的text类型

file ~/Pictures/* 如图形文件JPEG/PNG/BMP 格式

file ~/Project/ 为directory表明这是一个目录

file /bin/pwd 出现 ELF 64-bit LSB executable, 即为ELF格式的可执行文件

file /dev/* 出现character special(字符设备文件)、block special(块设备文件)等

 

 

4、which和whereis

目的:查找命令或应用程序的所在位置

格式:which 命令名 / 应用程序名

 

在终端上执行pwd实际上是去执行了/bin/pwd

 

举例:

which pwd 定位到/bin/pwd

which gcc 定位到/user/bin/gcc

whereis pwd 查找到可执行程序的位置/bin/pwd和手册页的置/usr/share/man/man1/pwd.1.gz

 

 

二、压缩命令:gzip、bzip2与tar的组合

1、压缩的概念

1)压缩的目的:

在网络传递文件时,可以先将文件压缩,然后传递压缩后的文件,从而减少网络带宽。

接受者接受文件后,解压即可。

2)压缩的类型:有损压缩、无损压缩。

 

2、linux下常用的压缩命令(无损压缩)

摘要:

单个文件的压缩(解压)使用gzip和bzip2

多个文件和目录使用tar

 

gzip的常用选项

-l(list) 列出压缩文件的内容

-k(keep) 在压缩或解压时,保留输入文件

-d(decompress) 将压缩文件进行解压缩

 

1)查看

gzip -l 压缩文件名

比如:gzip -l pwd.1.gz

 

2)解压

gzip -kd 压缩文件名

比如:gzip -kd pwd.1.gz

该压缩文件是以.gz结尾的单个文件

 

3)压缩

gzip -k 源文件名

比如:gzip -k mypwd.1

得到一个以.gz结尾的压缩文件

 

注意:

1)如果gzip不加任何选项,此时为压缩,压缩完该文件会生成后缀为.gz的压缩文件,

并删除原有的文件,所以说,推荐使用gzip -k 来压缩源文件

2)相同的文件内容,如果文件名不同,压缩后的大小也不同。

3)gzip只能压缩单个文件,不能压缩目录

 

 

bzip2来压缩单个文件

bzip2的常用选项

-k(keep) 在压缩或解压时,保留输入文件。

-d(decompress) 将压缩文件进行解压缩

 

1)压缩

bzip2 -k 源文件名

比如:bzip2 -k mypwd.1

得到一个.bz2后缀的压缩文件

 

2)解压

bzip2 -kd 压缩文件名

bzip2 -kd mypwd.1.bz2

 

注意:

1)如果bzip2不加任何选项,此时为压缩,压缩完该文件会生成后缀为.bz2的压缩文件,

并删除原有文件,所以说,推荐使用bzip2 -k 来压缩源文件

2)bzip2只能压缩单个文件,不能压缩目录

 

单个文件的压缩使用gzip或bzip2

压缩有两个参数:1)压缩时间 2)压缩比

一般情况下,小文件使用gzip来压缩,大文件使用bzip2来压缩

 

 

//========================================================

gzip、bzip2只能对一个文件进行压缩,而不能对多个文件和目录进行压缩。

所以需要tar来对多个目录、文件进行打包和压缩

 

tar常用选项

-c(create) : 表示创建,用来生成文件包

-x(extract) : 表示提取,从文件包中提取文件

-t :                    可以查看压缩的文件

-z :                   使用gzip方式进行处理,它与“c”结合就表示压缩,与“x”结合就表示解压缩。

-j :                    使用bzip2方式进行处理,它与“c”结合就表示压缩,与“x”结合就表示解压缩。

-v(verbose) : 详细报告tar处理的消息

-f(file) :          表示文件,后面接着一个文件名

-c <指定目录> : 解压到指定目录

 

 

1. tar打包、gzip压缩

1)压缩

tar -czvf 压缩文件名 目录名

如:tar czvf dira.tar.gz dira

注意:

tar -czvf 与 tar czvf 是一样的效果。

 

2)查看

tar tvf 压缩文件名

如:tar tvf dira.tar.gz

 

3)解压

tar xzvf 压缩文件名

tar xzvf 压缩文件名 -c 指定目录

如:tar xzvf dira.tar.gz 加压当前目录

如:tar xzvf dira.tar.gz -c /home/book 解压到/home/book

 

2、tar打包、bzip2压缩

1)压缩

tar cjvf 压缩文件名 目录名

如:tar cjvf dira.tar.bz2 dira

 

2)查看

tar tvf 压缩文件名

如:tar tvf dira.tar.bz2

 

3)解压

tar xjvf 压缩文件名

tar xjvf 压缩文件名 -c 指定目录

如:tar xjvf dira.tar.bz2 解压到当前目录

tar xjvf dira.tar.bz2 -c /home/book 解压到/home/book

 

 

文章知识点与官方知识档案匹配,可进一步学习相关知识
CS入门技能树Linux实用命令grep命令29094 人正在系统学习中

与[转帖]记录几个常用linux命令的使用方法——find、grep、file、which、whereis和压缩命令gzip、bzip2、tar相似的内容:

[转帖]记录几个常用linux命令的使用方法——find、grep、file、which、whereis和压缩命令gzip、bzip2、tar

一、命令1: find、grep、file、which、whereis 1、find 目的:查找符合条件的文件 1)在哪些目录中查找 2)查找的内容 格式: find 目录名 选项 查找条件 举例: 1)find /work -name "test1.txt" 说明: /work 指明了查找的路径-

[转帖]JVM监控及诊断工具-命令行

https://www.cnblogs.com/xiaojiesir/p/15622372.html 性能指标 停顿时间(响应时间) 提交请求和返回响应之间使用的时间,一般比较关注平均响应时间 常用操作的响应时间列表: 操作 响应时间 打开一个站点 几秒 数据库查询一条记录(有索引) 十几毫秒 机械

[转帖]JS常见加密 AES、DES、RSA、MD5、SHAI、HMAC、Base64 - Python/JS实现

https://bbs.huaweicloud.com/blogs/386139 【摘要】 本文仅仅介绍了常见的一些JS加密,并记录了JS和Python的实现方式 常见的加密算法基本分为这几类: (1)base64编码伪加密 (2)线性散列算法(签名算法)MD5 (3)安全哈希算法 SHAI (4)

[转帖]耗时几个月,终于找到了JVM停顿十几秒的原因

https://www.cnblogs.com/codelogs/p/16060792.html 简介# 最近我们系统出现了一些奇怪的现象,系统每隔几个星期会在大半夜重启一次,分析过程花费了很长时间,令人印象深刻,故在此记录一下。 第一次排查# 由于重启后,进程现场信息都丢失了,所以这个问题非常难以

[转帖]InnoDB表聚集索引层高什么时候发生变化

导读 本文略长,主要解决以下几个疑问 1、聚集索引里都存储了什么宝贝 2、什么时候索引层高会发生变化 3、预留的1/16空闲空间做什么用的 4、记录被删除后的空间能回收重复利用吗 1、背景信息 1.1 关于innodb_fill_factor 有个选项 innodb_fill_factor 用于定义

[转帖]记一次flannel网络调整

https://www.jianshu.com/p/a772e4b951f2 背景 最近给一个子公司部署一套k8s集群,集群搭建完之后有几个新需求需要新增几个node节点,在新增节点时发现添加失败,经过查询发现是网络规划问题导致。 flannel启动失败,报错信息如下:Error registeri

[转帖]perf学习-linux自带性能分析工具

目前在做性能分析的事情,之前没怎么接触perf,找了几篇文章梳理了一下,按照问题的形式记录在这里。 方便自己查看。 什么是perf? linux性能调优工具,32内核以上自带的工具,软件性能分析。在2.6.31及后续版本的Linux内核里,安装perf非常的容易。 几乎能够处理所有与性能相关的事件。

[转帖]perf学习-linux自带性能分析工具

目前在做性能分析的事情,之前没怎么接触perf,找了几篇文章梳理了一下,按照问题的形式记录在这里。 方便自己查看。 什么是perf? linux性能调优工具,32内核以上自带的工具,软件性能分析。在2.6.31及后续版本的Linux内核里,安装perf非常的容易。 几乎能够处理所有与性能相关的事件。

[转帖]Linux Storage Stack Diagram - Linux I/O系统

https://www.cnblogs.com/xuyaowen/p/linux-io-system.html 今天看到一篇文章,其中有几张图很有意思,进行记录一下,我相信如果你对IO子系统有初步了解的话,将会有一些收获: Linux 存储栈:涉及比较全面,分为文件系统层,块层,设备层三层; 对上图

[转帖]金仓数据库KingbaseES V8R6 中unlogged表

KingbaseESV8R6有一种表称为unlogged,在该表新建的索引也属于unlogged。和普通表的区别是,对该表进行DML操作时候不将该表的变更记录变更写入到wal文件中。在数据库异常关机或者异常崩溃后该表的数据会被truncate掉,但是在写入性能上会比普通表快几倍。 这个特性类似于or