每日命令 | touch、mkdir
字数 1511 2025-08-18 11:38:32
Linux文件与目录创建命令详解:touch与mkdir
命令简介
在Linux系统中,文件和目录都有其生命周期:创建、修改、删除。本文将详细介绍两个基础但重要的命令:
touch- 主要用于修改文件的访问时间和修改时间(也可用来创建空文件)mkdir- make directory,用于创建目录
mkdir命令详解
基本语法
mkdir [选项] 目录名
参数说明
参数是要创建的目录的名字(严格来说是路径名):
- 只提供目录名时,在当前工作目录中创建
- 可以指定完整路径在其他位置创建
示例:
mkdir new_dir # 在当前目录创建new_dir
mkdir /path/to/new_dir # 在指定路径创建目录
重要选项
-
-p 选项(递归创建):
- 创建路径中所有不存在的目录
- 示例:
mkdir -p father_dir/son_dir会同时创建father_dir和其中的son_dir
-
-v 选项(详细模式):
- 每创建一个目录就打印一条信息
- 示例:
mkdir -v dir1 dir2
-
-m 选项(设置权限):
- 创建目录时直接设置权限
- 示例:
mkdir -m 755 restricted_dir
注意事项
- 目录名可以包含空格,但需要用引号括起:
mkdir "new dir" - 如果要创建的目录已存在,系统会报错
touch命令详解
基本语法
touch [选项] 文件名
基本功能
-
创建文件:
- 当文件不存在时,默认会创建空文件
- 示例:
touch newfile.txt
-
修改时间戳:
- 默认修改访问时间(Access)和修改时间(Modify)
- 使用
stat命令可查看完整时间信息
时间属性
Linux文件有三个主要时间属性:
- Access:访问时间(读取文件内容)
- Modify:修改时间(修改文件内容)
- Change:改动时间(属性和位置的改动)
重要选项
-
时间类型选项:
-a:只修改访问时间-m:只修改修改时间
-
指定时间值:
-t:使用[[CC]YY]MMDDhhmm[.ss]格式- 示例:
touch -t 202308161530.30 file.txt
- 示例:
-d:使用更灵活的时间格式- 示例:
touch -d "2 days ago" file.txt
- 示例:
-
创建控制:
-c:文件不存在时不创建- 示例:
touch -c non_existent.txt
注意事项
- 与mkdir不同,touch对已存在文件不会报错,而是更新时间戳
- 可以同时操作多个文件:
touch file1.txt file2.txt
命令对比总结
| 特性 | mkdir | touch |
|---|---|---|
| 主要用途 | 创建目录 | 修改时间戳/创建文件 |
| 参数 | 目录路径名 | 文件路径名 |
| 创建行为 | 目录存在时报错 | 文件存在时更新时间戳 |
| 常用选项 | -p(递归), -v(详细), -m(权限) | -a(访问时间), -m(修改时间), -t/-d(指定时间), -c(不创建) |
实用技巧
-
批量创建:
touch file{1..10}.txt # 创建file1.txt到file10.txt mkdir dir{1..5} # 创建dir1到dir5 -
结合使用:
mkdir -p project/{src,doc,bin} # 一次性创建项目目录结构 touch project/src/main.c # 在新建目录中创建文件 -
时间操作:
# 将文件时间设置为特定时间 touch -t 202301011200.00 important_file # 将文件时间设置为另一个文件的时间 touch -r reference_file target_file
掌握这些基础命令的细节将大大提高你在Linux环境下的工作效率。