blog posts

Linux’ta touch komutunu tanıma + yaygın olarak kullanılan örnekler

Linux sanal sunucusu satın alıp Linux işletim sistemleri dünyasına girdikten sonra her insanın karşılaştığı en büyük zorluklardan biri komutlarla ve terminalle çalışmaktır. Bu komutlardan biri de dokunma Linux’ta touch komutunu tanıma komutudur.

Dokunma komutu Linux ortamındaki temel komutlardan biridir . Linux’ta touch komutunun asıl kullanımı dosyaların zaman damgalarını değiştirmek olsa da , bu komut aynı zamanda yeni bir dosya oluşturmak için de kullanılır. Ayrıca bu komutla aynı anda birden fazla dosya oluşturabilir veya zaman etiketlerini değiştirebilirsiniz.

Linux komutlarının sonsuz denizinde, çok yönlü ve temel dokunma komutu olağanüstü bir araç olarak kabul edilmektedir. Bu komutun kullanımı, zaman damgasını güncellemenin ötesine geçerek dokunma komutunun çok çeşitli uygulamalara sahip kullanışlı bir araç olmasını sağlamıştır.

Linux çekirdeğini veya Linux sanal sunucusunu temel alan bir işletim sistemiyle uğraşıyorsanız , bu makaleyi sonuna kadar okumak ve bunlarda uzmanlaşmak için terminalinizde öğretilen dokunmatik komutun farklı modlarını denemek daha iyidir.

Bu yazımızda touch komutunun Linux bilginize katacağı incelikleri inceleyeceğiz. Bu içerikleri daha derinlemesine anlamak için Linux ve programlama konusunda uzmanlık bilgisine sahip olmak gerekir.

Timestamp nedir + türleri

Dokunma komutu zaman damgalarıyla ilgili olduğundan, işin başında bu kavrama aşina olmak daha iyidir.

Zaman damgası kelimesi, ofislerdeki kağıt belgelere güncel saati kaydetmek için kullanılan mürekkep damgalarından alınmıştır. Teknoloji dünyasında bu kelime bilgisayar dosyalarında, blockchain ağında ve dijital kameralarda kullanılıyor.

Zaman damgası, Ocak 1970’in ilk günü 00:00:00 UTC’den bu ana kadar geçen saniyeleri ifade eder.

zaman damgası saniye bazlı bir sayıdır ve bunu yıl, ay, gün, saat, dakika ve saniyeden oluşan bir zaman formuna dönüştüren işletim sistemimizdir . Daha fazla doğruluk için Linux sistem saatini  güncel tutmak daha iyidir.

Zaman damgası türleri

Linux işletim sistemindeki bir dosyanın 3 tür zaman damgası vardır:

1. Erişim zamanı veya zamanı (erişim zamanı)

Dosyanın bir komut veya program tarafından en son açıldığı zaman.

2. Değişiklik zamanı veya mtime (değiştirme zamanı)

En son dosyanın içeriğinde değişiklik yapıldı.

3. Zamanı veya ctime’ı değiştirin (zamanı değiştirin)

Dosyanın meta verileri en son değiştirildiğinde. Meta veriler dosya konumu, dosya izinleri veya dosya sahipliği gibi şeyler olabilir.

Dokunma komutu nedir?

Dokunma komutu, Linux’ta zaman damgalarında değişiklik yapmak için kullanılan temel ve önemli bir komuttur, ancak bu temel işlevin ötesinde bir potansiyele sahiptir. Bu komut, bir dosyanın değişiklik, değişiklik ve erişim zaman damgalarının güncellenmesi gibi durumlarda kullanılır ve aynı zamanda yeni dosyalar oluşturma özelliğine de sahiptir.
Bu basit ama etkili komut, her Linux kullanıcısının kullandığı en temel komutlardan biridir. Touch komutunu kullanarak bir dosyanın zaman damgasını güncellemeye yönelik sözdizimi aşağıdaki gibidir:

touch [options] filename

‘Dosyaadı’ değişkeni, oluşturmak veya zaman damgasını değiştirmek istediğiniz dosyanın adıdır ve ‘seçenekler’ değişkeni, dokunma komutunun çalışmasının nasıl ayarlanacağını belirtir. Bu komut seçeneklerle ve seçenekler olmadan çalışır.

Linux’ta touch komutunu kullanmanın yaygın durumları

Dokunma komutunun çeşitli kullanımları vardır. Bu nedenle bu bölümde türlerini birlikte inceleyip açıklayacağız.

1. Dosya değişikliğini ve erişim zaman damgalarını güncelleme

Mevcut dosya için herhangi bir etiket içermeyen touch komutunun varsayılan işlevi, değişiklik ve erişim zaman damgalarını (atime ve mtime) işletim sisteminin geçerli saatine güncellemektir. Bu, basitçe dosya adını dokunma komutunun arkasına koyarak ve komutu çalıştırarak yapılır.

Örneğin, ‘example.txt’ dosyasının atime ve mtime değerlerini aynı anda güncellemek için kodu şu şekilde çalıştırmamız gerekir:

touch example.txt

Ayrıca erişim zamanı etiketi veya atime ve değişiklik zamanı etiketi veya mtime seçenekleri yerine sırasıyla a- ve m- karakterlerini yerleştirerek dosyayı bağımsız olarak değiştirmek de mümkündür:

touch -a example.txt
touch -m example.txt

2. Yeni bir dosya oluştur

Linux işletim sisteminde yeni bir dosya oluşturmak için cat ve touch olmak üzere iki komut kullanabiliriz . Cat komutu, içeriğe sahip bir dosya oluşturmak için kullanılır ve touch komutu, boş bir dosya oluşturmak için kullanılır.

Bir dosyayı kaybettiyseniz veya varlığından emin değilseniz, dosyayı Linux işletim sisteminde aramak için find komutunu kullanabilirsiniz .

Anında boş bir dosya oluşturmanız gerektiğinde dokunma komutu çok kullanışlıdır. Bu komutla yeni bir boş dosya oluşturabilirsiniz:

touch <filename>

Örneğin test dosyası yoksa aşağıdaki komut girilerek oluşturulacaktır:

touch test

Touch komutuyla yeni bir dosya oluşturun

Aşağıdaki kodlar ile touch komutu ile aynı anda birden fazla boş dosya oluşturabilirsiniz.

Bu kodda <dosyaadı> yerine dosyaların adlarını yazmanız yeterlidir.

touch <filename> <filename>

Örneğin:

touch test1 test2

Touch komutuyla bazı yeni dosyalar oluşturun

Toplu olarak yeni ve boş dosyalar oluşturmak için bu kodu kullanabilirsiniz. Bu komutta dosya adı, başlangıç ​​ve bitiş yerine sırasıyla dosyanın adını ve adın ilk ve son öğesini yazmalısınız.

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

Örneğin, 1’den 10’a kadar sayıları kullanarak on dosya oluşturmak istiyoruz:

touch test{1..10}

Linux'ta 1'den 10'a kadar sayıları içeren on dosya oluşturun

veya a’dan j’ye kadar olan harfleri içeren dosyalar oluşturmak istiyoruz:

touch test_{a..j}

Linux'ta a'dan j'ye kadar harfler içeren dosyalar oluşturma

Bu kombinasyonda kelimeleri ve sayıları aynı anda kullanamayacağınızı unutmayın.

Yükle’ye tıklayın   ve Linux’ta fping komutunu örneklerle kullanın

Ayrıca, bir dosyanın varlığından veya yokluğundan haberdar değilseniz ve yalnızca varsa zaman damgasını değiştirmek istiyorsanız ve yeni bir dosya oluşturmadığınızda, aşağıdaki kod gibi, seçenekler alanına c- terimini koyun. .

touch -c <filename>

Örneğin, timestamp’ın altındaki komut, new_test dosyasının zaman damgasını değiştirir ve bu dosya mevcut değilse yeni bir dosya oluşturmaz.

touch -c new_test

Linux'ta touch komutuyla yeni bir dosya oluşturun

3. Linux’ta belirli bir Zaman Damgası Ayarlama

Dokunma komutu kullanılarak belirli bir Zaman Damgası ayarlanabilir. Bu komut, komut dosyalarıyla uğraşırken veya belirli zaman damgaları gerektiren senaryoları test etmek istediğinizde kullanışlıdır. Bunu yapmak için birkaç yöntemimiz var:

a) t-etiketi

İlk yöntemde touch komutundan sonra t- kelimesini koyun ve ardından istediğiniz zaman damgasını aşağıdaki formatta girin ve sonuna dosya adını yazın.

[[CC]YY]MMDDhhmm[.ss]

Zaman formatının başından sonuna kadar açıklaması şu şekildedir:

  • CC: Yılın ilk iki karakteri
  • YY: yılın son iki karakteri
  • MM: Ay karakterleri
  • DD: Günün karakterleri
  • hh: saat karakterleri
  • mm: dakika karakterleri
  • ss: Saniye karakterleri

Örneğin:

touch -t 199901010000 test

Bu örnekte, test dosyasının zaman damgaları 1 Ocak 1999’da 00:00:00 olarak ayarlandı.

Linux'ta belirli bir zaman damgası ayarlama

b) etiket d-

Dokunma komutundaki d-etiketi ve bir tarih dizesi kullanılarak, üç zaman etiketinin tümü istenen saate değiştirilebilir.

touch -d <string> <filename>

Bir dosyanın zaman damgasını 27 Mayıs 1998 10:28 olarak değiştirmek istiyorsak aşağıdaki komutu çalıştırmamız gerekir:

touch -d '27 May 1998 10:28' example.txt

Tarih dizesinin tek tırnak içine yerleştirilmesi gerektiğine dikkat edin.

Tarih dizesi, konuşma biçiminde yazma formlarını da destekleyen esnek bir biçimdir. Bu koddaki tarihi girerek dosyanın zaman etiketini geçerli yılla değiştirebilirsiniz. Bu dizeyi koda aşağıdaki gibi girebilirsiniz:

  • 19 Ağustos 2020 gibi takvim biçimindeki tarih
  • Günün 08:02 veya 21:27 gibi bir saati
  • Pazar gibi haftanın bir günü
  • 5 yıl öncesi veya dün veya gelecek salı gibi göreceli tarihler

Örneğin d-etiketli test dosyasının tarihini yarın olarak değiştirmek için aşağıdaki kodu çalıştırıyoruz:

touch -d tomorrow test

Dosyanın zaman damgasını touch komutuyla değiştirme

c) r- etiketi

r- seçeneğini kullanarak bir dosyanın zaman damgalarını başka bir dosyanın zaman damgalarına ayarlayabilirsiniz. Bununla belirli bir dosyanın zaman etiketlerini, söz konusu dosyanın geçerli saati olarak kullanırız.

touch -r <reference file> <file>

Aşağıdaki komut, test dosyasının zaman damgalarını new_test dosyasının geçerli saati olarak ayarlar:

touch -r test new_test

Bir dosyanın Zaman Damgasını başka bir dosyanın zamanıyla ayarlama

d) Kombinasyon etiketleri

Bahsedilen seçenekler bir arada da kullanılabilir. Açıklaması aşağıdaki gibidir:

  • Bir saati belirli bir saate değiştirin:
touch -at <timestamp> <filename>
  • Mtime’ı belirli bir zamana değiştirin:
touch -mt <timestamp> <filename>
  • Mtime ve atime’ın belirli bir zamana eş zamanlı değişimi:
touch -amt <filename>

Dilerseniz yukarıdaki örneklerde olduğu gibi t- yerine d- etiketini de kullanabilirsiniz.

4. Aynı anda birden fazla dosyanın zaman damgası güncellemesi

Dokunma komutu, aynı anda birden fazla dosyanın Zaman Damgasını güncellemenize olanak tanır. Dosyaların güncellenmesi için touch komutunda sadece dosya adlarını argüman olarak arka arkaya yazmak yeterlidir. Örneğin, komut:

touch file1.txt file2.txt file3.txt

File1.txt, file2.txt ve file3.txt adlı üç dosyanın değişiklik ve erişim zaman damgalarını günceller.

5. Sembolik Bağlantıların zaman damgasını değiştirme

Dokunmatik kodun seçenekler kısmına h- koyarak, referans verilen dosyaların Zaman Damgasını değiştirmeden Sembolik Bağlantının zaman etiketini değiştirebilirsiniz.

touch -h <filename>

Örneğin, kod:

touch -h link

Sembolik bağlantının zaman etiketini geçerli saate değiştirir ve referans dosyasıyla hiçbir ilgisi yoktur.

Sembolik Bağlantıların zamanını değiştirme

Ancak h-etiketini touch komutuna dahil etmezsek, touch komutu başvurulan dosyanın zaman damgasını değiştirir ve sembolik bağlantının zaman damgasını olduğu gibi bırakır.

touch link

Başvurulan dosyanın zaman damgasını değiştirme

son söz

Dokunma komutu, her Linux kullanıcısının ihtiyaç duyduğu temel komuttur ve ona dosya yönetimi, komut dosyası testi ve diğer çeşitli görevlerde yardımcı olur. Her kullanıcı, uygulamalarını ve seçeneklerini öğrenerek Linux ortamındaki üretkenliğini ve verimliliğini önemli ölçüde artırabilir.

Zaman damgalarını güncellemeniz, hızlı bir şekilde yeni bir dosya oluşturmanız veya yalnızca test için belirli zaman damgalarını ayarlamanız gerekiyorsa touch komutu, bunları yapmayı basitleştirmenize yardımcı olacaktır.

Bu komutu kullanmanın basitliği size gücü hakkında yanlış bir izlenim verebilir, ancak bu komut hem acemi hem de profesyonel Linux kullanıcıları için güçlü bir araçtır.

Sonuç olarak, touch komutunun her Linux kullanıcısı için önemli bir araç olduğunu ve bu komutun çeşitli uygulamalarının ve seçeneklerinin doğru anlaşılmasının şüphesiz Linux ortamının kullanımını optimize edeceğini söylemek gerekir.