Örneklerle Linux’ta Touch Komutu Nasıl Kullanılır

Merhabalar,

Touch komutu, yeni, boş dosyalar oluşturmanın yanı sıra mevcut dosya ve dizinlerdeki zaman damgalarını güncellememizi sağlar.

Bu kılavuzda, pratik örnekler ve en yaygın komut seçeneklerinin ayrıntılı açıklamaları aracılığıyla  touch komutunun nasıl kullanacağınızı sizlere göstermeye çalışacağım.

 

Linux Dosyaları Zaman Damgaları:

touch komutunun nasıl kullanılacağına geçmeden önce, Linux’ta dosya zaman damgalarını gözden geçirerek başlayalım.

Linux’ta bir dosyanın üç zaman damgası vardır:

atime (access time) – Dosyaya cat , vim veya grep gibi bir komut veya uygulama tarafından en son erişildiği/açıldığı zaman.

mtime (modify time) – Dosyanın içeriğinin en son değiştirildiği zaman.

ctime (change time) – Dosyanın özniteliğinin veya içeriğinin en son değiştirildiği zaman. Nitelik, dosya izinlerini, dosya sahipliğini veya dosya konumunu içerir.

 

Zaman damgaları dahil dosya durumunu görüntülemek için stat komutunu kullanın.

stat dosya-adı

Yeni bir dosya oluşturmak, üst dizinde yazma izinleri gerektirir. Aksi takdirde, izin reddedildi hatası alırsınız.

 

Touch Komutu Nasıl Kullanılır:

 

En basit haliyle, herhangi bir seçenek olmadan kullanıldığında, argüman olarak belirtilen dosya adı yoksa, touch yeni bir dosya oluşturacaktır.

 

Dosya zaten mevcutsa, touch dosyaya son erişim ve değişiklik zamanlarını geçerli zamanla değiştirir.

 

Örneğin, limit.txt  dosyası yoksa, aşağıdaki komut onu oluşturacaktır eğer dosya varsa sadece zaman damgalarını değiştirecektir:

touch limit.txt

Aynı anda birden çok dosya oluşturmak veya değiştirmek için dosya adlarını bağımsız değişken olarak belirtin:

touch limit1.txt limit2.txt limit3.txt

 

Touch komutunun yeni dosyalar oluşturmasını istemiyorsanız -c (–no-create) seçeneğini kullanın. Örneğin, limit1.txt dosyası varsa, aşağıdaki komut dosya zaman damgalarını değiştirir, aksi takdirde hiçbir şey yapmaz.

 

Şimdi aşağıda mevcut olan bir dosya için touch komutunu çalıştırdım.Görüldüğü  dosyanın  zaman damgaları değişti.

 

Eğer bir dosya oluşturmak istemiyor sadece dosyanın zaman damgasını değiştirmek istiyorsak

touch -c limit4.txt

 

görüldüğü  gibi dosya dizinde oluşmadı çünkü  -c parametresini kullandım.

 

Yalnızca erişim veya değişiklik zamanlarını değiştirme:

 

Varsayılan olarak, herhangi bir seçenek kullanılmazsa, touch, dosyaya son erişim ve değişiklik zamanlarını geçerli zamana güncelleyecektir. -a ve -m seçeneklerini kullanarak bu zaman damgalarından yalnızca birini değiştirebilirsiniz.

 

Yalnızca erişim zamanını değiştirme:

 

Yalnızca dosyanın erişim zamanını değiştirmek için -a seçeneğini kullanalım.
touch -a  limit1.txt
Yalnızca değiştirme zamanını değiştirme:
Dosyanın değiştirme zamanını değiştirmek için -m seçeneğini kullanalım
touch -m limit1.txt
Değiştirme zamanı değiştirilirken, değişiklik zamanı da güncellenecektir.
Belirli bir zamana  zaman damgasını ayarlama:

 

Touch komutu, aynı zamanda, geçerli saat dışında belirli bir zamana sahip bir dosyayı güncellememize veya oluşturmamıza da olanak tanır.

 

Bir tarih dizesi belirtmek için -d (–date=) seçeneğini kullanın ve geçerli saat yerine bunu kullanın.

 

Örneğin, limit1.txt’in hem son erişim hem de değişiklik zamanlarını 1 Haziran 2018 11:02 olarak değiştirmek için aşağıdaki komutu kullanabilirim.

touch -d '1 july 2017 16:00' limit1.txt

 

Tarih dizesinin tek tırnak içine alınması gerekir.

 

Ayrıca touch komutuna kısmi bir tarih-saat dizesi de sağlayabilirsiniz. Yalnızca tarihi sağlamak, yılı otomatik olarak geçerli olana değiştirir:

touch -d '1 may' limit2.txt

 

 

Bir zaman damgası belirtmek için -t seçeneğini kullanın ve geçerli saat yerine kullanın. Zaman damgası bağımsız değişkeni aşağıdaki biçimde olmalıdır:

use [[CC]YY]MMDDhhmm[.ss]

Örneğin, aşağıdaki komut, dosya1’in son erişim ve değişiklik zamanlarını mevcut yılın 3 Ekim 5:20’sine ayarlayacaktır.

touch -t 10031520 limit3.txt

 

Başka bir dosyanın zaman damgasını kullanma:

-r (–reference=) seçeneği, bir referans dosyası belirlememize ve geçerli saat yerine zaman damgalarını kullanmamıza izin verir.

Örneğin, aşağıdaki  touch komutu limit1.txt için limit2.txt  zamanlarını kullanmasını söyleyecektir:

touch -r limit1.txt limit2.txt

 

Sembolik bağlantı zaman damgasını değiştirme:

Varsayılan olarak, bir sembolik bağlantı üzerinde bir dokunma komutu kullanırsanız, başvurulan dosyanın zaman damgalarını değiştirecektir.

 

Sembolik bağlantının zaman damgasını değiştirmek için -h (–no-dereference) öğesini kullanın.

Örneğin, sembolik bağlantı link.txt ‘in zaman damgalarını değiştirmek için şunları kullanırsınız:

touch -h  link.txt

Bu yazımızın da  sonuna geldik.Umarım sizler içi faydalı olur.

 

Bu eğiticiye oy ver
[Total: 4 Average: 5]
Firat CANOĞLU TAĞ