linux下查找新创建文件命令

不及物动词 其他 38

回复

共3条回复 我来回复
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    在Linux下,可以使用以下命令来查找新创建的文件:

    1. find命令:使用find命令可以递归地搜索指定目录下的文件和子目录,并根据文件的创建时间来查找最新创建的文件。

    例如,要在当前目录下查找最新创建的文件,可以使用以下命令:
    “`
    find . -type f -printf ‘%T@ %p\n’ | sort -n | tail -1 | cut -d’ ‘ -f2-
    “`

    这个命令会通过find命令搜索当前目录及其子目录下的所有文件,然后将搜索到的文件按照创建时间排序,最后取得最新创建的文件。

    2. ls命令:ls命令是列出目录内容的命令,通过组合ls命令的选项,我们可以查找最新创建的文件。

    例如,要在当前目录下查找最新创建的文件,可以使用以下命令:
    “`
    ls -lt | head -2 | tail -1
    “`

    这个命令会列出当前目录下的所有文件,并按照文件的创建时间降序排列,然后取得排在第二位的文件(即最新创建的文件)。

    无论是使用find命令还是ls命令,你都可以根据自己的需求来灵活调整命令的参数。希望以上的介绍对你有帮助!

    2年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    在Linux系统下,可以使用以下命令来查找新创建的文件:

    1. find命令:
    使用find命令可以在指定的目录下搜索符合条件的文件。通过结合其他选项,可以只查找最近几分钟、几小时、几天或几周内新创建的文件。下面是使用find命令查找最近24小时内新创建的文件的示例:
    “`shell
    find /path/to/directory -type f -ctime 0
    “`
    这个命令将在/path/to/directory目录下查找并列出最近24小时内新创建的文件。

    2. locate命令:
    locate命令用于快速查找文件。它使用一个数据库来存储系统中所有文件和目录的信息。为了获取最新的文件信息,需要先更新数据库,然后才能使用locate命令查找最新的文件。以下是使用locate命令查找最近24小时内新创建的文件的示例:
    “`shell
    sudo updatedb
    locate -r “/path/to/directory/.*” | grep “^.*/[^/]*$”
    “`
    这个命令将更新数据库,并搜索/path/to/directory目录及其子目录下最近24小时内新创建的文件。

    3. ls命令:
    ls命令用于列出目录中的文件和目录。可以使用ls命令的-l(长格式)选项来查看文件的创建日期和时间。以下是使用ls命令查找最近24小时内新创建的文件的示例:
    “`shell
    ls -l –time-style=+%Y%m%d%H%M%S | grep “^d.*” | awk -v “t=$(date -d “24 hours ago” +”%Y%m%d%H%M%S”)” ‘{if ($6$7 >= t) print $0}’
    “`
    这个命令将列出当前目录中最近24小时内新创建的文件。

    4. inotifywait命令:
    inotifywait命令用于监视文件和目录的变化,并在发生变化时触发相应的操作。可以使用inotifywait命令来实时监视文件的创建。以下是使用inotifywait命令查找最近创建的文件的示例:
    “`shell
    inotifywait -m /path/to/directory -e create -e moved_to –format “%f” –timefmt “%y-%m-%d %H:%M:%S” | while read file; do echo “New file: $file $(date +’%y-%m-%d %H:%M:%S’)”; done
    “`
    这个命令将实时监视/path/to/directory目录下的文件创建事件,并在文件创建时输出文件名和创建时间。

    5. 最近修改时间查找:
    如果无法获取文件的创建时间,还可以通过查找最近修改时间来找到新创建的文件。以下是使用ls命令查找最近24小时内新修改的文件的示例:
    “`shell
    ls -lt –time-style=+%Y%m%d%H%M%S | awk -v “t=$(date -d “24 hours ago” +”%Y%m%d%H%M%S”)” ‘{if ($6$7 >= t) print $0}’
    “`
    这个命令将列出当前目录中最近24小时内新修改的文件。

    2年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    在Linux下,可以使用以下命令来查找新创建的文件:

    1. find命令:`find`命令可以用于查找和处理目录中的文件和目录。可以使用`-ctime`选项来查找指定时间范围内创建的文件。

    语法:`find <路径> -type f -ctime `

    其中,`<路径>`是要查找的目录路径,`-type f`用于限定查找的是文件而非目录,`-ctime `用于限定查找指定时间范围内创建的文件,``是时间参数。``可以是`+n`表示查找在n天之前创建的文件,也可以是`-n`表示查找在n天之内创建的文件,还可以是`n`表示查找在n天当天创建的文件。

    示例:查找在3天之内创建的文件

    “`
    find /path/to/directory -type f -ctime -3
    “`

    2. ls命令结合grep命令:`ls`命令用于列出目录中的文件和目录。通过结合`ls`命令和`grep`命令,可以查找新创建的文件。

    语法:`ls -lt –time=ctime | grep “^-” | head -n `

    其中,`-lt`选项用于按照文件的修改时间排序,`–time=ctime`用于指定使用文件的创建时间进行排序,`grep “^-“`用于筛选出文件(不包括目录),`head -n `用于限制输出的行数。

    示例:查找最新创建的5个文件

    “`
    ls -lt –time=ctime | grep “^-” | head -n 5
    “`

    3. find命令结合ls命令:`find`命令可以与`ls`命令结合使用,先使用`find`命令找到指定时间范围内创建的文件,然后再使用`ls`命令按照修改时间排序输出。

    语法:`find <路径> -type f -ctime -exec ls -lt {} +`

    其中,`<路径>`是要查找的目录路径,`-type f`用于限定查找的是文件而非目录,`-ctime `用于限定查找指定时间范围内创建的文件,`-exec ls -lt {} +`用于将找到的文件传递给`ls`命令进行排序输出。

    示例:查找在3天之内创建的文件并按照修改时间排序输出

    “`
    find /path/to/directory -type f -ctime -3 -exec ls -lt {} +
    “`

    以上是在Linux下查找新创建文件的几种常用方法和操作流程。使用这些方法,可以根据需求查找指定时间范围内的新创建文件,并按照修改时间排序输出。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部