精华内容
下载资源
问答
  • Linux下日期删除文件
    2021-05-16 17:03:48

    1.

    find / -mtime +n -exec rm -rf {} ;

    2.

    find . -ctime +3 -type f | xargs rm -rf

    find相关参数

    参  数:

    -amin  查找在指定时间曾被存取过的文件或目录,单位以分钟计算。

    -anewer  查找其存取时间较指定文件或目录的存取时间更接近现在的文件或目录。

    -atime<24小时数>  查找在指定时间曾被存取过的文件或目录,单位以24小时计算。

    -cmin  查找在指定时间之时被更改的文件或目录。

    -cnewer  查找其更改时间较指定文件或目录的更改时间更接近现在的文件或目录。

    -ctime<24小时数>  查找在指定时间之时被更改的文件或目录,单位以24小时计算。

    -daystart  从本日开始计算时间。

    -depth  从指定目录下最深层的子目录开始查找。

    -expty  寻找文件大小为0 Byte的文件,或目录下没有任何子目录或文件的空目录。

    -exec  假设find指令的回传值为True,就执行该指令。

    -false  将find指令的回传值皆设为False。

    -fls  此参数的效果和指定"-ls"参数类似,但会把结果保存为指定的列表文件。

    -follow  排除符号连接。

    -fprint  此参数的效果和指定"-print"参数类似,但会把结果保存成指定的列表文件。

    -fprint0  此参数的效果和指定"-print0"参数类似,但会把结果保存成指定的列表文件。

    -fprintf  此参数的效果和指定"-printf"参数类似,但会把结果保存成指定的列表文件。

    -fstype  只寻找该文件系统类型下的文件或目录。

    -gid  查找符合指定之群组识别码的文件或目录。

    -group  查找符合指定之群组名称的文件或目录。

    -help或--help  在线帮助。

    -ilname  此参数的效果和指定"-lname"参数类似,但忽略字符大小写的差别。

    -iname  此参数的效果和指定"-name"参数类似,但忽略字符大小写的差别。

    -inum  查找符合指定的inode编号的文件或目录。

    -ipath  此参数的效果和指定"-ipath"参数类似,但忽略字符大小写的差别。

    -iregex  此参数的效果和指定"-regexe"参数类似,但忽略字符大小写的差别。

    -links  查找符合指定的硬连接数目的文件或目录。

    -iname  指定字符串作为寻找符号连接的范本样式。

    -ls  假设find指令的回传值为True,就将文件或目录名称列出到标准输出。

    -maxdepth  设置最大目录层级。

    -mindepth  设置最小目录层级。

    -mmin  查找在指定时间曾被更改过的文件或目录,单位以分钟计算。

    -mount  此参数的效果和指定"-xdev"相同。

    -mtime<24小时数>  查找在指定时间曾被更改过的文件或目录,单位以24小时计算。

    -name  指定字符串作为寻找文件或目录的范本样式。

    -newer  查找其更改时间较指定文件或目录的更改时间更接近现在的文件或目录。

    -nogroup  找出不属于本地主机群组识别码的文件或目录。

    -noleaf  不去考虑目录至少需拥有两个硬连接存在。

    -nouser  找出不属于本地主机用户识别码的文件或目录。

    -ok  此参数的效果和指定"-exec"参数类似,但在执行指令之前会先询问用户,若回答"y"或"Y",则放弃执行指令。

    -path  指定字符串作为寻找目录的范本样式。

    -perm  查找符合指定的权限数值的文件或目录。

    -print  假设find指令的回传值为True,就将文件或目录名称列出到标准输出。格式为每列一个名称,每个名称之前皆有"./"字符串。

    -print0  假设find指令的回传值为True,就将文件或目录名称列出到标准输出。格式为全部的名称皆在同一行。

    -printf  假设find指令的回传值为True,就将文件或目录名称列出到标准输出。格式可以自行指定。

    -prune  不寻找字符串作为寻找文件或目录的范本样式。

    -regex  指定字符串作为寻找文件或目录的范本样式。

    -size  查找符合指定的文件大小的文件。

    -true  将find指令的回传值皆设为True。

    -typ  只寻找符合指定的文件类型的文件。

    -uid  查找符合指定的用户识别码的文件或目录。

    -used  查找文件或目录被更改之后在指定时间曾被存取过的文件或目录,单位以日计算。

    -user  查找符合指定的拥有者名称的文件或目录。

    -version或--version  显示版本信息。

    -xdev  将范围局限在先行的文件系统中。

    -xtype  此参数的效果和指定"-type"参数类似,差别在于它针对符号连接检查。

    亿恩科技地址(ADD):郑州市黄河路129号天一大厦608室 邮编(ZIP):450008 传真(FAX):0371-60123888

    联系:亿恩小凡

    QQ:89317007

    电话:0371-63322206

    本文出自:亿恩科技【www.enkj.com】

    更多相关内容
  • Linux下修改文件创建时间(修改文件更改时间)进到要改的文件目录里find . -name “*” -exec touch ‘{}’ \;注:最后一定要加分号,{}外一定要加单引号,*表示所有的文件(. 代表当前目录下)如果只修改单个文件1.创建...

    Linux下修改文件创建时间(修改文件更改时间)

    进到要改的文件目录里

    find . -name “*” -exec touch ‘{}’ \;

    注:最后一定要加分号,{}外一定要加单引号,*表示所有的文件(. 代表当前目录下)

    如果只修改单个文件

    1.创建文件 touch tm //名字随便起

    2.touch -r tm

    liunx-2.6.30.4(要改的文件名)//就是把Linux-2.6.30.4文件的时间改为tm文件的时间

    如下是搜的

    使用权限:所有使用者

    使用方式:

    touch [-acfm]

    [-r reference-file] [--file=reference-file]

    [-t MMDDhhmm[[CC]YY][.ss]]

    [-d time] [--date=time]

    [--time={atime,access,use,mtime,modify}]

    [--no-create] [--help] [--version]

    file1 [file2 ...]

    说明:

    touch 指令改变档案的时间记录。 ls -l 可以显示档案的时间记录。

    参数:

    a 改变档案的读取时间记录。

    m 改变档案的修改时间记录。

    c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。

    f 不使用,是为了与其他 unix 系统的相容性而保留。

    r 使用参考档的时间记录,与 --file 的效果一样。

    d 设定时间与日期,可以使用各种不同的格式。

    t 设定档案的时间记录,格式与 date 指令相同。

    --no-create 不会建立新档案。

    --help 列出指令格式。

    --version 列出版本讯息。

    范例:

    最简单的使用方式,将档案的时候记录改为现在的时间。若档案不存在,系统会建立一个新的档案。

    touch file

    touch file1 file2

    将 file 的时间记录改为 5 月 6 日 18 点 3 分,公元两千年。

    时间的格式可以参考 date 指令,至少需输入 MMDDHHmm ,就是月日时与分。

    touch -c -t 05061803 file

    touch -c -t 050618032000 file

    将 file 的时间记录改变成与 referencefile 一样。

    touch -r referencefile file将 file 的时间记录改成 5 月 6 日 18 点 3

    分,公元两千年。

    时间可以使用 am, pm 或是 24 小时的格式,日期可以使用其他格式如 6 May 2000。

    ====================================================================================

    touch -d 和 date -s 的用法相同。如果没有指定日期,默认为系统日期

    touch -d 18:03 file

    touch -d "18:03" file

    touch -d "6:03pm" file

    如果没有指定时间,默认为 00:00:00

    touch -d 20000506 file

    touch -d "05/06/2000" file

    touch -d "20000506" filetouch -d "6:03pm 05/06/2000" file

    touch -d "20000506 18:03" file

    touch -d "20000506 18:03:00" file

    -------------&gt>注意:

    大家在使用find命令中的mtime参数时候,会看到官方的解释如下:

    -mtime n

    File's data was last modified n*24 hours ago.  See the comments for -atime to understand how rounding affects  the

    interpretation of file modification times.

    但是在各种参考的使用方式中有用+号,-号,不带符号的用法,那么这里又有什么区别呢?

    注意这里的n,如果n为带有+号的值,意思为删除n天前所有的文件,比如n=+1且今天是15号,那么删除14号以前的数据,不包括14号,如

    果是负号(n=-1)则为删除一天内的文件,比如今天15号,那么删除15号的数据,如果是(n=-2)则代表删除一天前到今天的所有数据,比如今天15

    号,那么从14号开始删除。如果不带有符号,那么则删除指定前n天中这一天的数据,比如(n=1)且今天是15号,则删除14号这一天所有数据。

    注意这里的一天是指当前时间算起的,而不是0-24小时算一天

    ------&gt>转载于:http://blog.sina.com.cn/s/blog_5f2ca1ed01015dby.html

    展开全文
  • 问题描述有没有办法改变文件被...最佳解决方法您可以使用touch命令更改文件修改时间:touch filename默认情况,这会将文件的修改时间设置为当前时间,但有多个标志,例如-d标志选择特定日期。因此,例如,要将文...

    问题描述

    有没有办法改变文件被修改/创建的日期(在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系统如何修改文件的时间

    千次阅读 2021-05-08 21:09:20
    Linux系统文件创建的时间并不是不能修改的,通过touch命令可以修改文件的时间,从而达到以假乱真的效果。下面就来介绍一下Linux系统如何修改文件的时间。关于touch命令的描述:-d, --date=STRINGparse STRING and ...

    Linux系统文件创建的时间并不是不能修改的,通过touch命令可以修改文件的时间,从而达到以假乱真的效果。下面就来介绍一下Linux系统如何修改文件的时间。

    关于touch命令的描述:

    -d, --date=STRING

    parse STRING and use it instead of current time

    87ae7fca88185a3052fccc7a0bef4cd6.png

    touch的参数说明:

    命令参数:

    -a 或--time=atime或--time=access或--time=use  只更改存取时间。

    -c 或--no-create  不建立任何文档。

    -d 使用指定的日期时间,而非现在的时间。

    -f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。

    -m 或--time=mtime或--time=modify  只更改变动时间。

    -r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。

    -t 使用指定的日期时间,而非现在的时间。

    --no-create 不会建立新档案。

    --help 列出指令格式。

    --version 列出版本讯息。

    此处就使用简单的修改文件时间。

    实例:将系统里某些文件修改为三个月前的时间:

    当前系统文件信息如下:

    [root@case test]# ls -l

    total 28

    drwxr-xr-x 2 root root 4096 Jan 9 15:47 1333

    -rwxrwxr-x 1 oracle oinstall 8143 Jan 9 14:41 3.sh

    drwxr-xr-x 2 root root 4096 Jan 9 15:49 444

    -rw-r--r-- 1 root root 0 Jan 9 14:41 4.sh

    -rwxr-xr-x 1 root root 8143 Jan 9 14:44 77.sh

    -rwxrwxr-x 1 root root 54 Jan 9 16:03 find.sh

    把所有的.sh文件修改到三个月前(2015年10月13)的时间。操作命令:

    [root@case test]# touch -d “10/13/2013” *.sh

    结果是:

    [root@case test]# ls -l

    total 28

    drwxr-xr-x 2 root root 4096 Jan 9 15:47 1333

    -rwxrwxr-x 1 oracle oinstall 8143 Oct 13 00:00 3.sh

    drwxr-xr-x 2 root root 4096 Jan 9 15:49 444

    -rw-r--r-- 1 root root 0 Oct 13 00:00 4.sh

    -rwxr-xr-x 1 root root 8143 Oct 13 00:00 77.sh

    -rwxrwxr-x 1 root root 54 Oct 13 00:00 find.sh

    另外也可以单独修改时间或者月份,如下

    以使用 am, pm 或是 24 小时的格式,日期可以使用其他格式如 6 May 2000 。

    touch -d “6:03pm” file

    touch -d “05/06/2000” file

    touch -d “6:03pm 05/06/2000” file

    以上就是Linux系统修改文件的时间的方法了,这样一来不管是用户查看,还是系统识别的文件的创建时间都可以被改成几个月以前的了。

    展开全文
  • 主要介绍了 Linux 判断文件修改时间和系统时间差的相关资料,需要的朋友可以参考
  • date -s 05/06/2013修改年月日为2013年5月6日, date -s 09:30:00设置系统时间为09:30:00,clock显示的为CMOS记录的...Linux下修改文件创建时间(修改文件更改时间)进到要改的文件目录里find . -name “*” -exec tou...
  • linux 更改日期格式

    2021-05-16 04:09:00
    Linux touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。ls -l 可以显示档案的时间记录。语法touch [-acfm][-d][-r] [-t][--help][--version][文件或目录...
  • 有时候可能需要检查有关文件的详细信息,例如文件修改日期。当你要检查文件的最后编辑时间时,本文可能会派上用场。在本文将学习4种方法查看文件修改日期
  • 代表当前目录) 如果只修改单个文件 ========================================================== touch -d 和 date -s 的用法相同。如果没有指定日期,默认为系统日期 touch -d 18:03 file touch -d “18:03” ...
  • 命令touch test.txt查看ll |grep test通过命令修改创建日期 如改为19年3月11的13:00命令touch -t 1903111300 test.textNAMEtouch - change file timestampsSYNOPSIStouch [OPTION]… FILE…DESCRIPTIONUpdate the ...
  • 所以现在想按照日期将文件分类,将同一天产生的文件放到以产生文件日期命名的目录,比如所有在2017-01-01产生的文件都放在20170101目录。二、技术思路可以定时遍历目标文件所在源目录,利用stat获取单个文件的...
  • 查看文件的时间: sata test.txt 更新目录下面所有文件的时间: ...修改一个文件日期时间: touch -d "2020-11-11 11:00:00" test.txt 批量修改: find ./* -exec touch -t 202011111100.00 {} \; ...
  • Linux下批量修改文件编码假设需要将所有ipaddr目录下的php文件,编码从gb2312转到utf8cdipaddrfind./-typef-name"*.php"|whilereadline;doecho$lineiconv-fGB2312-tUTF-8$line>${line}.utf8mv$line${line}.gb2312...
  • 一、查看文件时间及相关命令1、stat查看文件时间[root@web10~]#File:“install.log”Size:33386Blocks:80IOBlock:4096一般文件Device:fd00h/64768dInode:7692962Links:1Access:(0644/-rw-r--r--)U...
  • linux的touch命令用来修改文件时间戳,或者新建一个不存在的文件linux上图中,access、modify、change分别是访问时间、修改时间、改变时间,即为文件的时间戳。ide 1.命令格式:spatouch[选项]...文件名...blog2...
  • 问:在Linux下怎么一次性删除掉那些修改时间为指定日期的所有文件?答:脚本del_files_of_date.sh用法:./del_files_of_date.sh 比如:./del_files_of_date.sh 2011-09-01 html/*.html#!/bin/sh: ${2?"usage: $0 "}...
  • linux文件修改日期删除文件

    千次阅读 2019-10-24 16:28:38
    1、删除指定时间外的文件 ...mtime:修改时间 文件内容被修改的最后时间 ctime:变化时间 文件的元数据发生变化。比如权限,所有者等 atime:访问时间 文件中的数据库最后被访问的时间 +90:查找90天之前的zip文件 exec...
  • 思路:首先截取文件名中日期,再对日期累加,拼接出文件,把原文件内容写到新文件中,然后修改文件日期与文件名中日期一致。 假设有文件/home/cs/hb_20210601_cswj. txt 将该文件复制为hb_20210601_cswj. txt~...
  • touch 用法:1. 同时修改文件修改时间和访问时间touch -d "2010-05-31 08:10:30" test.doc2.... 只修改文件的访问时间touch -a -d "2010-05-31 08:10:30" test.docstat 命令终端运行命令:# st...
  • 1.修改硬件时钟的可以使用下面的方法:你就可以用它来随时更新你的硬件时间,命令为:hwclock --adjust硬件时钟通常被设置成全球标准时间(UTC),而将时区信息保存在/usr/share/lib/timezone (或者在某些系统中可能是...
  • Linux系统中批量创建文件,和批量修改文件名。 编写脚本,在/tmp 目录批量创建 500 个文件,命名规则为:姓名.数字.hack.html 方法一: 1、touch name.{1…500}.hack.html 方法二: 2、for i in seq 500;do touch ...
  • 如果您创建该文件并且从不修改其大小或权限,那么该文件将用作创建时间。否则,至少在标准的Unix系统中,没有创建文件的时间记录。出于您的目的,按st_mtime排序...或获取名称中带有时间戳的文件。请注意,如果您是...
  • 二、以创建文件日期为界线删除文件 1、find命令简解 find pathname -options [-print -exec -ok ...] pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。 -print: find命令将匹配...
  • 有时候可能需要检查有关文件的详细信息,例如文件修改日期。当你要检查文件的最后编辑时间时,本文可能会派上用场。在本文将学习4种方法查看文件修改日期。 使用stat stat 可以显示文件属性的详细信息,比如...
  • Linux文件有3个修改时间,很多朋友都喜欢弄混淆,也包括我在内,现在列出来供参考。1)modification time (mtime,修改时间):这个时间指的是文件内容修改的时间,而不是文件属性的修改,当数据内容修改时,这个时间就...
  • 比如想把已经挂载在home目录上的硬盘挂载到data目录上, 如下操作#df -h(查看分区情况及数据盘名称)# mkdir /data(如果没有data目录就创建,...vi /etc/fstab (编辑fstab文件修改或添加,使重启后可以自动挂载)/d...
  • linux - 查看/修改文件修改时间

    千次阅读 2022-03-04 12:10:05
    最近更改时间(Modify):vim修改文件内容后,三个时间都改变 最近改动时间(Change):chmod修改文件权限或属性后,该时间改变 stat 命令,查看文件的状态 stat 3.log //查看某个文件的状态 stat * //查看这个...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 137,386
精华内容 54,954
关键字:

linux修改文件日期

友情链接: ClientSocket.rar