每日命令 | 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 # 在指定路径创建目录

重要选项

  1. -p 选项(递归创建):

    • 创建路径中所有不存在的目录
    • 示例:mkdir -p father_dir/son_dir 会同时创建father_dir和其中的son_dir
  2. -v 选项(详细模式):

    • 每创建一个目录就打印一条信息
    • 示例:mkdir -v dir1 dir2
  3. -m 选项(设置权限):

    • 创建目录时直接设置权限
    • 示例:mkdir -m 755 restricted_dir

注意事项

  • 目录名可以包含空格,但需要用引号括起:mkdir "new dir"
  • 如果要创建的目录已存在,系统会报错

touch命令详解

基本语法

touch [选项] 文件名

基本功能

  1. 创建文件

    • 当文件不存在时,默认会创建空文件
    • 示例:touch newfile.txt
  2. 修改时间戳

    • 默认修改访问时间(Access)和修改时间(Modify)
    • 使用stat命令可查看完整时间信息

时间属性

Linux文件有三个主要时间属性:

  1. Access:访问时间(读取文件内容)
  2. Modify:修改时间(修改文件内容)
  3. Change:改动时间(属性和位置的改动)

重要选项

  1. 时间类型选项

    • -a:只修改访问时间
    • -m:只修改修改时间
  2. 指定时间值

    • -t:使用[[CC]YY]MMDDhhmm[.ss]格式
      • 示例:touch -t 202308161530.30 file.txt
    • -d:使用更灵活的时间格式
      • 示例:touch -d "2 days ago" file.txt
  3. 创建控制

    • -c:文件不存在时不创建
    • 示例:touch -c non_existent.txt

注意事项

  • 与mkdir不同,touch对已存在文件不会报错,而是更新时间戳
  • 可以同时操作多个文件:touch file1.txt file2.txt

命令对比总结

特性 mkdir touch
主要用途 创建目录 修改时间戳/创建文件
参数 目录路径名 文件路径名
创建行为 目录存在时报错 文件存在时更新时间戳
常用选项 -p(递归), -v(详细), -m(权限) -a(访问时间), -m(修改时间), -t/-d(指定时间), -c(不创建)

实用技巧

  1. 批量创建

    touch file{1..10}.txt       # 创建file1.txt到file10.txt
    mkdir dir{1..5}             # 创建dir1到dir5
    
  2. 结合使用

    mkdir -p project/{src,doc,bin}  # 一次性创建项目目录结构
    touch project/src/main.c        # 在新建目录中创建文件
    
  3. 时间操作

    # 将文件时间设置为特定时间
    touch -t 202301011200.00 important_file
    
    # 将文件时间设置为另一个文件的时间
    touch -r reference_file target_file
    

掌握这些基础命令的细节将大大提高你在Linux环境下的工作效率。

Linux文件与目录创建命令详解:touch与mkdir 命令简介 在Linux系统中,文件和目录都有其生命周期:创建、修改、删除。本文将详细介绍两个基础但重要的命令: touch - 主要用于修改文件的访问时间和修改时间(也可用来创建空文件) mkdir - make directory,用于创建目录 mkdir命令详解 基本语法 参数说明 参数是要创建的目录的名字(严格来说是路径名): 只提供目录名时,在当前工作目录中创建 可以指定完整路径在其他位置创建 示例 : 重要选项 -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 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(不创建) | 实用技巧 批量创建 : 结合使用 : 时间操作 : 掌握这些基础命令的细节将大大提高你在Linux环境下的工作效率。