linux文件日期
① linux 如何用zip 打包目录下指定日期内的文件
在Linux系统中,利用zip命令对指定目录下的文件进行打包是一项常见的任务。通常情况下,我们需要打包的文件具有特定的时间范围。比如,仅打包2010年12月内的文件。首先,我们需要指定要操作的目录,可以是相对路径也可以是绝对路径。这里假设我们要操作的目录名为file/,我们使用ll命令列出该目录下的文件信息。
接着,我们需要筛选出2010年12月内的文件。这里我们利用grep命令两次筛选,第一次通过grep 2010过滤出2010年的文件,第二次通过grep Dec进一步筛选出12月的文件。为了将这些文件的名称提取出来,我们使用gawk命令处理输出结果,提取出第九列的内容,即文件名。
最后一步是使用zip命令将筛选出的文件打包。这里我们使用-r选项递归打包指定目录下的文件,生成的压缩文件名为201012.zip。整个打包命令可以写作:zip -r 201012.zip `ll files/|grep 2010|grep Dec|gawk '{print $9}'`。
通过这种方法,我们可以高效地实现对特定时间范围内文件的打包操作。值得注意的是,在执行上述命令前,确保安装了zip工具,并且有权限访问指定目录及其文件。
若需要进一步处理特定月份的文件,可以调整grep命令中的筛选条件。例如,若要打包2010年11月的文件,只需将Dec替换为Nov即可。这种方式不仅适用于2010年,还可以用于其他年份,只需修改grep命令中的年份数字即可。
通过这种方式打包文件,可以有效管理文件,方便后续的备份或传输工作。同时,这种方式也适用于其他时间范围的文件筛选,只需调整命令中的日期条件即可实现。
② 在Linux中如何查看文件的修改日期
在Linux中,查看文件的修改日期有多种方法,以下是几种常用的方式:
使用”stat”命令:
- 输入stat filename,可以显示文件的详细信息,包括访问日期和修改日期。
- 若仅需查看修改日期,可使用c选项配合%y标志,即stat c '%y' filename,这样可以只显示文件的最后修改日期,同样适用于文件夹。
使用”date”命令:
- 输入date r filename,可以直接显示文件的最后修改时间。
使用”ls l”命令结合”t”选项:
- 输入ls lt,可以列出长格式的文件信息,并按照修改日期进行排序,最新的文件会排在最前面。
对于网络文件:
- 首先确保安装了httpie工具。在CentOS/RHEL系统中,使用pip install httpie安装;在Ubuntu/Deepin/Debian系统中,使用sudo aptget install httpie安装。
- 安装完毕后,可以通过httpie命令查看网络上文件的修改时间,例如httpie https://www.example.com/file.png,将file.png替换为实际文件地址即可。
这些方法提供了灵活多样的手段来查看Linux系统中文件的修改日期,无论是本地文件还是网络文件,都能轻松应对。
③ 在Linux中如何查看文件的修改日期
有时候可能需要检查有关文件的详细信息,例如文件的修改日期。当你要检查文件的最后编辑时间时,本文可能会派上用场。在本文将学习4种方法查看文件的修改日期。
使用stat 命令
stat 命令 可以显示文件属性的详细信息,比如最近一次访问和修改文件的时间、文件大小等信息,使用起来比较简单,命令后面只需要加上文件名就可以:
[root@localhost ~]# stat hello_script.sh
File: ‘hello_script.sh’
Size: 31 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 67169379 Links: 1
Access: (0755/-rwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2020-10-15 19:13:24.628009932 +0800
Modify: 2020-10-15 19:07:18.266426499 +0800
Change: 2020-10-15 19:11:48.227856412 +0800
Birth: -
从上面的输出中,我们可以看到文件的访问日期、文件的修改日期、文件权限的修改日期以及其他参数。
如果只希望查看文件的修改日期,而不考虑所有其他信息,运行以下命令:
[root@localhost ~]# stat -c %y hello_script.sh
2020-10-15 19:07:18.266426499 +0800
-c选项用于指定自定义格式代替默认的输出,而'%y'标志显示上次修改时间。对于文件夹,语法保持不变。只需将文件名替换为文件夹名称即可。
使用date命令
date命令的用法是显示当前日期。但是当与-r选项一起使用时,可以显示文件的最后修改日期,如下所示:
[root@localhost ~]# date -r hello_script.sh
Thu Oct 15 19:07:18 CST 2020
使用ls -l命令
ls -l命令通常用于使用长列表显示有关文件的其他信息,例如文件权限和所有者,大小和创建日期。可以添加-t选项,这样就可以按照文件的修改时间来排列:
[root@localhost ~]# ls -lt
或者
[root@localhost ~]# ll -t
total 288
drwxr-xr-x. 2 root root 177 Oct 16 14:36 b
drwxr-xr-x. 2 root root 177 Oct 16 14:36 a
-rwxr-xr-x. 1 root root 119 Oct 15 19:20 backup_script.sh
-rwxr-xr-x. 1 root root 31 Oct 15 19:07 hello_script.sh
-rw-r--r--. 1 root root 227 Oct 13 16:39 content.txt
-rw-r--r--. 1 root root 277159 Oct 12 14:37 a.txt
drwxr-xr-x. 2 root root 195 Aug 6 14:12 Files
-rw-------. 1 root root 1284 Dec 29 2019 anaconda-ks.cfg
使用httpie工具
另一种检查文件的修改日期的方法是使用httpie ,是HTTP命令行客户端工具。该工具通常用于与HTTP服务器和API交互,还可以检查驻留在web服务器上文件的修改时间。
首先需要确保安装了python的pip包管理工具,然后安装httpie工具:
在 Centos 7/RHEL7中,运行以下命令安装httpie:
[root@localhost ~]# yum -y install python-pip
[root@localhost ~]# pip install --upgrade pip
[root@localhost ~]# pip install httpie
在Ubuntu / Deepin / Debian中运行以下命令安装httpie:
$ sudo apt install httpie
安装完成之后,那么如何查看web服务器上文件的修改时间呢?语法如下:
http -h [url] | grep 'Last-Modified'
例如,从www. linux probe.com网站中,查看一张.png格式的图片修改时间:
[root@localhost ~]# http -h https://www.linuxprobe.com/wp-content/uploads/2020/06/6-1.png | grep -i 'Last-Modified'
Last-Modified: Fri, 05 Jun 2020 14:26:11 GMT
总结
在本文中,介绍了各种方法,可以使用这些方法列出文件的最后修改日期,甚至可以使用httpie工具列出web服务器上的文件的最后修改日期。