Linux指令详解:touch与cat命令用法
需积分: 6 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环境中,这些命令是日常维护和文件操作的必备工具。
2012-07-06 上传
2021-09-29 上传
2009-05-07 上传
2018-08-30 上传
2010-03-27 上传
2010-03-21 上传
2022-09-24 上传
2008-04-09 上传
2017-12-31 上传
化茧成蝶007
- 粉丝: 43
- 资源: 2
最新资源
- Android圆角进度条控件的设计与应用
- mui框架实现带侧边栏的响应式布局
- Android仿知乎横线直线进度条实现教程
- SSM选课系统实现:Spring+SpringMVC+MyBatis源码剖析
- 使用JavaScript开发的流星待办事项应用
- Google Code Jam 2015竞赛回顾与Java编程实践
- Angular 2与NW.js集成:通过Webpack和Gulp构建环境详解
- OneDayTripPlanner:数字化城市旅游活动规划助手
- TinySTM 轻量级原子操作库的详细介绍与安装指南
- 模拟PHP序列化:JavaScript实现序列化与反序列化技术
- ***进销存系统全面功能介绍与开发指南
- 掌握Clojure命名空间的正确重新加载技巧
- 免费获取VMD模态分解Matlab源代码与案例数据
- BuglyEasyToUnity最新更新优化:简化Unity开发者接入流程
- Android学生俱乐部项目任务2解析与实践
- 掌握Elixir语言构建高效分布式网络爬虫