man/files
man · Dosyalar

$ chflags

Bölüm 1 · Dosyalar

dosya bayraklarını değiştirir

Özet

chflags [-fhvx] [-R [-H | -L | -P]] bayraklar dosya ...

Açıklama

chflags aracı, listelenen dosyaların dosya bayraklarını, bayraklar işleneninde belirtildiği şekilde değiştirir.

Seçenekler aşağıdaki gibidir:

  • -f: Dosya için bayraklar değiştirilemezse bir tanılama (diagnostic) mesajı görüntülemez ve çıkış durumunu bu tür hataları yansıtacak şekilde değiştirmez.

  • -H: Eğer -R seçeneği belirtilmişse, komut satırındaki sembolik bağlantılar takip edilir ve dolayısıyla bu komuttan etkilenmez. (Dizin ağacı taraması sırasında karşılaşılan sembolik bağlantılar takip edilmez.)

  • -h: Dosya bir sembolik bağlantıysa, işaret ettiği dosya yerine bağlantının kendisinin dosya bayraklarını değiştirir.

  • -L: Eğer -R seçeneği belirtilmişse, tüm sembolik bağlantılar takip edilir.

  • -P: Eğer -R seçeneği belirtilmişse, hiçbir sembolik bağlantı takip edilmez. Bu varsayılan davranıştır.

  • -R: Dosyaların kendileri yerine, bu dosyaları kök alan dizin ağaçlarındaki dosyaların bayraklarını değiştirir. .* gibi joker karakterler kullanırken, üst dizine yönelik olan .. sabit bağlantısıyla (hard link) yanlışlıkla eşleşmemeye dikkat edin.

  • -v: chflags aracının ayrıntılı (verbose) modda çalışmasını sağlar ve bayraklar değiştirilirken dosya adlarını gösterir. Eğer -v seçeneği birden fazla belirtilirse, dosyanın eski ve yeni bayrakları sekizlik (octal) gösterimle de yazdırılır.

  • -x: Bağlama noktalarını (mount points) geçmez.

Bayraklar, sekizlik bir sayı veya virgülle ayrılmış anahtar sözcükler listesi olarak belirtilir. Aşağıdaki anahtar sözcükler şu anda tanımlanmıştır:

Bayrak Alternatif Adlar Açıklama
arch archived Arşivlendi bayrağını ayarlar (yalnızca süper kullanıcı).
nodump nodump bayrağını ayarlar (yalnızca sahibi veya süper kullanıcı).
opaque opaque bayrağını ayarlar (yalnızca sahibi veya süper kullanıcı) [Dizin, bir birleşik bağlama (union mount) üzerinden görüntülendiğinde opaktır].
sappnd sappend Sistem yalnızca veri eklenebilir (append-only) bayrağını ayarlar (yalnızca süper kullanıcı).
schg schange, simmutable Sistem değiştirilemez (immutable) bayrağını ayarlar (yalnızca süper kullanıcı).
uappnd uappend Kullanıcı yalnızca veri eklenebilir (append-only) bayrağını ayarlar (yalnızca sahibi veya süper kullanıcı).
uchg uchange, uimmutable Kullanıcı değiştirilemez (immutable) bayrağını ayarlar (yalnızca sahibi veya süper kullanıcı).
hidden Gizli bayrağını ayarlar [Öğeyi grafik arayüzden (GUI) gizler].

Bir anahtar sözcüğün önüne no harflerini getirmek veya kaldırmak, bayrağın temizlenmesini (kaldırılmasını) sağlar. Örneğin:

  • nouchg: Kullanıcı değiştirilemez bayrağını temizler (yalnızca sahibi veya süper kullanıcı).
  • dump: nodump bayrağını temizler (yalnızca sahibi veya süper kullanıcı).

-H veya -L seçenekleri verilmediği sürece, sembolik bir bağlantı üzerinde chflags çalıştırmak her zaman başarılı olur ve hiçbir etkisi olmaz. -R seçeneği belirtilmediği sürece -H, -L ve -P seçenekleri yoksayılır. Ek olarak, bu seçenekler birbirini geçersiz kılar ve komutun eylemleri belirtilen son seçeneğe göre belirlenir.

Mevcut dosyaların bayraklarını görmek için ls -lO komutunu kullanabilirsiniz.

Eğer chflags bir SIGINFO sinyali alırsa (bkz. stty(1) status argümanı), mevcut dosya adı ile eski ve yeni bayraklar görüntülenir.

Çıkış Durumu

chflags aracı başarı durumunda 0, bir hata oluştuğunda ise >0 değeriyle çıkar.

Örnekler

Aşağıdaki örnekler kabukta (shell) çalıştırılabilecek şekilde gösterilmiştir:

  1. Bir dizin ağacındaki tüm dosya bayraklarını özyinelemeli olarak temizleme:

    chflags -R 0 foobar

    foobar dizin ağacında yer alan dosya ve dizinlerdeki tüm bayrakları özyinelemeli olarak temizler.

  2. Bir dosyayı silinmeye ve değiştirilmeye karşı kilitleme (Kullanıcı düzeyinde):

    chflags uchg report.pdf

    report.pdf dosyasına uchg bayrağını ekleyerek dosyanın kilitlenmesini sağlar. Dosya sahibi veya süper kullanıcı bu bayrağı kaldırmadıkça dosya silinemez veya düzenlenemez.

  3. Kullanıcı düzeyindeki kilidi (uchg) kaldırma:

    chflags nouchg report.pdf

    report.pdf dosyasındaki kilit (uchg) bayrağını kaldırarak dosyayı tekrar düzenlenebilir ve silinebilir hale getirir.

  4. Bir dosyayı Finder / GUI arayüzünde gizleme:

    chflags hidden secret_folder

    secret_folder öğesine hidden bayrağı ekleyerek grafik arayüzde (Finder) görünmez hale getirir.

Ayrıca Bkz.

ls(1), chflags(2), stat(1), fts(3), symlink(7)

Tarihçe

chflags komutu ilk olarak 4.4BSD ile ortaya çıkmıştır.

Hatalar

Yalnızca sınırlı sayıda yardımcı program chflags bayraklarından haberdardır. Bu araçlardan bazıları ls(1), cp(1), find(1), install(1), dump(8) ve restore(8) araçlarını içerir. Özellikle, şu anda chflags bayraklarından haberdar olmayan bir araç pax(1) yardımcı programıdır.