LinuCレベル1 101試験の例題と解説
主題1.02ファイル・ディレクトリの操作と管理
1.02.2基本的なファイル管理の実行
LinuCレベル1 101試験の出題範囲から「1.02.2 基本的なファイル管理の実行」についての例題を解いてみます。
例題
次の選択肢のうち、101.txt の最終アクセス時刻は変更せずに最終更新時刻のみを現在時刻に変更したい場合、実行すべきコマンドはどれでしょうか。
- touch -m 101.txt
- touch -a 101.txt
- touch 101.txt
- touch -r 101.txt
※この例題は実際の試験問題とは異なります。
解答と解説
正解は、「1. touch -m 101.txt」です。
-m オプションを指定すると、mtime(最終更新時刻)のみを変更対象とします。atime(最終アクセス時刻)は変更されません。ただし、ctime(最終ファイル属性更新時刻)は更新されます。
各選択肢の解説は次の通りです。
touch コマンドには次のようなオプションがあります。
-d:指定した日時にタイムスタンプを設定する
-c:ファイルが存在しない場合は作成しない
-r:指定したファイルのタイムスタンプに合わせる
-a:最終アクセス時刻(atime)を変更する
-m:最終更新時刻(mtime)を変更する
-h:シンボリックリンクの場合、リンク先ではなくリンク自体のタイムスタンプを変更する
2. touch -a 101.txt
誤りです。
-a は最終アクセス時刻(atime)のみを変更するオプションです。最終更新時刻(mtime)は変更されません。
3. touch 101.txt
誤りです。
オプションを指定していないため、最終アクセス時刻(atime)と最終更新時刻(mtime)の両方が変更されます。
4. touch -r 101.txt
誤りです。
-r オプションは、指定した参照ファイルのタイムスタンプを対象ファイルにコピーするためのオプションです。参照ファイルと対象ファイルの引数が2つ必要ですが、この指定では1つのファイルのみが指定されているためエラーになります。
正しい使用例は以下の通りです。
touch -r 102.txt 101.txt上記のように指定することで、102.txtのタイムスタンプを101.txtにコピーすることができます。
タイムスタンプの種類と違いを補足します。
mtime:最終更新時刻(ファイル内容を編集・追記する など)
atime:最終アクセス時刻(ファイルを読む など)
ctime:最終ファイル属性更新時刻(権限を変更する など)
タイムスタンプの変更例は以下の通りです。
なお、最終ファイル属性更新時刻(ctime)は、最終更新時刻(mtime)と最終アクセス時刻(atime)のいずれを変更した場合でも変更されます
- 最終更新時刻(mtime)を変更する場合
[root@time ~]# stat time.txt
File: time.txt
Size: 6 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 16910098 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2026-03-06 15:00:00.xxxxxxxxx +0900
Modify: 2026-03-06 15:00:00.xxxxxxxxx +0900
Change: 2026-03-06 15:00:00.xxxxxxxxx +0900
Birth: 2026-03-06 15:00:00.xxxxxxxxx +0900
[root@time ~]#
[root@time ~]# touch -m time.txt
[root@time ~]#
[root@time ~]# stat time.txt
File: time.txt
Size: 6 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 16910098 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2026-03-06 15:00:00.xxxxxxxxx +0900
Modify: 2026-03-06 15:10:00.xxxxxxxxx +0900
Change: 2026-03-06 15:10:00.xxxxxxxxx +0900
Birth: 2026-03-06 15:00:00.xxxxxxxxx +0900
[root@time ~]#- 最終アクセス時刻(atime)を変更する場合
[root@time ~]# stat time.txt
File: time.txt
Size: 6 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 16910098 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2026-03-06 15:00:00.xxxxxxxxx +0900
Modify: 2026-03-06 15:00:00.xxxxxxxxx +0900
Change: 2026-03-06 15:00:00.xxxxxxxxx +0900
Birth: 2026-03-06 15:00:00.xxxxxxxxx +0900
[root@time ~]#
[root@time ~]# touch -a time.txt
[root@time ~]#
[root@time ~]# stat time.txt
File: time.txt
Size: 6 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 16910098 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2026-03-06 15:10:00.xxxxxxxxx +0900
Modify: 2026-03-06 15:00:00.xxxxxxxxx +0900
Change: 2026-03-06 15:10:00.xxxxxxxxx +0900
Birth: 2026-03-06 15:00:00.xxxxxxxxx +0900
[root@time ~]#例題作成者
株式会社デージーネット 経営企画室 朱龍一