Linux的进阶命令

find

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

1)在那些目录中查找

2)查找的内容

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

 

举例:

1)find   / work / 001_linux_ basic / dira /     -name    "test1.txt"

说明:

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

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

  c)“test1 .txt ”,就指明查找名为test1 .txt的文件

同理:

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

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

  find    / work / 001_linux_basic    -name   "dira"

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

 

注意:

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

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

  find      -name     “ * . txt”     

  都是一样的功能

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

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

 

grep

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

格式: grep    【选项】     【查找模式】    【文件名】

 

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

aaa

AAAAAA

abc

abcabcabc

match_pattern

nand->erase

 

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

1)所在的文件名

2)所在的行号

 

grep    -rn      “字符串”      文件名

r(recursive):递归查找

n(number):现实目标位置的行号

字符串:是要查找的字符串

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

 

举例:

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

grep   -rn    “abc”    *                       在当前目录 递归查找字符串abc

 

注意:

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

 

file

目的:识别文件类型

格式:   file     文件名

 

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(块设备文件)等 

 

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

 

压缩

1、压缩的概念

1)压缩的目的:

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

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

 

2)压缩的类型

  有损压缩、无损压缩。

  a)有损压缩:

     如 mp4 视频文件,即使压缩过程中,减少了很多帧的数据,

   对观看者而言,也没有影响。当然 mp3 音乐文件也是有损压缩。

  b)无损压缩:

   如普通文件的压缩,为了保证信息的正确传递,

   不希望文件经过压缩或解压后,出现问题。

 

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

 

提示:

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不加任何选项,此时为压缩,压缩完该文件会生成后缀为 .gz 的压缩文件,

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

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

 

 

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

所以需要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

 

 

posted @ 2017-12-28 20:33  Liu_Jing  Views(253)  Comments(0Edit  收藏  举报