touch (command)
![]() Example of touch usage | |
Original author(s) | AT&T Bell Laboratories |
---|---|
Developer(s) | Paul Rubin, Arnold Robbins, Jim Kingdon, David MacKenzie, Randy Smith, TSC, Microware, Apple, Digital Research, Novell, Kris Heidenstrom |
Initial release | January 1979 |
Written in | C |
Operating system | Unix, Unix-like, Plan 9, Inferno, FLEX, OS-9, Classic Mac OS, Windows, DR DOS, AROS, FreeDOS, ReactOS, KolibriOS, IBM i |
Platform | Cross-platform |
Type | Command |
License | coreutils: GPLv3+ FreeDOS: GPLv2 ReactOS: BSD-4-Clause BusyBox: GPL-2.0-only Toybox: 0BSD Plan 9: MIT License |
touch
is shell command that sets the modification timestamp of an existing file or directory to be current. If the input path does not specify an existing file system item, then it creates a new file at the path.
The Single Unix Specification (SUS) specifies that touch
changes the access or modification timestamps, or both. The file is identified by file system path supplied as the sole argument. If the path does not specify a file or directory, the command creates a file with access and modification timestamps as specified or by default to the current time.
By default (no options specified), touching a file is equivalent to creating it with no content or if it exists, opening and saving it without any content changes to update the modification timestamp to be current. This convenience functionality is useful for a variety of scenarios including build and backup. The tools used in such scenarios typically ignore files that are older than a certain point of time. For example make ignores a source code file that is older than the object file it is used to create.
The command is often used to create a new file, so that can subsequently open it in an editor or to create a file required by an operation that does not require specific content.
A command first appeared in Version 7 AT&T UNIX. Today, the command is available for many operating systems, including many Unix and Unix-like systems, Windows (via UnxUtils[1] and Touch for Windows.[2]), classic Mac OS, DOS, FreeDOS[3][4], DR DOS 6.0[5], KolibriOS[6], FLEX[7], AROS[8], OS-9[9], ReactOS[10], and IBM i.[11] The version bundled in GNU Core Utilities was written by Paul Rubin, Arnold Robbins, Jim Kingdon, David MacKenzie, and Randy Smith.[12]
See also
[edit]References
[edit]- ^ "Native Win32 ports of some GNU utilities". unxutils.sourceforge.net.
- ^ "touch for Windows".
- ^ "ibiblio.org FreeDOS Package -- touch (Unix-like)". www.ibiblio.org.
- ^ "ibiblio.org FreeDOS Group -- Utilities". www.ibiblio.org.
- ^ DR DOS 6.0 User Guide Optimisation and Configuration Tips
- ^ "Shell - KolibriOS wiki". wiki.kolibrios.org.
- ^ "FLEX 9.0 User's Manual" (PDF).
- ^ "AROS Research Operating System". aros.sourceforge.io.
- ^ Paul S. Dayan (1992). The OS-9 Guru - 1 : The Facts. Galactic Industrial Limited. ISBN 0-9519228-0-7.
- ^ "reactos/reactos". GitHub.
- ^ IBM. "IBM System i Version 7.2 Programming Qshell" (PDF). IBM. Retrieved 5 September 2020.
- ^ "touch(1): change file timestamps - Linux man page". linux.die.net.
Further reading
[edit]- McElhearn, Kirk (2006). The Mac OS X Command Line: Unix Under the Hood. John Wiley & Sons. ISBN 978-0470113851.
External links
[edit]- The Single UNIX Specification, Version 4 from The Open Group – Shell and Utilities Reference,
- Linux User Commands Manual –
- Plan 9 Programmer's Manual, Volume 1 –
- Inferno General commands Manual –
- examples showing how to use touch