Jump to content

touch (command)

From Wikipedia, the free encyclopedia
(Redirected from Touch (unix))
touch
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 releaseJanuary 1979; 46 years ago (1979-01)
Written inC
Operating systemUnix, Unix-like, Plan 9, Inferno, FLEX, OS-9, Classic Mac OS, Windows, DR DOS, AROS, FreeDOS, ReactOS, KolibriOS, IBM i
PlatformCross-platform
TypeCommand
Licensecoreutils: 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]
  1. ^ "Native Win32 ports of some GNU utilities". unxutils.sourceforge.net.
  2. ^ "touch for Windows".
  3. ^ "ibiblio.org FreeDOS Package -- touch (Unix-like)". www.ibiblio.org.
  4. ^ "ibiblio.org FreeDOS Group -- Utilities". www.ibiblio.org.
  5. ^ DR DOS 6.0 User Guide Optimisation and Configuration Tips
  6. ^ "Shell - KolibriOS wiki". wiki.kolibrios.org.
  7. ^ "FLEX 9.0 User's Manual" (PDF).
  8. ^ "AROS Research Operating System". aros.sourceforge.io.
  9. ^ Paul S. Dayan (1992). The OS-9 Guru - 1 : The Facts. Galactic Industrial Limited. ISBN 0-9519228-0-7.
  10. ^ "reactos/reactos". GitHub.
  11. ^ IBM. "IBM System i Version 7.2 Programming Qshell" (PDF). IBM. Retrieved 5 September 2020.
  12. ^ "touch(1): change file timestamps - Linux man page". linux.die.net.

Further reading

[edit]
[edit]