Linux指令详解:touch与cat命令用法

需积分: 6 0 下载量 82 浏览量 更新于2024-09-10 收藏 395KB PDF 举报
本文档是关于Linux常用指令的讲解,主要涵盖了`touch`和`cat`两个基础且实用的命令。 ### `touch` 指令详解 `touch` 是一个用于修改文件或目录时间戳的Linux命令。它可以用来创建新文件,如果文件已存在,`touch` 会更新文件的访问和修改时间戳。以下是一些关键参数的解释: 1. `-a` 或 `--time=atime` 或 `--time=access` 或 `--time=use`:只更改文件的访问时间。 2. `-c` 或 `--no-create`:不创建新文件,如果文件不存在。 3. `-d`:使用指定的日期时间,而不是当前时间。 4. `-f`:此参数仅用于解决与其他版本`touch`的兼容性问题,通常可忽略。 5. `-m` 或 `--time=mtime` 或 `--time=modify`:只更改文件的修改时间。 6. `-r`:将文件或目录的时间戳设置为另一个文件或目录的时间戳。 7. `-t`:使用指定的日期时间,而非现在的时间。 **使用范例**: - **实例一**:创建不存在的文件。例如,`touch newfile.txt` 将创建名为 `newfile.txt` 的新文件。 - **实例二**:更新两个文件的时间戳使其相同。如 `touch log2012.log log2013.log` 将使这两个文件的访问和修改时间相同。 - **实例三**:设定文件时间戳。如 `touch -t 202212011200.00 file.txt` 将 `file.txt` 的时间戳设置为指定的日期时间。 ### `cat` 命令详解 `cat` 命令用于连接(concatenate)文件并打印到标准输出设备,同时也支持创建新文件和合并多个文件。 **命令参数**: - `-A`, `--show-all`:等价于 `-vET`,显示特殊字符。 - `-b`, `--number-nonblank`:对非空输出行编号。 - `-E`, `--show-ends`:在每一行末尾显示 `$` 符号。 - `-n`, `--number`:对所有输出的行进行编号,从1开始。 - `-s`, `--squeeze-blank`:如果有连续两行以上的空白行,替换为一行空白行。 - `-t`:与 `-vT` 等价,显示跳格字符为 `^I`。 - `-T`, `--show-tabs`:将制表符显示为 `^I`。 **使用实例**: - **实例一**:将 `log2012.log` 的内容加上行号后写入 `log2013.log`。命令可能是 `cat -n log2012.log > log2013.log`。 - **实例二**:将 `log2012.log` 和 `log2013.log` 的内容加上行号(不包括空白行)后追加到 `log.log`。命令可能是 `cat -n log2012.log log2013.log >> log.log`。 - **实例三**:将 `log2012.log` 的内容加上行号后追加到 `log.log`。命令可能是 `cat -n log2012.log >> log.log`。 这些指令是Linux日常操作中非常基础且实用的部分,理解并熟练运用它们能极大地提高工作效率。通过`touch`,你可以轻松管理文件的时间戳,而`cat`则提供了查看、合并和创建文件的能力。在Linux环境中,这些命令是日常维护和文件操作的必备工具。