Linux操作(4)实用操作 - 时间、查找、解压缩

前言

上一篇:Linux操作(3)实用操作 - 文件目录类
继续熟悉Linux指令
对着敲一遍,能够更好的熟悉指令


目录

  1. 时间日期类
    1.1. 显示日历cal
    1.2. 时间date
  2. 搜索查找类
    2.1. find指令
    2.2. locate指令
    2.3. grep指令和管道符号|
  3. 压缩和解压类
    3.1. gzip/gunzip指令
    3.2. zip/unzip指令
    3.3. 打包指令tar

时间日期类

显示日历cal

calendar:日历

cal [选择]

当仅一个cal命令,表示当月日历,且标黑本日

在这里插入图片描述

选择为年份:cal 2019,显示一年的日历
在这里插入图片描述
选择某一月:cal 6 2019
在这里插入图片描述


时间date

date [选项]

date指令可以显示时间,也可以设置时间

选项参数:
-d datestr : 显示 datestr 中所设定的时间 (非系统时间)
-s datestr : 将系统时间设为 datestr 中所设定的时间
-u : 显示目前的格林威治时间
-r, --reference=文件          显示文件指定文件的最后修改时间
-R, --rfc-2822                以RFC 2822格式输出日期和时间

在这里插入图片描述
在这里插入图片描述
-d指令无法改变系统时间,需要-s(当然,只有拥有该权限的才能修改时间)
在这里插入图片描述

同步时间

如果想要同步网络时间,需要安装ntp

yum -y install ntpdate

通过ntpdate同步时间

安装好后
使用ntpdate -u 210.72.145.44会报错

在这里插入图片描述

处理,修改文件:

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ntpdate pool.ntp.org

在这里插入图片描述

时间同步成功

时间格式

显示时间不仅仅这样,通过设置标记可以显示不同格式的时间
在这里插入图片描述
%a : 星期几 (Sun…Sat)
%A : 星期几 (Sunday…Saturday)
%b : 月份 (Jan…Dec)
%B : 月份 (January…December)
%c : 直接显示日期与时间
%d : 日 (01…31)
%D : 直接显示日期 (mm/dd/yy)
等等》》菜鸟教程:Linux date指令

+号加上上面的格式就可以显示不同格式的时间
在这里插入图片描述
-号加上上面的格式,可以去掉0
但是关于-号的使用要注意:仅仅是在指定月、日、小时等具体的时间标记才会去掉0

在这里插入图片描述


搜索查找类

find指令

find [搜索范围] [选项]
find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \;

find指令将从指定目录向下递归遍历各个子目录,将满足条件的文件或目录显示在终端

-option有很多类型:

-name 按照指定文件名查找文件find path -name "name"
将当前文件夹下文件名为hello,无视后缀的文件找出:find . -name "hello.*"
记得要表示前缀后缀
在这里插入图片描述
-user 查找指定用户所有文件

find . -user "xm"

找到xm用户的所有文件
在这里插入图片描述

-size 按照指定的文件大小查找文件

find . -size 0;

找到/opt目录下所有大小为0的文件
在这里插入图片描述

-type 将该目录及子目录下所有文件列出
后面应该带有参数:-type c : 文件类型是 c 的文件。
d: 目录
c: 字型装置文件
b: 区块装置文件
p: 具名贮列
f: 一般文件
l: 符号连结
s: socket

find /opt -type f;

找到/opt目录下所有一般文件
在这里插入图片描述

-ctime 指定时间内更新过出文件列出

find . -ctime -10;

找到10天内/opt目录下更新过的文件
在这里插入图片描述

locate指令

locate 搜索文件

locaate指令可以快速定位文件路径
locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件,/var/lib/slocate资料库
Locate指令无需遍历整个文件系统,查询速度较快
为了保证查询结果的准确度,管理员必须定期更新locate时刻

如果事先没有创建资料库是没法查找的,所以再这个指令之前需要通过updatedb指令创建或更新命令所必需的数据库文件


grep指令和管道符号|

grep命令用于查找文件里符合条件的字符串

grep 过滤查找 , 管道符“|”表示将前一个命令的处理结果输出传递给后面的命令处理
两者配合可以用于搜索过滤得到期待的结果

grep [选项] 查找内容 源文件

选项有:
-a 或 --text : 不要忽略二进制的数据
-n 显示匹配行和行号
-c 或 --count : 计算符合样式的列数
-i 忽略字母大小写

grep -c public hello.java

找到hello.java文件里的public字符串,并计算列数
在这里插入图片描述
配合管道符号|

find . -name "hello.*" | grep public hello.*

找到/opt 文件夹下名称是“hello.*”后缀不限的文件,并找到这些文件夹里包含public的行

在这里插入图片描述


压缩和解压类

现如今有多种压缩技术,针对这些技术,有不同的指令

gzip/gunzip指令

专门针对.gz文件的指令

gizp [选项] 文件 (压缩文件成*.gz文件)
gunzip [选项] 文件 (解压.gz文件)

gzip、gunzip是个使用广泛的压缩、解压程序

常用选项有:
-l或–list  列出压缩文件的相关信息
-n或–no-name  压缩文件时,不保存原来的文件名称及时间戳记
-N或–name  压缩文件时,保存原来的文件名称及时间戳记
-q或–quiet  不显示警告信息
-r或–recursive  递归处理,将指定目录下的所有文件及子目录一并处理
在这里插入图片描述在这里插入图片描述

zip/unzip指令

zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具有".zip"扩展名的压缩文件
unzip对应的就是解压zip压缩文件的指令

zip [选项] 文件
unzip [选项] 文件

常用选项有:

-r 递归处理,将指定目录下的所有文件和子目录一并处理
-q 不显示指令执行过程

但是要注意的是,zip不是内置的,需要先安装zip程序

在这里插入图片描述

yum安装zip和unzip

yum install zip
yum install unzip
zip hello.java

zip与gzip不同,它会保存原文件,且要自定义压缩文件名(*.zip),显示压缩过程

在这里插入图片描述
而解压unzip:unzip b.txt.zip
在这里插入图片描述
解压后产生的文件如果有同名会提醒是否替代
而且解压后并不会删除zip文件
在这里插入图片描述

需要知道gzip和zip两种压缩方式:

  • gzip为高压,可以把文件压缩得更小,便于放网盘或者网上供人下载;gzip是Linux下面用的格式,一般在Linux下解压,如果用Windows下的程序解压有可能丢失其中某些文件或属性,普遍使用的是zip压缩,Windows系统下就用zip

打包指令tar

tar指令打包后的文件是.tar.gz文件,是Linux最常见的压缩包

tar [选项] 文件 打包内容

tar指令可以打包目录,也可以用来解压.tar、.tar.gz文件

通过不同的选项处理:

-c 产生.tar打包文件
-v 显示详细信息
-f 指定压缩后的文件名
-z 打包同时压缩
-x 解包.tar文件
-czvf 压缩为.tar.gz文件
-tzvf 列出压缩文件内容
-xzvf 解压.tar.gz文件

tar -czvf b.tar.gz b.txt

将b.txt压缩为b.tar.gz(可以自命名)
在这里插入图片描述
列出压缩文件内容

在这里插入图片描述

解压.tar.gz
在这里插入图片描述

解压后文件依然存在

gzip、zip、tar是最常用的三种压缩指令,分别压缩成相应的格式:.gz 、.zip 、.tar.gz
gzip和gunzip是在原文件上操作,而zip/unzip和tar是会复制一份文件
tar打包工具即能压缩,也能解压

发布了109 篇原创文章 · 获赞 31 · 访问量 7375

猜你喜欢

转载自blog.csdn.net/key_768/article/details/105029908