「touch」コマンドでは主にファイルやディレクトリの最終更新日を変更することができます。
「最終更新日」は、その対象ファイルやディレクトリを最後に変更した日付となります。
また、この「touch」コマンドはファイルを新規に作成することもできるので、使い方によっては使用頻度の高いコマンドとなります。
「touch」コマンドの使い方(Linux)
「touch」コマンドは日付変更をすることが主な使い方ですが、以下のように新規にファイルを作成することができます。
$ touch test01.txt $ ls -lF total 0 -rw-r--r-- 1 root root 0 7月 24 03:24 test01.txt
新規作成は上記のように簡単に作成することが可能です。
以下では日付変更の使い方を紹介します。
ファイルを現在の日付・時刻に変更する
「touch」コマンドを使用して、以下カレントディレクトリ上のファイル「file01.txt」の最終更新日の日付を変更します。
$ ls -lF total 0 -rw-r--r-- 1 root root 0 7月 18 08:06 file01.txt -rw-r--r-- 1 root root 0 7月 18 08:06 file02.txt -rw-r--r-- 1 root root 0 7月 18 08:06 file03.txt
「file01.txt」の中身を確認します。
$ cat file01.txt test_touch_command test_touch_command test_touch_command
現在の日時を確認します。
$ date 2021年 7月 24日 土曜日 03:37:13 UTC
「touch」コマンドを実行して現在の最新の日付にファイルを更新します。
$ touch file01.txt
対象のファイルが現在の最新の日付に変更されたことが確認できます。
$ ls -lF total 4 -rw-r--r-- 1 root root 58 7月 24 03:37 file01.txt -rw-r--r-- 1 root root 0 7月 18 08:06 file02.txt -rw-r--r-- 1 root root 0 7月 18 08:06 file03.txt
ファイルの中身は変更されていないことが確認できます。
$ cat file01.txt test_touch_command test_touch_command test_touch_command
ファイルの日付を任意に変更する
「touch」コマンドでは最新の日付にファイルを更新するだけではなく、任意の日付に変更することも可能です。
「file01.txt」ファイルを任意の日付に変更します。
$ ls -lF total 4 -rw-r--r-- 1 root root 58 7月 24 03:37 file01.txt -rw-r--r-- 1 root root 0 7月 18 08:06 file02.txt -rw-r--r-- 1 root root 0 7月 18 08:06 file03.txt
「2021年6月6日6時6分」に日付を変更します。
$ touch -t 202106060606 file01.txt
「file01.txt」ファイルの日付が任意の日付に変更されたことを確認できました。
$ ls -lF total 4 -rw-r--r-- 1 root root 58 6月 6 06:06 file01.txt -rw-r--r-- 1 root root 0 7月 18 08:06 file02.txt -rw-r--r-- 1 root root 0 7月 18 08:06 file03.txt
「touch」コマンドオプション
「touch」コマンドのオプションは以下の通りとなります。
$ touch --help Usage: touch [OPTION]... FILE... Update the access and modification times of each FILE to the current time. A FILE argument that does not exist is created empty, unless -c or -h is supplied. A FILE argument string of - is handled specially and causes touch to change the times of the file associated with standard output. Mandatory arguments to long options are mandatory for short options too. -a change only the access time -c, --no-create do not create any files -d, --date=STRING parse STRING and use it instead of current time -f (ignored) -h, --no-dereference affect each symbolic link instead of any referenced file (useful only on systems that can change the timestamps of a symlink) -m change only the modification time -r, --reference=FILE use this file's times instead of current time -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time --time=WORD change the specified time: WORD is access, atime, or use: equivalent to -a WORD is modify or mtime: equivalent to -m --help display this help and exit --version output version information and exit Note that the -d and -t options accept different time-date formats. GNU coreutils online help: <https://www.gnu.org/software/coreutils/> Report touch translation bugs to <https://translationproject.org/team/> Full documentation at: <https://www.gnu.org/software/coreutils/touch> or available locally via: info '(coreutils) touch invocation'
「touch」コマンドの使い方は以上となります。
エンジニアのオンライン学習
エンジニアにおすすめのオンライン教材比較 | |
ITエンジニアが自宅で学習ができるオンラインスクール比較 | |