touch 命令
gcc 或 mmm等命令进行编译时,判断文件是否改变是根据文件的修改日期做判断的,但有些情况改变文件后,可能时间没有很快更新,导致编译不到,那么用 touch ./* 把对应目录下文件时间更新一下再编就可以生效了
linux的touch命令不常用,一般在使用make的时候可能会用到,用来修改文件时间戳,或者新建一个不存在的文件。
1.命令格式:
touch [选项]... 文件...
2.命令参数:
-a 或--time=atime或--time=access或--time=use 只更改存取时间。
-c 或--no-create 不建立任何文档。
-d 使用指定的日期时间,而非现在的时间。
-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
-m 或--time=mtime或--time=modify 只更改变动时间。
-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
-t 使用指定的日期时间,而非现在的时间。
3.命令功能:
touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间。
4.使用范例:
实例一:创建不存在的文件
命令:
touch log2012.log log2013.log
输出:
[root@localhost test]# touch log2012.log log2013.log
[root@localhost test]# ll
-rw-r--r-- 1 root root 0 10-28 16:01 log2012.log
-rw-r--r-- 1 root root 0 10-28 16:01 log2013.log
如果log2014.log不存在,则不创建文件
[root@localhost test]# touch -c log2014.log
[root@localhost test]# ll
-rw-r--r-- 1 root root 0 10-28 16:01 log2012.log
-rw-r--r-- 1 root root 0 10-28 16:01 log2013.log
实例二:更新log.log的时间和log2012.log时间戳相同
命令:
touch -r log.log log2012.log
输出:
[root@localhost test]# ll
-rw-r--r-- 1 root root 0 10-28 16:01 log2012.log
-rw-r--r-- 1 root root 0 10-28 16:01 log2013.log
-rw-r--r-- 1 root root 0 10-28 14:48 log.log
[root@localhost test]# touch -r log.log log2012.log
[root@localhost test]# ll
-rw-r--r-- 1 root root 0 10-28 14:48 log2012.log
-rw-r--r-- 1 root root 0 10-28 16:01 log2013.log
-rw-r--r-- 1 root root 0 10-28 14:48 log.log
实例三:设定文件的时间戳
命令:
touch -t 201211142234.50 log.log
输出:
[root@localhost test]# ll
-rw-r--r-- 1 root root 0 10-28 14:48 log2012.log
-rw-r--r-- 1 root root 0 10-28 16:01 log2013.log
-rw-r--r-- 1 root root 0 10-28 14:48 log.log
[root@localhost test]# touch -t 201211142234.50 log.log
[root@localhost test]# ll
-rw-r--r-- 1 root root 0 10-28 14:48 log2012.log
-rw-r--r-- 1 root root 0 10-28 16:01 log2013.log
-rw-r--r-- 1 root root 0 2012-11-14 log.log
说明:
-t time 使用指定的时间值 time 作为指定文件相应时间戳记的新值.此处的 time规定为如下形式的十进制数:
[[CC]YY]MMDDhhmm[.SS]
这里,CC为年数中的前两位,即”世纪数”;YY为年数的后两位,即某世纪中的年数.如果不给出CC的值,则touch 将把年数CCYY限定在1969--2068之内.MM为月数,DD为天将把年数CCYY限定在1969--2068之内.MM为月数,DD为天数,hh 为小时数(几点),mm为分钟数,SS为秒数.此处秒的设定范围是0--61,这样可以处理闰秒.这些数字组成的时间是环境变量TZ指定的时区中的一个时 间.由于系统的限制,早于1970年1月1日的时间是错误的。
touch 命令的更多相关文章
- 每天一个linux命令(9):touch 命令
linux的touch命令不常用,一般在使用make的时候可能会用到,用来修改文件时间戳,或者新建一个不存在的文件. 1.命令格式: touch [选项]... 文件... 2.命令参数: -a ...
- linux中touch命令参数修改文件的时间戳(转)
linux中touch命令参数不常用,一般在使用make的时候可能会用到,用来修改文件时间戳,或者新建一个不存在的文件,以下是linux中touch命令参数的使用方法: touch [-acm][-r ...
- [转]inux之touch命令
转自:http://www.2cto.com/os/201309/242518.html Linux学习之touch命令 Linux的touch命令一般用来更改文档或目录的日期时间,包括存取时间和 ...
- 为什么我们需要使用 touch 命令
为什么我们需要使用 touch 命令 既然 touch 命令描述的是改变时间戳,那么我们可能会想为什么我们需要去改变时间戳呢?这个问题会引发我们的深思.然而,我想有个理由可以解释为什么我们需要使用它. ...
- touch命令功能
touch命令功能 touch fileA,如果fileA存在,使用touch命令可更改这个文件或目录的日期时间,包括存取时间和更改时间:如果fileA不存在,touch命令会在当前目录下新建一个 ...
- 每天一个Linux命令(09)--touch命令
linux的touch命令不常用,一般在使用make的时候可能会用到,用来修改文件时间戳,或者新建一个不存在的文件. 1.命令格式: touch [选项]··· 文件··· 2.命令参数: -a 或 ...
- Linux学习历程——Centos 7 touch命令
一.命令介绍 touch 命令用于创建空白文件,以及设置文件的时间. ----------------------------------------------------------------- ...
- Linux上的10个Touch命令实例
Linux Touch 命令 Touch命令可以用来修改文件访问或修改的时间戳.实际上,它更常仅仅用于快速的创建一个空白文件. 这篇文章展示了一些非常简单和快速的实例,使用Touch命令来修改时间戳和 ...
- Windows代替touch命令
Windows 代替Linux中的touch命令: echo >
随机推荐
- [reprint]useful linux commands
linux一说都是搞开发玩的,敲敲键盘就能完成所有的工作.其实你也可以这么玩,玩游戏的除外哦. 那我们就来侃侃如何玩,linux是命令的天下,高级的命令那是相当的多,但是我们正真用到的也就那么几个看你 ...
- javax.servlet.jsp.JspException cannot be resolved to a type
javax.servlet.jsp.PageContext cannot be resolved to a type javax.servlet.jsp.JspException cannot be ...
- spring day02-go3
1.复制xml到container/basic包下2.ExampleBean中设置属性,包括基本类型(String和age)和集合类型(List,Set,Map),Properties类型3.添加无参 ...
- 关闭VS实时调试器
到注册表删除以下2个项目就可以了 HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/AeDebug/Debugger HK ...
- 使用Sqlserver Management Studio 导入导出 Excel的方法
之前 帮同事 导入sql server数据 本来打算用 C# 写程序导入的 后来发现网上的方法 貌似 都会对版本 限制来限制去的 看的我好头晕(吐槽一下 难道就没有一个 普遍的方法嘛, ...
- sql存储过程传入ID集合,和临时表的使用
方式1: Declare @SQL NVarChar(max) set @SQL='select *from Loanee as a ApplicationID in ('+@Application ...
- XStream xml转java对象
1:引入jar qn <dependency> <groupId>xstream</groupId> <artifactId>xstream</a ...
- copyallwaterdata
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[copyallwaterdata]') and OBJECT ...
- Openstack的用户登录流程
openstack的用户登录,需要获得集中权限. token 只需要提供用户名和密码即可获得,接口 http://public_url/tokens method:POST body:{"a ...
- VisualSVNServer启动失败错误处理
VisualSVNServerServer service failed to start: 服务已返回特定的服务器错误代码:(0x8007042a) Please check Vis ...