linux基本功之touch命令实战

简介: linux基本功之touch命令实战

系列文章目录

命令1: linux基本功系列-ls命令实战
命令2: linux基本功系列之echo命令实战
命令3:linux基本功之历史记录history命令实战
命令4: linux基本功之date命令实战
命令5 linux基本功之touch命令实战


@TOC


前言

平时创建文件,我们都用touch命令,算的上最常用命令之一了吧,经常有人说,企业常用150个命令,现在学习到第5个,距离150个还有145的距离。冲!
:smile:


一、touch 命令的参数

1.1 touch命令的用户

touch [选项]... 文件名...            []表示可选参数

1.2 常用参数

-a     只改变访问时间
     
-c,--no-create
    不创建任何文件
        
-d,--data=STRING    
     解析STRING,并将该时间作为touch要更新的时间,而不是当前时间,STRING格式可以参考date
     命令


-h,--no-dereference 不援引
     只影响符号链接本身,而不修改链接指向的链接源文件的时间戳(前提是系统支持修改链接文件的时
     间戳

-m     只改变文件的修改时间
    
-r,--referenc=FILE
     使用这个文件的时间,而不是当前时间,即将其他文件的时间戳改得和这个文件相同
       
       
--time=string
     修改特定的时间:string为access、atime或use时,等同于-a,为modify或mtime时,等同于-m

二、touch使用案例

2.1 创建一个空文件

[root@mufenggrow ~]# touch mufeng.txt

2.2 批量创建空文件

[root@mufenggrow test]# touch mufeng{1..3}.txt
[root@mufenggrow test]# ls
mufeng1.txt  mufeng2.txt  mufeng3.txt
[root@mufenggrow test]# 

2.3 改变或者更新文件和目录的访问时间

在这里插入图片描述
如果不加-a 参数,三个时间都会变化

在这里插入图片描述

3. 拓展: 三种不同的时间

访问时间:atime 查看内容 cat a.txt
修改时间:mtime 修改内容 vim a.txt
改变时间:ctime 文件属性,比如权限 change time。 chmod +x a.sh
这里有个创建时间- , linux中没有文件创建时间的概念, 只有访问时间,修改时间和状态改变时间。

如果文件创建后没有被修改过,那么文件修改时间==文件的创建时间
如果文件状态没有改变过,那么文件的状态改变时间==文件的创建时时间

3. 1 单纯访问只修改atime

在这里插入图片描述
代码实例:

[root@mufenggrow test]# touch mufenggrow.txt
[root@mufenggrow test]# stat mufenggrow.txt |tail -4
最近访问:2023-01-12 08:26:23.700013272 +0800
最近更改:2023-01-12 08:26:23.700013272 +0800
最近改动:2023-01-12 08:26:23.700013272 +0800
创建时间:-
[root@mufenggrow test]# cat mufenggrow.txt 
[root@mufenggrow test]# stat mufenggrow.txt 
  文件:"mufenggrow.txt"
  大小:0             块:0          IO 块:4096   普通空文件
设备:fd00h/64768d    Inode:16789113    硬链接:1
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
环境:unconfined_u:object_r:admin_home_t:s0
最近访问:2023-01-12 08:27:35.870135257 +0800
最近更改:2023-01-12 08:26:23.700013272 +0800
最近改动:2023-01-12 08:26:23.700013272 +0800
创建时间:-

3.2 修改ctime

ctime是文件属性的修改,比如权限 change time。 chmod +x a.sh

在这里插入图片描述

改变权限,ctime发生了改变。

3.3 mtime的修改

只要进行修改,三个时间都会变化

在这里插入图片描述

其他问题补充

  1. 如果文件已经存在,当我们创建一个同名的文件的时候,会不会覆盖原来的内容?

在这里插入图片描述

经过测试,我们发现,文件内容在,意味着创建同名文件不会覆盖原来的文件,但是会修改访问时间

  1. 使用echo追加内容,访问时间会变化吗?

在这里插入图片描述

实验结果: 如果使用echo命令追加内容,访问时间不会有变化,但是ctime和mtime都会响应改变。


总结

touch命令我们就学完了,今天是150个基础命令的第5个,继续加油。

相关文章
|
14天前
|
Linux Shell
Linux 10 个“who”命令示例
Linux 10 个“who”命令示例
44 14
Linux 10 个“who”命令示例
|
3天前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
56 20
|
4天前
|
网络协议 Linux 应用服务中间件
kali的常用命令汇总Linux
kali的常用命令汇总linux
26 7
|
23天前
|
Linux 数据库
Linux中第一次使用locate命令报错?????
在Linux CentOS7系统中,使用`locate`命令时出现“command not found”错误,原因是缺少`mlocate`包。解决方法是通过`yum install mlocate -y`或`apt-get install mlocate`安装该包,并执行`updatedb`更新数据库以解决后续的“can not stat”错误。
31 9
|
22天前
|
监控 网络协议 Linux
Linux netstat 命令详解
Linux netstat 命令详解
|
28天前
|
运维 监控 网络协议
运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面
本文介绍了运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面,旨在帮助读者提高工作效率。从基本的文件查看与编辑,到高级的网络配置与安全管理,这些命令是运维工作中的必备工具。
112 3
|
1月前
|
Linux
在 Linux 系统中,`find` 命令
在 Linux 系统中,`find` 命令
33 1
|
1月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
95 8
|
1月前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
256 6
|
1月前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
80 3
下一篇
DataWorks