如何修改linux文件生成日期,我如何更改文件的修改/创建日期?
问题描述
有没有办法改变文件被修改/创建的日期(在Nautilus中或者用ls -l命令显示)?理想情况下,我正在寻找一个命令,可以将一大堆文件的日期/时间戳更早或更晚(例如+8小时或-4天等)更改为一定的时间。
最佳解决方法
您可以使用touch命令更改文件的修改时间:
touch filename
默认情况下,这会将文件的修改时间设置为当前时间,但有多个标志,例如-d标志选择特定日期。因此,例如,要将文件设置为在当前两小时前修改,可以使用以下内容:
touch -d "2 hours ago" filename
如果你想修改相对于其现有修改时间的文件,下面应该做的诀窍:
touch -d "$(date -R -r filename) - 2 hours" filename
如果你想修改大量的文件,你可以使用以下内容:
find DIRECTORY -print | while read filename; do
# do whatever you want with the file
touch -d "$(date -R -r "$filename") - 2 hours" "$filename"
done
您可以将参数更改为find以仅选择您感兴趣的文件。如果您只想更新相对于当前时间的文件修改时间,则可以将其简化为:
find DIRECTORY -exec touch -d "2 hours ago" {} +
这种形式对于文件时间相对版本来说是不可能的,因为它使用shell来形成touch的参数。
就创建时间而言,大多数Linux文件系统不会跟踪此值。有一个与文件关联的ctime,但它跟踪文件元数据上次更改的时间。如果文件从未更改权限,则可能会碰巧创建时间,但这是巧合。明确更改文件修改时间将作为元数据更改进行计数,因此也会更新ctime的副作用。
次佳解决方法
谢谢您的帮助。这对我有效:
在终端中转到date-edit的目录。然后键入:
find -print | while read filename; do
# do whatever you want with the file
touch -t 201203101513 "$filename"
done
在您输入完成后,您将看到”>”,最后一次免除 – > “done”。
注意:您可能需要更改”201203101513″
“201203101513” =是此目录中所有文件的所需日期。
第三种解决方法
最简单的方式 – 访问和修改将是相同的:
touch -a -m -t 201512180130.09 fileName.ext
哪里:
-a = accessed
-m = modified
-t = timestamp - use [[CC]YY]MMDDhhmm[.ss] time format
如果你想使用NOW,只需删除-t和时间戳。
验证它们都是一样的:stat fileName.ext
第四种方法
Touch可以单独引用文件的日期,不需要调用date或使用命令替换。以下是touch的信息页面:
`-r FILE' `--reference=FILE'
Use the times of the reference FILE instead of the current time.
If this option is combined with the `--date=TIME' (`-d TIME')
option, the reference FILE's time is the origin for any relative
TIMEs given, but is otherwise ignored. For example, `-r foo -d
'-5 seconds'' specifies a time stamp equal to five seconds before
the corresponding time stamp for `foo'. If FILE is a symbolic
link, the reference timestamp is taken from the target of the
symlink, unless `-h' was also in effect.
例如,为文件的日期添加8个小时(文件名为file,以便在空格等情况下引用):
touch -r "file" -d '+8 hour' "file"
对当前目录中的所有文件使用循环:
for i in *; do touch -r "$i" -d '+8 hour' "$i"; done
我听说使用*并让for选择文件名本身更安全,但使用find -print0 | xargs -0 touch ...应该可以处理大多数疯狂的字符,例如换行符,空格,引号和文件名中的反斜杠。 (PS。首先尽量不要在文件名中使用疯狂的字符)。
例如,要查找thatdir中文件名以s开头并将一天添加到那些文件的修改时间戳的所有文件,请使用:
find thatdir -name "s*" -print0 | xargs -0 -I '{}' touch -r '{}' -d '+1 day' '{}'
第五种方法
这个小脚本至少适用于我
#!/bin/bash
# find specific files
files=$(find . -type f -name '*.JPG')
# use newline as file separator (handle spaces in filenames)
IFS=$'\n'
for f in ${files}
do
# read file modification date using stat as seconds
# adjust date backwards (1 month) using date and print in correct format
# change file time using touch
touch -t $(date -v -1m -r $(stat -f %m "${f}") +%Y%m%d%H%M.%S) "${f}"
done
参考资料
如何修改linux文件生成日期,我如何更改文件的修改/创建日期?相关推荐
- 自动修改linux下/etc/sysconfig/network-scripts/ifcfg-ethX网卡文件的脚本
此脚本修改linux下/etc/sysconfig/network-scripts/ifcfg-ethX网卡文件中的网卡一.网卡二的IP地址(IPADDR).子网掩码(NETMASK)信息 #!/bi ...
- U盘加背景图片,改图标,修改字体颜色,把文件夹变彩色,更改文件夹背景
U盘加背景图片,改图标,修改字体颜色,把文件夹变彩色,更改文件夹背景 改图标: 1.首先选择一个你喜欢的图标,图标的扩展名是:ico. 2.将这个图标文件拷到U盘,并在U盘中新建一个文本文档. 3.在 ...
- 如何更改文件夹的图标!如何更改文件的图标!
在windows系统下,怎样使自己的 文件夹/ 文件 等东西,的图标,变的好看. 怎么更改文件夹的图标!如何更改文件的图标! 呵呵 先怎么更改文件夹的图标! 有时候文件夹太多了,想要找到哪个程序的文 ...
- Macbook 终端Terminal下如何查看文件生成日期和修改日期
有时候在用vim命令修改配置文件时,不确定是否被修改,为了与旧版本比较,最好查一下文件生成和修改日期,方法如下: $ GetFileInfo my_file.py file: "/Users ...
- ESP32 bin文件生成及多个bin文件合并指南
文章目录 1. 前言 2. 硬件及分区表 3. 编译 4. 烧录 4.1 使用 idf flash 命令烧录 4.2 使用 Flash Download Tools 工具烧录 4.3 Flash Do ...
- python的.py文件生成可运行的exe文件
使用PyInstaller生成可运行的exe文件 使用第三方库PyInstaller实现.py文件快速生成exe文件可执行文件 (cmd命令行)pyinstaller -F <文件名.py> ...
- pb文件生成java类,根据proto文件生成pb和pb_service文件
假如有一个HelloWorld.proto文件,内容如下: syntax = "proto3"; option java_package = "ex.grpc" ...
- android 阻止文件生成方法,禁止软件创建文件夹 禁止创建文件夹
安卓 怎么阻止软件在文件夹中创建文件 首先说明,Android软件之所以会在文件夹中创建文件,大多数是为了做软件缓存,防止反复的从服务器读取数据,照成用户流量浪费,如果强制的阻止可能会让软件报错. 一 ...
- C#如何实现XML文件生成和读取,XML文件的打开方式,解决方案!!!!!!
以前对XML文件没什么了解,觉得很神奇,其实C#中的XML文件一般就是你们项目下的配置文件,由根节点和子节点组成. 接下来给大家说说XML文件最基础的读取和生成! 以下为C#程序XML文件生成的控制台 ...
最新文章
- JVM年轻代,老年代,永久代详解
- mysql 代理作业_查看SQLServer 代理作业的历史信息
- 使用Data Profile进行数据剖析
- ubuntu16.04输入密码后返回登录界面(反复登录问题+.Xauthority无法删除无法改权限问题)
- 是时候静下心来学点东西了
- python中的def语句_Python def 函数
- c++ stl stack_C ++ STL中的stack :: top()函数
- vga/dvi/hdmi/dp
- 利用膨胀和腐蚀获取图像边缘 matlab实现
- 技术不错的我去面试大厂,5分钟,就被秒了!憋屈~
- FORTAN中一个表达式多行
- 项目操作案例丨西门子PLC通过网关连接ACS800变频器
- IDEA常用快捷键总结
- charts漏斗图表_用echarts写的转换率图表(漏斗图 + 象形柱图)
- 清华月赛 大吉大利晚上吃鸡题解
- KubeSphere DevOps 流水线入门指南
- 泰坦尼克号第n遍重温泪点
- 对京东商品评论进行词频统计并制作词云
- 汇编 SHL指令和SHR指令
- 如何中文下使用英文标点,但是保留逗号句号。
热门文章
- realplayer java,在网页中使用realplayer播放rm文件
- 小猿日记(7) - 招标会议篇
- fiddler抓包工具:生成证书
- gappproxy教育网代理
- 高校房产管理系统有哪些功能?
- 【dsPIC33E】内部Flash读写
- python下载第三方库的时候报错ERROR: Command errored out with exit status 1: python setup.py egg_info Check the
- uboot源码下载以及编译
- 十款被人忽视的堪称神器的软件【纯干货】
- 如何重建深层神经网络的可塑性?