GNU/Linux >> Linux の 問題 >  >> Linux

Linuxでtouchコマンドを使用する方法

はじめに

タッチ コマンドの主な機能は、タイムスタンプを変更することです。通常、ユーティリティはファイルの作成に使用されますが、これは主要な機能ではありません。ターミナルプログラムは、任意のファイルの変更とアクセス時間を変更できます。 タッチ コマンドは、ファイルがまだ存在しない場合にのみファイルを作成します。

このチュートリアルでは、 touchの使用方法について説明します 基本オプションと詳細オプションを備えたコマンド。

前提条件

  • Linuxを実行しているシステム。
  • コマンドライン/ターミナルへのアクセス。
  • lsなどの基本的なターミナルコマンド

touchコマンド構文

touchの基本的な構文 コマンドは次のとおりです:

touch <options> <file or directory name>

タッチユーティリティは、オプションなしで、または高度なクエリ用の複数のオプションを使用して機能します。一部のオプションには、長い形式と短い形式があります。オプションに追加情報が必要な場合は、長い形式と短い形式の両方でデータが必須です。

touchコマンドオプション

以下は、利用可能なすべての touchのリファレンステーブルです。 コマンドオプション:

オプション 説明
-a アクセス時間を変更します。
-c
-no-create
新しいファイルの作成を回避します。
-d =
-date =
日付文字列を使用してタイムスタンプを変更します。
-f 影響なし。古いBSDでは、オプションは変更を強制します。
-h
--逆参照なし
シンボリックリンクのタイムスタンプを変更します。
-m 変更時間を変更します。
-r =
-reference =
タイムスタンプを参照ファイルのタイムスタンプに変更します。
-t タイムスタンプを変更します。スタンプは日付/時刻の形式です。
-ヘルプ ヘルプメニューを開きます。
-v
-バージョン
プログラムバージョンを印刷します。

Linuxタッチの例

Linuxでファイルを操作する場合、注意すべき3つのタイムスタンプがあります。

1.アクセス時間 またはatime コマンドがgrepやcatなどのファイルの内容を読み取るときに変更されます。 ls -lu コマンドはファイルの時間を表示します。

2.変更時間 またはctime ファイルの名前変更、ファイル権限の変更、ファイルの移動など、ファイルのプロパティが変更されると変更されます。 ls -lc コマンドはファイルのctimeを表示します。

3.変更時間 またはmtime ファイルの内容が変更されると変更されます。 ls -l <​​/ code> コマンドはファイルのmtimeを表示します。

以下の例はすべてターミナルから実行され、Linux touchの使用方法を示しています さまざまなオプションと期待される出力を備えたコマンド。

ファイルの作成

タッチを使用する最も簡単な方法 コマンドにはオプションがありません:

touch <filename>

ファイルが存在しない場合は、touchがファイルを作成します。たとえば、 testというファイルを作成するには 、実行:

touch test

lsコマンドを使用してファイルを表示するには、ディレクトリの内容を一覧表示します。

ファイルがすでに存在する場合は、タッチしてタイムスタンプを現在の時刻に変更します。

ファイルの内容と権限は変更されません。

複数のファイルを作成する

タッチ コマンドは複数のファイルを作成することもできます。これを行うには、ファイル名をスペースで区切ってリストします。

touch <filename> <filename>

例:

touch test1 test2

タッチを適用する便利な方法 ファイルの大きなバッチを作成することです。これを行うには、中かっこを追加し、ファイル名に加えて最初と最後の要素を示します。

touch <filename{<start>..<finish>}>

たとえば、番号が追加された10個のファイルを作成するには、次のコマンドを実行します。

touch test{1..10}

このコマンドは文字でも機能します。例:

touch test_{a..j}

重要 :コマンドで数字と文字を組み合わせることはできません。

特定のタイムスタンプを設定

タッチを使用する 既存のファイルに特定のタイムスタンプを設定するコマンド。例:

touch -t <timestamp> <filename>

タイムスタンプの形式は特定のパターンに従います:

[[CC]YY]MMDDhhmm[.ss]
  • CC -1年間の最初の2桁
  • YY -1年間の最後の2桁
  • MM -月
  • DD -その日
  • hh -時間
  • mm -分
  • ss -秒

角括弧内の数字はオプションです。 2桁の年形式を使用する場合は、 YYを設定します 0〜68の任意の数値に、自動的に CCを想定します は20ですが、69-99は CCを想定しています は19です。

たとえば、 testというファイルのタイムスタンプを変更するには 1999年1月1日深夜 、実行:

touch -t 199901010000 test

-フルタイムを使用する lsのオプション タイムスタンプの詳細を表示します。

日付文字列を使用してファイルのタイムスタンプを設定する

タッチ コマンドは-dを使用します 日付文字列を使用してタイムスタンプを設定するオプション。構文は次のとおりです。

touch -d <string> <filename>

日付文字列は柔軟な時刻形式であり、人間が読めるさまざまなテキスト形式を受け入れます。いくつかの例が含まれます:

  • 2020年8月19日などのカレンダーの日付
  • 9:27 pmなどの時刻 または8:02 am
  • 日曜日などの曜日 月曜日 、など
  • 5年前などの相対時間 昨日 次の火曜日 、など

たとえば、 -dを使用してタイムスタンプを変更します 明日へのオプション

touch -d tomorrow test

可能な文字列入力オプションの完全なリストを確認するには、日付入力形式のGNUドキュメントにアクセスしてください。

アクセス時間を現在に変更

-aを使用します ファイルのアクセス時間を変更するタグ。一般的な構文は次のとおりです。

touch -a <filename>

たとえば、ファイルのアクセス時間を表示するには、次のコマンドを実行します。

ls -lu

次に、 testという名前のファイルのアクセス時間を変更します と:

touch -a test

最後に、次を実行して変更された時刻を表示します:

ls -lu

アクセス時間は現在のタイムスタンプに変更されます。

アクセス時間を明示的に変更する

-a を組み合わせて、アクセス時間を特定のタイムスタンプに変更します および-t オプション:

touch -at <timestamp> <filename>

ファイルを変更する前に、ファイルのアクセス時間を確認してください:

ls -lu

ファイルのアクセス時間を変更するテスト 深夜まで1999年1月1日 、タイムスタンプを追加することにより:

touch -at 9901010000 test

最後に、変更後のアクセス時間を確認します。

ls -lu

コマンドを実行すると、アクセス時間は -tで設定された値に変わります。 タグ。

変更時間を現在に変更

タッチ コマンドは、変更時間を変更するオプションを提供します。基本的な構文は次のとおりです。

touch -m <filename>

例として、タイムスタンプを変更する前にファイルのmtimeを確認してください:

ls -l

次に、テストファイルの変更時間を変更します。

touch -m test

最後に、変更後のmtimeを確認します:

ls -l

-m オプションは、変更時刻をデフォルトで現在のタイムスタンプに変更します。

変更時間を明示的に変更する

-mを組み合わせる -tのオプション 変更のタイムスタンプを明示的に指定します。一般的な構文は次のとおりです。

touch -mt <timestamp> <filename>

ファイルを変更する前に、ファイルのmtimeを確認してください:

ls -l

変更時刻を深夜に変更します1999年1月1日 、実行することにより:

touch -mt 9901010000 test

最後に、変更時間を再確認します:

ls -l

-tを追加する オプションは、変更時間を特定の値に更新します。

変更とアクセス時間の両方を変更

タッチユーティリティを使用すると、1つのコマンドで変更とアクセス時間を変更できます。これを行うには、次を実行します:

touch -am <filename>

atimeとmtimeを変更する前に、次の項目で確認してください:

ls -lu
ls -l

次に、テストの両方の時間を変更します 現在のタイムスタンプへのファイル:

touch -am test

変更後のatimeとmtimeを確認してください:

ls -lu
ls -l

組み合わせたオプションは、現在の時刻に一度に両方の時刻を変更します。さらに-tと組み合わせる 明示的なタイムスタンプを示すタグ。

新しいファイルの作成を避ける

デフォルトでは、touchは新しいファイルが存在しない場合にそれを生成します。ただし、特定の状況では、この機能をオーバーライドする必要があります。 -cを追加します touchを呼び出すときに新しいファイルを作成しないようにするオプション コマンド:

touch -c <filename>

たとえば、 touchを実行してみてください -cを使用 存在しないファイルのオプション:

touch -c new_test

ディレクトリの内容を一覧表示して、ファイルが存在しないことを確認します。

ls -l

一方、ファイルが存在する場合は、 touch コマンドは、通常どおり既存のファイルに対して提供された操作を実行します。

参照ファイルを使用してタイムスタンプを設定する

タッチ コマンドは、別のファイルのタイムスタンプに基づいてファイルのタイムスタンプを変更するための便利なオプションを提供します。

このような変更を実行するには、次を実行します:

touch -r <reference file> <file>

たとえば、新しいファイルを作成し、既存のテストのタイムスタンプを参照します。 ファイル:

touch -r test new_test

次のファイルで両方のファイルのタイムスタンプを確認します:

ls -l

new_test ファイルはテストからタイムスタンプを継承します ファイル。

シンボリックリンクを使用してタイムスタンプを設定する

タッチ コマンドを使用すると、参照ファイルのタイムスタンプを変更せずに、シンボリックリンクのタイムスタンプを変更できます。 -hを使用します シンボリックリンクの時間を変更するオプション:

touch -h <filename>

たとえば、変更する前に、既存のシンボリックリンクの時間を確認します。

ls -l

シンボリックリンクのタイムスタンプを現在の時刻に変更します:

touch -h link

最後に、タイムスタンプを再確認して変更を確認します。

ls -l

-hなし オプション、タッチ コマンドはテストのみを変更します ファイルのタイムスタンプ。

この場合、シンボリックリンクのタイムスタンプは変更されません。


Linux
  1. Linuxgrepコマンドの使用方法

  2. Linuxでhistoryコマンドを使用する方法

  3. LinuxでTarコマンドを使用する方法

  1. Linuxの履歴コマンドの使用方法

  2. Linuxでmd5sumコマンドを使用する方法

  3. LinuxTouchコマンドの使用方法+例

  1. Linuxxargsコマンドの使用方法

  2. Linuxteeコマンドの使用方法

  3. Linuxでトップコマンドを使用する方法