68 pardus öğreniyoruz uçbirim -terminal- komut çıktılarını dosyaya kaydetme
İçindekiler:
- Linux Komut Sözdizimini
find - Dosyaları İsme Göre Bul
- Uzantıya Göre Dosya Bul
- Türe Göre Dosya Bul
- Dosya Boyutuna Göre Bul
- Değişiklik Tarihine Göre Dosya Bul
- İzinlere Göre Dosya Bul
- Dosya Sahibine Göre Bul
- Dosyaları Bulma ve Silme
- Sonuç
find
komutu Linux sistem yöneticileri cephaneliğindeki en güçlü araçlardan biridir. Kullanıcı tarafından verilen bir ifadeye dayalı olarak bir dizin hiyerarşisindeki dosyaları ve dizinleri arar ve eşleşen her dosya üzerinde kullanıcı tarafından belirtilen eylemi gerçekleştirebilir.
Dosyaları ve dizinleri izinlerine, türüne, tarihine, sahipliğine, boyutuna ve diğerlerine göre aramak için
find
komutunu kullanabilirsiniz. Ayrıca
grep
veya
sed
gibi diğer araçlarla birlikte kullanılabilir.
Linux Komut Sözdizimini
find
Find komutunun genel sözdizimi aşağıdaki gibidir:
find
-
optionsözniteliği, sembolik bağlantıların, hata ayıklama seçeneklerinin ve en iyileştirme yönteminin işlenmesini denetler.path…özniteliği, find'ın dosyaları arayacağı başlangıç dizinini veya dizinleri tanımlar.expressionözniteliği, seçenekler, arama kalıpları ve operatörler tarafından ayrılmış eylemler.
Bir dizindeki dosyaları aramak için,
find
komutunu çağıran kullanıcının o dizinde okuma izinlerine sahip olması gerekir.
Aşağıdaki örneğe bakalım:
find -L /var/www -name "*.js"
-
-L(seçenekler) seçeneği,findkomutuna sembolik bağlantıları izlemesini söyler./var/www(yol…), aranacak dizini belirtir. (İfade)-name "*.jsile biten dosyaları aramayı söyler.js(JavaScript dosyaları).
Dosyaları İsme Göre Bul
Dosyaları ada göre bulmak büyük olasılıkla
find
komutunun en yaygın kullanımıdır. Bir dosyayı adıyla bulmak için,
-name
seçeneği, aradığınız dosyanın adını izledi.
Örneğin,
/home/linuxize
dizininde
document.pdf
adlı bir dosyayı aramak için aşağıdaki komutu kullanırsınız:
find /home/linuxize -type f -name document.pdf
Büyük / küçük harfe duyarlı olmayan bir arama yapmak için
-name
seçeneğini
-iname
ile
-iname
:
find /home/linuxize -type f -iname document.pdf
Yukarıdaki komut “Document.pdf”, “DOCUMENT.pdf”..etc ile eşleşecektir.
Uzantıya Göre Dosya Bul
Dosyaları uzantıya göre aramak, dosyaları ada göre aramakla aynıdır. Örneğin,
/var/log/nginx
dizininde
.log.gz
ile biten tüm dosyaları bulmak için şunları kullanabilirsiniz:
find /var/log/nginx -type f -name '*.log.gz'
Joker karakteri kullandığınızda, desen tarafından alıntı yapmanız veya yıldız işareti
*
sembolünden ters eğik çizgi ile kaçmanız gerektiğini belirtmek önemlidir, böylece kabuk tarafından yorumlanmaz.
Regex
*.log.gz
eşleşmeyen tüm dosyaları bulmak için
*.log.gz
seçeneğini kullanabilirsiniz. Örneğin,
*.log.gz
tüm dosyaları bulmak için:
find /var/log/nginx -type f -not -name '*.log.gz'
Türe Göre Dosya Bul
Bazen normal dosyalar, dizinler veya semboller gibi belirli dosya türlerini aramanız gerekebilir. Linux'ta her şey bir dosyadır.
Dosyaları türlerine göre aramak için,
-type
seçeneğini ve aşağıdaki tanımlayıcılardan birini kullanarak dosya türünü belirtin:
-
f: normal bir dosyad: dizinl: sembolik bağlantıc: karakter aygıtlarıb: blok aygıtlarıp: adlandırılmış yöneltme (FIFO)s: soket
Örneğin, geçerli çalışma dizinindeki tüm dizinleri bulmak için şunu kullanırsınız:
find. -type d
Yaygın örnek,
chmod
komutunu kullanarak web sitesi dosya izinlerini özyineli olarak
644
ve dizin izinlerini
755
değiştirmek olacaktır:
find /var/www/my_website -type d -exec chmod 0755 {} ;
find /var/www/my_website -type f -exec chmod 0644 {} ;
Dosya Boyutuna Göre Bul
Dosyaları dosya boyutuna göre bulmak için,
-size
parametresini boyut ölçütleriyle birlikte
-size
. Dosya boyutunu belirtmek için aşağıdaki sonekleri kullanabilirsiniz:
-
b: 512 baytlık bloklar (varsayılan)c: baytw: iki baytlık kelimelerk: KilobaytM: MegabaytG: Gigabayt
Aşağıdaki komut,
/tmp
dizininde tam olarak
1024
baytlık tüm dosyaları bulur:
find /tmp -type f -size 1024c
find
komutu ayrıca belirtilen boyuttan daha büyük veya daha küçük dosyaları aramanıza da olanak tanır.
Aşağıdaki örnekte, geçerli çalışma dizininde 1
1MB
küçük tüm dosyaları arıyoruz. Boyut değerinden önceki eksi
-
sembolüne dikkat edin:
find. -type f -size -1M
find. -type f -size +1M
Boyut aralığındaki dosyaları bile arayabilirsiniz. Aşağıdaki komut
1
ve
2MB
arasındaki tüm dosyaları bulur:
find. -type f -size +1M -size 21M
Değişiklik Tarihine Göre Dosya Bul
find
komutu ayrıca son değişikliklerine, erişimlerine veya değişiklik sürelerine göre dosyaları arayabilir.
Boyuta göre arama yaparken olduğu gibi, artı ve eksi simgelerini “büyüktür” veya “küçüktür” için kullanın.
Birkaç gün önce güvercin yapılandırma dosyalarından birini değiştirdiğinizi, ancak hangisini unuttuğunuzu varsayalım.
/etc/dovecot/conf.d
dizini altındaki
.conf
ile biten ve son beş gün içinde aşağıdakilerle değiştirilmiş olan tüm dosyalara kolayca filtre
/etc/dovecot/conf.d
:
find /etc/dovecot/conf.d -name "*.conf" -mtime 5
Aşağıda,
-daystart
seçeneğini kullanarak dosyaları değiştirme tarihine göre filtrelemenin başka bir örneği verilmiştir. Aşağıdaki komut,
/home
dizininde
30
veya daha fazla gün önce değiştirilmiş tüm dosyaları listeler:
find /home -mtime +30 -daystart
İzinlere Göre Dosya Bul
-perm
seçeneği, dosya izinlerine göre dosyaları aramanıza olanak tanır.
Örneğin,
/var/www/html
dizininde tam olarak
775
izinli tüm dosyaları bulmak için şunu kullanırsınız:
find /var/www/html -perm 644
Sayısal modun önüne eksi veya eğik çizgi
/
ekleyebilirsiniz.
Eğik çizgi
/
önek olarak kullanıldığında, bir dosyanın eşleşmesi için en az bir kategoride (kullanıcı, grup veya diğerleri) en az ilgili bitler ayarlanmış olmalıdır.
Aşağıdaki örnek komutu düşünün:
find. -perm /444
Yukarıdaki komut, kullanıcı, grup veya diğerleri için ayarlanmış okuma izinlerine sahip tüm dosyalarla eşleşir.
Eksi
-
önek olarak kullanılırsa, dosyanın en azından belirtilen bitlerle eşleşmesi için ayarlanması gerekir. Aşağıdaki komut, sahip ve grup için okuma ve yazma iznine sahip olan ve diğer kullanıcılar tarafından okunabilen dosyaları arar:
Dosya Sahibine Göre Bul
Belirli bir kullanıcının veya grubun sahip olduğu dosyaları bulmak için
-user
ve
-group
seçeneklerini kullanın.
Örneğin,
linuxize
kullanıcısının sahip olduğu tüm dosyaları ve dizinleri aramak için şunu çalıştırırsınız:
find / -user linuxize
İşte gerçek dünya örneği. Diyelim ki
www-data
kullanıcısının sahip olduğu tüm dosyaları bulmak ve eşleşen dosyaların sahipliğini
www-data
nginx
değiştirmek istiyorsunuz:
find / -user www-data -type f -exec chown nginx {} ;
Dosyaları Bulma ve Silme
Eşleşen tüm dosyaları silmek için, eşleme ifadesinin sonuna
-delete
seçeneğini ekleyin.
Bu seçeneği yalnızca sonucun silmek istediğiniz dosyalarla eşleştiğinden eminseniz kullandığınızdan emin olun.
-delete
seçeneğini kullanmadan önce eşleşen dosyaları yazdırmak her zaman iyi bir fikirdir.
Örneğin
.temp
ile biten tüm dosyaları
/var/log/
.temp
silmek için şunu kullanabilirsiniz:
find /var/log/ -name `*.temp` -delete
-delete
seçeneğini son derece dikkatli kullanın.
-delete
komut satırı bir ifade olarak değerlendirilir ve önce
-delete
seçeneğini eklerseniz, komut belirttiğiniz başlangıç noktalarının altındaki her şeyi siler.
Dizinler söz konusu olduğunda,
find
yalnızca
rmdir
aynı olan boş dizinleri silebilir.
Sonuç
find
komutunun çeşitli seçenekler ve ölçütlerle nasıl kullanılacağını gösterdik.
Bu makalede, Linux sistemlerinizdeki dosyaları nasıl bulacağınız konusunda temel bir bilgi vermeniz gerekir. Ayrıca man
find
sayfasını ziyaret edebilir ve
find
komutunun diğer tüm güçlü seçenekleri hakkında bilgi edinebilirsiniz.
Komut Satırını Kullanarak Güç Planlarını Özelleştirme, Yeniden Adlandırma, Değiştirme, Yedekleme ve Geri Yükleme
Yönetme, özelleştirme, yeni Güç Planları oluşturma. Windows 10/8 / 7`de Komut Satırını kullanarak Güç Planlarını Yeniden Adlandırma, Yedekleme ve Geri Yükleme`yi öğrenin.
Iletisini çalıştırmasına izin vermek istiyor musunuz? Düzelt: Komut dosyaları genellikle güvenlidir. Komut dosyalarının çalıştırılmasına izin vermek istiyor musunuz
Açılır mesaj alıyorsanız, Scriptler genellikle güvenlidir. Komut dosyalarının çalışmasına izin vermek istiyor musunuz? Internet Explorer`da art arda, düzeltmeyi al.
Linux komut satırını kullanarak dosya ve dizinleri kaldırma
Bu öğreticide, en yaygın rm seçeneklerinin örnekleri ve açıklamaları aracılığıyla dosyaları ve dizinleri kaldırmak için rm komutunun nasıl kullanılacağını göstereceğiz.







