Linux培训
达内IT学院

400-111-8989

Linux系统之进阶命令详解

  • 发布:韦东山
  • 来源:百问科技
  • 时间:2018-04-26 16:56

Linux系统之进阶命令详解

经常关注达内官网的小伙伴们可能都知道在之前小编给大家介绍了很多关于Linux系统命令的文章了,其中有一篇是Linux系统之入门命令的详解,今天小编将为大家带来这篇文章的后续,进阶命令的详解,想要继续学习Linux的小伙伴来看一看吧。

1.  find查找文本

我们在Windows中搜索文件,一般查找文件需要传入两个条件:

1)在那些目录中查找;

2)查找的内容;

在Linux中,查找文件的也需要这两个条件,不同于Windows使用搜索框查找,Linux中使用 find 命令查找文件。

find 命令:

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

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

举例1:

find /work/001_linux_basic/dira/ -name "test1.txt"

说明:

a)/work/001_linux_basic/dira/指明了查找的路径

b)-name 表明以名字来查找文件

c)"test1.txt" 指明查找名为test1.txt的文件

举例2:

find /work/001_linux_basic/dira/ -name "*.txt"

说明:

a)查找指定目录下面所以以.txt结尾的文件,其中*是通配符。

举例3:

find /work/001_linux_basic -name "dira"

说明:

a)查找指定目录下面是否存在dira目录,dira是目录名。

注意:

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

find . -name "*.txt" 其中.代表当前路径

find -name "*.txt" 没加路径,默认是当前路径下查找

2)find还有一些高级的用法,如查找最近几天(几个小时)之内(之前)有变动的文件

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

2._ grep查找字符串

grep 命令:

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

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

假设dira目录的test1.txt 和 dirb目录的test1.txt都含有如下内容:

aaa

AAAAAA

abc

abcabcabc

cbacbacba

match_pattern

nand->erase

通过查找字符串,希望显示如下内容:

· 所在的文件名—-grep查找时默认已经显示目标文件名

· 所在的行号——使用-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 文件名

在Linux中有一个非常重要的观点:”’Linux下一切皆文件”’。

举例:

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

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

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

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

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

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

4._ which和whereis查看命令所在位置

which 和 whereis 命令:

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

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

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

举例:

which pwd 定位到/bin/pwd

which gcc 定位到/usr/bin/gcc

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

5.__gzip和bzip2单个文件的压缩和解压

· 压缩的目的:

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

· 压缩的类型

有损压缩、无损压缩:

a)有损压缩:如mp4视频文件,即使压缩过程中,减少了很多帧的数据,对观看者而言,也没有影响。当然mp3音乐文件也是有损压缩。 b)无损压缩:如普通文件的压缩,为了保证信息的正确传递,不希望文件经过压缩或解压后,出现问题。后面讲解的都是无损压缩。

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只能压缩单个文件,不能压缩目录。

提示:

man pwd会解压/usr/share/man/man1/pwd.1.gz这个文件,

然后读取该文件中固定的格式的一些信息,然后显示到终端中。

· 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来压缩”’。

比如:

mypwd.1源大小是1477字节,

gzip压缩后mypwd.1.gz是877字节,

bzip2压缩后mypwd.1.bz2是939字节。

myls.1源文件大小7664字节,

gzip压缩后myls.1.gz是3144字节,

bzip2压缩后myls.1.bz2是3070字节。

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

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

tar常用选项

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

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

-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

以上就是小编今天为大家介绍的关于Linux系统进阶命令的详解,喜欢Linux操作系统的小伙伴们,这篇文章是否对你有帮助呢?如果你喜欢小编分享的文章,欢迎关注达内Linux官网,这里有更多关于Linux的信息哦~愿你能成为一名优秀的Linux运维工程师。

【免责声明:本文图片及文字信息均由小编转载自网络,旨在分享提供阅读,版权归原作者所有,如有侵权请联系我们进行删除。】

预约申请免费试听课

填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:Linux命令中grep命令的常见用法说明
下一篇:为你介绍一些Linux系统的小知识

学物联网工程好就业吗?

图像算法工程师发展前景

大数据运维工资一般多少?

运维工程师经常加班吗?

  • 扫码领取资料

    回复关键字:视频资料

    免费领取 达内课程视频学习资料

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省