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