Linux 触摸命令

2023-10-30

touch 命令允许我们更新现有文件和目录的时间戳以及创建新的空文件。

在本指南中,我们将通过实际示例和最常见命令选项的详细说明向您展示如何使用 touch 命令。

Linux 文件时间戳#

在讨论如何使用 touch 命令之前,我们首先回顾一下 Linux 中的文件时间戳。

Linux 中的文件具有三个时间戳:

  • atime(访问时间)- 上次通过某些命令或应用程序访问/打开文件的时间,例如cat、vim 或grep .
  • mtime(修改时间)- 文件内容的最后一次修改时间。
  • ctime(更改时间)- 文件属性或内容上次更改的时间。该属性包括文件权限、文件所有权或文件位置。

要显示包括时间戳在内的文件状态,请使用stat命令。

stat file_name

创建新文件需要父目录的写权限。否则,您将收到权限被拒绝的错误。

如何使用触摸命令#

在最简单的形式中,当不带任何选项使用时,如果指定为参数的文件名不存在,touch 将创建一个新文件。

如果文件已存在,触摸会将文件上次访问和修改时间更改为当前时间。

例如,如果文件file1不存在以下命令将创建它,否则,它将更改其时间戳:

touch file1

要一次创建或修改多个文件,请将文件名指定为参数:

touch file1 file2 file3

如果您不希望 touch 命令创建新文件,请使用-c (--no-create) 选项。

例如,如果文件file1存在以下命令将更改文件时间戳,否则,它将不执行任何操作:

touch -c file1

仅更改访问或修改时间#

默认情况下,如果不使用任何选项,触摸会将文件上次访问和修改时间更新为当前时间。通过使用-a and -m选项,您只能更改这些时间戳之一。

仅更改访问时间#

Use the -a仅更改文件访问时间的选项:

touch -a file1

仅更改修改时间#

Use the -m更改文件修改时间的选项:

touch -m file1

当更改修改时间时,更改时间也会更新。

设置特定时间戳#

touch 命令还允许我们更新或创建具有当前时间以外的特定时间的文件。

Use the -d (--date=) 选项指定日期字符串并使用它代替当前时间。

例如,要更改最后访问和修改时间file1到 2018 年 6 月 1 日 11:02 您将使用以下命令:

touch -d '1 June 2018 11:02' file1

日期字符串需要用单引号引起来。

您还可以向 touch 命令提供部分日期时间字符串。仅提供日期,会自动将年份更改为当前年份:

touch -d '12 June' file1

Use the -t选项来指定时间戳并使用它来代替当前时间。时间戳参数需要采用以下格式:

use [[CC]YY]MMDDhhmm[.ss]

例如,以下命令将设置最后访问和修改时间file1至当年 6 月 1 日 11:02。

touch -t 06011102 file1

使用另一个文件的时间戳#

The -r (--reference=) 选项允许我们指定一个参考文件并使用它的时间戳而不是当前时间。

例如,以下命令将告诉 touch 使用以下时间file1 for file2:

touch -r file1 file2

默认情况下,如果您在符号链接它将更改其引用文件的时间戳。

Use the -h (--no-dereference) 修改符号链接的时间戳。

例如,更改符号链接的时间戳symlink1你会使用:

touch -h symlink1

结论#

现在您应该已经很好地了解了如何使用 Linux touch 命令。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux 触摸命令 的相关文章

  • Windows 终端中的图标和背景图像字段无法识别父进程目录

    Windows 终端版本 1 12 10732 0 Windows 内部版本号 19043 1645 Issue 如果这个问题已经在其他地方得到解决 请原谅我 但我意识到当Use parent process directory被检查 Co
  • git 奇怪的彩色终端响应[重复]

    这个问题在这里已经有答案了 最近我被下面的彩色终端响应吓死了 它是由 git push 命令触发的 Does anybody have a clue where this colored response comes from 只是猜测 但
  • 无法打开本地终端

    我尝试在 Android Studio 中初始化我的终端 但它给了我错误 它说 无法打开本地终端 java io IOException 无法创建 PTY 我的电脑运行的是 Windows 10 如何解决这个问题 当您从 Github 存储
  • 错误:GitHub 目前无法显示这么大的文件 - 但该文件只有 1.06 MB [已关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我通过两种不同的方式将 HTML 文件上传到 GitHub 存储库 拖放以及使用终端上的 Git 添加 提交 推送 在这两种情况下
  • 将终端颜色扩展到行尾

    我有一个生成 motd 的 bash 脚本 问题取决于某些终端设置 我不确定颜色是否会延伸到行尾 其他时候则不然 e g v s IIRC 一个只是普通的 gnome 终端 另一个是我的 tmux 术语 所以我的问题是如何才能将其扩展到 8
  • 如何检测来自 QNX 中 ncurses 的屏幕调整大小事件?

    我无法配置为接收有关使用 ncurses QNX Momentics 更改终端大小的事件 我使用Putyy作为终端 通过COM端口传输数据 我的问题是如何实现使用远程终端时接收屏幕变化事件 FILE fcons fopen dev ser1
  • Linux命令列出所有可用命令和别名

    是否有一个 Linux 命令可以列出该终端会话的所有可用命令和别名 就好像您输入 a 并按下 Tab 键一样 但针对的是字母表中的每个字母 或者运行 别名 但也返回命令 为什么 我想运行以下命令并查看命令是否可用 ListAllComman
  • 在Python中通过sys.stdout写入unicode字符串

    暂时假设一个人无法使用print 从而享受自动编码检测的好处 所以这给我们留下了sys stdout 然而 sys stdout太蠢了不做任何合理的编码 http bugs python org issue4947 现在人们阅读 Pytho
  • 如何在 Xamarin.Mac 中执行终端命令并读入其输出

    我们正在编写一个 Xamarin Mac 应用程序 我们需要执行像 uptime 这样的命令 并将其输出读取到应用程序中进行解析 这可以做到吗 在 Swift 和 Objective C 中都有 NTask 但我似乎无法在 C 中找到任何示
  • 生成一个新终端并写入其标准输出

    我有一个应用程序 它使用 GUI 来完成与用户的大部分界面 不过 我想要一个单独的终端窗口 我可以写入一些错误检查 原始值等 我知道我可以使用以下命令生成一个新终端system 命令 但我不知道是否可以进行交互 在最好的情况下 我希望有一个
  • 当自定义子视图处理触摸时防止 UITableView 滚动

    在我的 iOS 应用程序中 有一个 UITableView 其中一个单元格中包含一个自定义子视图 该单元格是一个交互式视图 它处理触摸事件 touchesBegan touchesEnded touchesMoved 以更新自身 问题是 当
  • 在 mac 终端中加载库时出错

    有谁请帮忙 我该如何修复以下错误 dyld Library not loaded usr local lib libgdbm 4 dylib Referenced from usr local bin zsh Reason image no
  • 如何在 Mac 上设置默认 shell,例如钓鱼? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我不喜欢重新输入fish每次我启动终端时 我想Fish https en wikipedia org wiki Fish Unix she
  • Android Accessibility 执行触摸操作

    我想知道是否可以使用 Android 辅助功能服务在屏幕上的位置执行触摸操作 例如 Bundle arguments new Bundle arguments putInt coord X X value arguments putInt
  • 什么是 .un~ 文件或者为什么终端中的 Vim 会创建 .un~ 文件?

    我注意到我有一些以 un 例如我有一个 vividchalk vim un 但我不确定它是从哪里来的 看起来它们是我在终端中使用 Vim 时创建的 这些文件是什么 当我关闭正在编辑的文件时 可以让它们自行删除吗 当你编辑和保存文件时 Vim
  • 如何在 Vim 中创建行号和文本之间的边框

    我希望在行号右侧和文本左侧有一条细边框线 您可以使用不同的颜色来突出显示LineNr 例如 hi LineNr cterm bold ctermbg gray ctermfg black gui bold guibg gray guifg
  • 解析dev/input/event触摸事件

    我能够在 Android 手机上从 dev input event 读取事件 然而 它们是按一定顺序排列的行代码 就像触摸事件给出的那样 3 53 216 3 54 444 3 48 40 3 50 5 0 2 0 0 0 0 如何将它们解
  • 如何在 osx 终端中返回应用程序版本

    我需要在 Mac osX 10 10 上的 sh 脚本中使用应用程序版本 以便我可以与另一个数字进行比较 以便我可以强制更新或不更新 到目前为止我已经有了这个 我使用 Firefox app 作为示例 FirefoxmdlsVersion
  • 在android中点击地图获取坐标

    我正在尝试做这样的事情 我有一个地图活动 当用户点击地图时 它会显示该位置的坐标 我已经重写了 onclick 方法 但它甚至没有被调用 任何想法 public class MapPoint extends MapActivity impl
  • 将文本粘贴到 Macintosh 上的 emacs 中

    我使用的是 Macintosh 并且使用 终端 作为我的 shell 当我从任何窗口复制文本 通过鼠标拖动 然后鼠标右键菜单 gt 复制 然后将文本 鼠标右键 gt 粘贴 粘贴到运行 emacs 的终端中时 它不会充当粘贴 相反 它就像输入

随机推荐

  • 如何在 Debian 10 上安装 Google Cloud SDK

    谷歌云SDK提供了一组用于管理 Google Cloud Platform GCP 上托管的资源的工具 Cloud SDK 软件开发工具包 提供 gcloud gsutil 和 nd bq 命令 能够通过终端访问 Google Cloud
  • 如何在 Ubuntu 上安装和配置 Dovecot

    Dovecot 是一款开源 IMAP 和 POP3 电子邮件服务器 因其可靠性 可扩展性和易用性而被广泛使用 POP3 邮局协议 3 和 IMAP 互联网消息访问协议 都是用作消息访问代理的协议 这些协议用于从邮件服务器上的用户收件箱中获取
  • Linux /etc/shadow 文件

    基于 Linux 的系统以其强大的安全措施而闻名 可隔离敏感数据以确保最大限度地减少未经授权的访问 其中一项数据就是用户密码 与某些人的想法相反 这些密码不再以纯文本形式存储 甚至不再存储在 etc passwd 文件中 相反 它们以加密方
  • Ubuntu 18.10 发布、功能及更多

    简介 Ubuntu 开发团队现已开始开发 Ubuntu 18 10 的下一个版本 本文将为您提供有关 Ubuntu 18 10 的所有详细信息 Ubuntu 18 10 Cosmic Cuttlefish Release Date Feat
  • 配置 Sendmail 以通过远程 SMTP 服务器进行中继

    Sendmail 是基于 Unix 的系统上最古老且最流行的邮件传输代理 MTA 之一 它具有高度可定制性 这使其成为许多专业人士的首选 但这种灵活性也让它看起来令人畏惧 Sendmail 的一个关键功能是它能够通过远程 SMTP 服务器中
  • 如何通过 Docker 运行“npm start”

    npm 是 JavaScript 编程语言的软件包管理器 npm 使 JavaScript 开发人员可以轻松共享他们编写的代码 npm 还提供了一个命令行界面来管理项目中的依赖项 Docker 是一个容器化平台 允许开发人员将其应用程序和依
  • 如何在 CentOS 8 上安装 Ionic 框架

    Ionic 框架是开源 UI 工具包 用于使用 HTML CSS 和 JavaScript 等核心 Web 技术构建移动和桌面应用程序 Ionic 旨在在所有当前的移动设备和平台上完美地工作和显示 本文将帮助您在 CentOS 8 和 RH
  • 如何在 CentOS 和 RHEL 上设置 PHP eAccelerator

    PHP电子加速器用于通过优化和缓存编译状态来提高 php 脚本的性能 eAccelerator 将编译后的 PHP 脚本存储在共享内存中并直接从中执行代码 eAccelerator 通常可以减少服务器负载并将 PHP 代码的速度提高 1 1
  • 如何在 Ubuntu 18.04 上安装谷歌浏览器

    Google Chrome 是互联网用户最流行的网络浏览器 它适用于最流行的操作系统 如 Windows Linux 和 Android 设备 你也可以安装铬浏览器在你的 Ubuntu 系统上 开发团队使用 Chromium 源代码构建 C
  • 如何在 AWS 实例中获取默认 Windows 密码

    Amazon是领先的云托管提供商 您可以从 AWS 获得任何类型的服务器 从非常小到非常大 如果您已在 AWS EC2 托管帐户中创建了 Windows Server 实例 本文将帮助您了解如何在 AWS 实例中查找 Windows Ser
  • 5 个最佳 WordPress 托管提供商

    1 WP引擎 WP Engine 是适用于大容量网站的最佳且完全托管的 WordPress 托管 如果您的网站有数百万流量 您可以使用 WP Engine 托管 WP Engine 提供稳定 安全的托管 可以容纳您的所有客户 它的成本可能不
  • 如何在 Ubuntu 18.04 上安装 Atom 文本编辑器

    Atom是由GitHub开发的开源跨平台代码编辑器 它有一个内置的包管理器 嵌入Git控制 智能自动完成 语法突出显示和多个窗格 从本质上讲 Atom 是一个基于 Electron 构建的桌面应用程序 使用 HTML JavaScript
  • 如何在 Debian 9 上安装 R

    R 是一种快速发展的开源编程语言和环境 专门从事统计计算和图形表示 它由 R 统计计算基金会支持 主要供统计学家和数据挖掘人员用于开发统计软件和执行数据分析 本教程将引导您了解如何在 Debian 9 系统上安装 R 先决条件 在继续本教程
  • 如何在 Ubuntu 20.04 上安装和配置 Redis

    Redis 是一个开源内存键值数据存储 它可以用作数据库 缓存和消息代理 并支持各种数据结构 例如字符串 哈希 列表 集合等 Redis 通过 Redis Sentinel 提供高可用性 并通过 Redis Cluster 跨多个 Redi
  • Linux 中的 dmesg 命令

    Linux 内核是操作系统的核心 它控制对系统资源 如 CPU I O 设备 物理内存和文件系统 的访问 在引导过程中以及系统运行时 内核将各种消息写入内核环形缓冲区 这些消息包括有关系统操作的各种信息 内核环形缓冲区是物理内存的一部分 用
  • 如何在 CentOS 8 上设置 Nginx 服务器块

    服务器块是一种 Nginx 指令 它定义特定域的设置 允许您在一台服务器上运行多个网站 对于每个网站 您可以设置网站文档根目录 包含网站文件的目录 创建单独的安全策略 使用不同的 SSL 证书等等 本文介绍如何在 CentOS 8 上设置
  • 在 Debian 10 Linux 上使用 Let's Encrypt 保护 Nginx

    Let s Encrypt 是由互联网安全研究小组 ISRG 开发的免费 自动化 开放的证书颁发机构 提供免费的 SSL 证书 Let s Encrypt 颁发的证书受到所有主要浏览器的信任 并且自颁发之日起 90 天内有效 本教程展示了如
  • 如何在 Ubuntu 18.04 上设置 WireGuard VPN

    WireGuard 是一种采用最先进加密技术的现代 VPN 虚拟专用网络 技术 与其他类似解决方案 例如 IPsec 和 相比OpenVPN WireGuard 更快 更容易配置且性能更高 它是跨平台的 几乎可以在任何地方运行 包括 Lin
  • Linux 中的 pkill 命令

    本文涵盖了 Linux 的基础知识pkill命令 pkill是一个命令行实用程序 它根据给定的条件向正在运行的程序的进程发送信号 可以通过进程的完整名称或部分名称 运行进程的用户或其他属性来指定进程 The pkill命令是的一部分proc
  • Linux 触摸命令

    touch 命令允许我们更新现有文件和目录的时间戳以及创建新的空文件 在本指南中 我们将通过实际示例和最常见命令选项的详细说明向您展示如何使用 touch 命令 Linux 文件时间戳 在讨论如何使用 touch 命令之前 我们首先回顾一下