Android

Linux'ta dosyaları kısaltma (boşaltma)

Что такое Linux, обзор, отличия. Какой Linux выбрать в 2020

Что такое Linux, обзор, отличия. Какой Linux выбрать в 2020

İçindekiler:

Anonim

Bazı durumlarda, varolan bir dosyayı sıfır uzunlukta kısaltmak isteyebilirsiniz. Basitçe ifade etmek gerekirse, bir dosyanın kesilmesi, dosyayı silmeden dosya içeriklerinin kaldırılması anlamına gelir.

Bir dosyayı kesmek, dosyayı silmek, yeniden oluşturmak ve doğru izinleri ve sahipliği ayarlamaktan çok daha hızlı ve kolaydır. Ayrıca, dosya bir işlem tarafından açılırsa, dosyanın kaldırılması onu kullanan programın arızalanmasına neden olabilir.

Bu eğiticide Linux sistemlerinde kabuk yeniden yönlendirme ve truncate komutunu kullanarak dosyaların nasıl sıfır boyutta truncate .

Kabuk Yeniden Yönlendirme

Dosyaları kısaltmanın en kolay ve en çok kullanılan yöntemi > kabuk yönlendirme işlecini kullanmaktır.

Yeniden yönlendirme kullanarak dosyaları kısaltmanın genel biçimi:

: > filename

Komutu yıkalım:

  • : İki nokta, true anlamına gelir ve çıktı üretmez. Yönlendirme operatörü > önceki komutun çıktısını verilen dosyaya yeniden yönlendirir. filename , kısaltmak istediğiniz dosya.

Dosya varsa, sıfıra kesilir. Aksi takdirde dosya oluşturulur.

Bunun yerine : çıktı üretmeyen başka bir komutu da kullanabilir.

Aşağıda, yalnızca dosya sonu karakteri döndüren /dev/null aygıtının içeriğini çıktılamak için cat komutunu kullanma örneği verilmiştir:

cat /dev/null > filename

Kullanılabilecek diğer bir komut echo . -n seçeneği echo'ya yeni satır eklememesini söyler:

echo -n > filename

Bash veya Zsh gibi çoğu modern mermilerde, yönlendirme sembolünden önce komutu atlayabilir ve kullanabilirsiniz:

> filename

Bir dosyayı kısaltabilmek için dosyaya yazma izninizin olması gerekir. Genellikle bunun için sudo kullanırsınız, ancak yükseltilmiş kök ayrıcalıkları yeniden yönlendirme için geçerli değildir. İşte bir örnek:

sudo: > /var/log/syslog

bash: /var/log/syslog: Permission denied

Sudo ile yeniden yönlendirmeye izin veren birkaç çözüm var. İlk seçenek sudo ile yeni bir kabuk çalıştırabilir ve -c bayrağını kullanarak o kabuğun içinde bir komut yürütebilir:

sudo sh -c '> filename'

Başka bir seçenek de çıktıyı tee komutuna bağlamak, tee ayrıcalıklarını sudo ile yükseltmek ve boş çıktıyı belirli bir dosyaya yazmaktır:

: | sudo tee filename

truncate Komutu

truncate , bir dosyanın boyutunu belirli bir boyuta küçültmenizi veya genişletmenizi sağlayan bir komut satırı yardımcı programıdır.

truncate komutuyla dosyaları sıfır boyutuna truncate için genel sözdizimi aşağıdaki gibidir:

truncate -s 0 filename

-s 0 seçeneği dosya boyutunu sıfıra ayarlar.

Örneğin, Nginx erişim günlüğünü boşaltmak için şunları kullanırsınız:

sudo truncate -s 0 /var/log/nginx/access.log

Tüm Günlük Dosyalarını Boşalt

Zamanla, disk sürücünüz büyük miktarda disk alanı kaplayan çok sayıda büyük günlük dosyasıyla karışabilir.

Aşağıdaki komut, /var/log dizini altındaki “.log” ile biten dosyaları boşaltır:

sudo truncate -s 0 /var/log/**/*.log

logrotate aracıyla günlük dosyalarını döndürmek, sıkıştırmak ve kaldırmak daha iyi bir seçenek olabilir.

Sonuç

Linux'ta bir dosyayı kısaltmak için yeniden yönlendirme işlecini > ardından dosya adını kullanın.

kısaltma terminali