Ö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:
touch -a limit1.txt
touch -m limit1.txt
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.
Hocam Teşekkür ederim paylaşım için.