Linux 时间类、查找文件类、压缩类命令

一、时间类命令

  • 1. date
    显示日期

date 显示日期

设置日期(必须有 root 权限):date -s 11/03/2018(默认 00:00:00)

date 设置日期

更多格式如下:

1
2
3
4
5
6
date -s 10:59:59      # 设置当天的时间
# 设置具体的时间
date -s "10:59:59 2018-11-03"
date -s "10:59:59 20181103"
date -s "2018-11-03 10:59:59"
date -s "20181103 10:59:59"
  • 2. cal
    显示日历

cal 日历命令

二、搜索查找类命令

  • 1. find
    find [目录] [搜索方式] 名称:在某个目录下以某种方式进行递归的搜索(从硬盘中查找,默认为当前目录)。其中搜索方式有如下几种:
    -name:按照指定文件名查找文件。
    -user:查找属于指定用户名所拥有的文件。
    -size:按照文件大小来查找文件。
    例如:

find 查找文件

  • 2. locate
    locate 文件:从数据库中查找,不是从硬盘中查找,不需要遍历整个文件系统,速度比较快,但是不一定是实时结果。为了保证查询准确的,必须经常更新 locate

  • 3. | 与 grep
    grep 可以用于过滤查找,| 可以将前一个命令的结果输出,放到后面的命令去使用

grep 过滤查找

  • 4. whereis
    也是从数据库中查找文件,只能用于程序名的搜索,而且只搜索二进制文件(参数 -b)、man 说明文件(参数 -m)和源代码文件(参数 -s)

whereis 查找命令

  • 5. which
    which 是通过 PATH 环境变量到该路径内查找可执行文件,所以基本的功能是寻找可执行文件。

which 查找可执行文件

注意 当我们用 whereis 和 locate 无法查找到我们需要的文件时,可以使用 find,但是 find 是在硬盘上遍历查找,因此非常消耗硬盘的资源,而且效率也非常低,因此建议大家优先使用 whereis 和 locate。

搜索命令对比

命令搜索位置速度实时性适用场景
find硬盘遍历慢实时精确查找文件,按条件搜索
locate数据库快非实时快速模糊查找文件名
whereis数据库快非实时查找可执行文件、man 文档、源码
whichPATH 环境变量快实时查找可执行文件路径
grep文件内容中实时按内容模式匹配过滤

三、压缩类命令

  • 1. gzip、gunzip
    gzip:压缩文件(*.gz)
    gunzip:解压缩命令(*.gz)
    注:不会保留原文件,只能在压缩或者解压到当前目录。

gzip 压缩文件

  • 2. zip、unzip
    zip:用于压缩文件(*.zip)-r 参数,用于递归压缩整个目录
    unzip:用于解压文件(*.zip)-d 参数,用于指定解压的目录
    在做项目打包时很有用。

zip 压缩文件

unzip 解压文件

  • 3. tar
    tar 是 Linux 中的打包命令,打包和压缩是两个不同的概念,打包指的是将多个文件或目录打包成一个文件,而压缩指的是将大文件通过某个算法压缩成一个小文件,方便节省硬盘存储和网络中传输。在 Linux 中很多压缩命令只能针对一个文件进行压缩,所以在压缩多个文件目录时,我们得先进行打包(tar),然后再进行压缩(gzip、bzip2)。
    注:tar 本身不具备压缩功能,他是调用压缩命令来实现压缩功能的。
    参数如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
-c   创建打包文件
-x 解压打包文件
-t 显示 tar 包中的文件列表
-z 使 tar 指令具有 gzip 指令的功能,可以创建时打包文件进行压缩,解包时进行解压缩
-Z 使 tar 指令具有 compress 指令的功能,可以创建时打包文件进行压缩,解包时进行解压缩
-j 使 tar 指令具有 bzip2 指令的功能,可以创建时打包文件进行压缩,解包时进行解压缩
-v 显示打包的详细过程
-f 指定 tar 包文件名
-p 保留原文件的原始属性
-P 打包文件时使用绝对路径
-C 指定解包路径
-N<date> 打包新文件,仅打包比指定日期更新的文件
--exclude<flie> 指定打包时忽略的文件

打包并用 gzip 压缩文件(可打包多个文件)

tar 打包压缩文件

打包并用 gzip 压缩目录

tar 打包压缩目录

解包并解压缩 .tar.gz 文件

tar 解包解压缩

tar 解包指定目录

注:指定目录时,要存在有此目录,否则会报错。

tar 命令速查

操作命令说明
打包 .tartar -cvf archive.tar dir/仅打包不压缩
打包压缩 .tar.gztar -zcvf archive.tar.gz dir/使用 gzip 压缩
打包压缩 .tar.bz2tar -jcvf archive.tar.bz2 dir/使用 bzip2 压缩
解包 .tartar -xvf archive.tar解包到当前目录
解压 .tar.gztar -zxvf archive.tar.gz解压到当前目录
解压到指定目录tar -zxvf archive.tar.gz -C /target/-C 指定目标路径
查看包内容tar -tvf archive.tar仅查看不解包