man/data_processing
man · Veri İşleme

$ b64encode

Bölüm 1 · Veri İşleme

İkili (binary) dosyaları kodlar veya kodlarını çözer.

SÖZDİZİMİ

bintrans [algoritma] [...]
uuencode [-m] [-r] [-o çıkış_dosyası] [dosya] ad
uudecode [-cimprs] [dosya ...]
uudecode [-i] -o çıkış_dosyası
b64encode [-r] [-w sütun] [-o çıkış_dosyası] [dosya] ad
b64decode [-cimprs] [dosya ...]
b64decode [-i] -o çıkış_dosyası [dosya]
base64 [-h | -D | -d] [-b sayı] [-i giriş_dosyası] [-o çıkış_dosyası]

AÇIKLAMA

uuencode ve uudecode araçları, yalnızca basit ASCII verilerini destekleyen iletim ortamları üzerinden ikili (binary) dosyaları aktarmak için kullanılır. b64encode aracı, -m seçeneği belirtilmiş uuencode ile eş anlamlıdır. b64decode aracı ise -m seçeneği belirtilmiş uudecode ile eş anlamlıdır.

base64 aracı, --decode (veya -d) seçeneği belirtildiğinde bir Base64 kod çözücü (decoder), aksi takdirde bir Base64 kodlayıcı (encoder) olarak işlev görür. Kod çözücü olarak yalnızca ham Base64 girdisini kabul eder ve kodlayıcı olarak çerçeveleme satırları (framing lines) üretmez. base64 aracı, standart girdiyi (standard input) veya belirtilmişse ilgili dosyayı okur ve standart çıktıya (standard output) yazar. GNU base64 ile uyumluluk için --wrap (veya -w) ve --ignore-garbage (veya -i) seçenekleri de desteklenmektedir; ancak ikincisi henüz gerçeklenmemiştir ve sessizce yoksayılır.

uuencode aracı, belirtilen dosyayı (veya varsayılan olarak standart girdiyi) okur ve kodlanmış sürümünü standart çıktıya ya da belirtilmişse çıkış_dosyası'na yazar. Kodlama işleminde yalnızca yazdırılabilir ASCII karakterleri kullanılır. Bu çıktı, daha sonra uudecode tarafından dosyanın izinlerini (modunu) ve adını yeniden oluşturmak için kullanılacak bilgileri içerir.

uudecode aracı, uuencode ile kodlanmış dosyaları (veya varsayılan olarak standart girdiyi) orijinal biçimine dönüştürür. Elde edilen dosya, orijinal ad parametresiyle veya (seçeneklere bağlı olarak) çıkış_dosyası olarak adlandırılır. Dosya izinleri, setuid ve yürütme (execute) izinlerinin korunmaması dışında orijinal dosyanın izinleriyle aynı olur. uudecode aracı, girdideki tüm başlangıç ve bitiş çerçeveleme satırlarını yoksayar.

SEÇENEKLER

uuencode Seçenekleri

  • -m: Geleneksel uuencode algoritması yerine, kodlama için Base64 yöntemini kullanır.
  • -r: Başlangıç ve bitiş çerçeveleme satırlarını hariç tutarak ham (raw) çıktı üretir.
  • -o çıkış_dosyası: Çıktıyı standart çıktı yerine belirtilen çıkış_dosyası'na yazar.

uudecode Seçenekleri

  • -c: Mümkünse girdi içerisindeki birden fazla uuencode ile kodlanmış dosyanın kodunu çözer.
  • -i: Mevcut dosyaların üzerine yazmaz (güvenli mod).
  • -m: -r seçeneği ile birlikte kullanıldığında, geleneksel uuencode girdisi yerine Base64 girdisinin kodunu çözer. -r seçeneği olmadan hiçbir etkisi yoktur.
  • -o çıkış_dosyası: Girdide tanımlanmış olan dosya yolu yerine çıktıyı belirtilen çıkış_dosyası'na yazar.
  • -p: Dosyanın kodunu çözer ve çıktıyı standart çıktıya (stdout) yazar.
  • -r: Başlangıç ve muhtemelen bitiş çerçeveleme satırları eksik olan ham (veya bozuk) girdinin kodunu çözer. Girdinin geleneksel uuencode kodlamasında olduğu varsayılır; ancak -m seçeneği kullanılırsa veya araç doğrudan b64decode olarak çağrılırsa girdinin Base64 biçiminde olduğu varsayılır.
  • -s: Çıktı dosya yolunu yalnızca temel dosya adına (basename) indirgemez. Güvenlik gerekçesiyle uudecode, varsayılan olarak son eğik çizgiye (/) kadar olan tüm dizin ön eklerini kaldırır.

b64encode Seçenekleri

b64encode aracı, uuencode seçeneklerinin yanı sıra şu seçeneği de destekler:

  • -w sütun: Kodlanmış çıktıyı belirtilen sütun genişliğinden sonra bir alt satıra kaydırır (wrap).

base64 Seçenekleri

  • -b sayı, --break=sayı: Her sayı karakterde bir satır sonu ekler. Varsayılan değer 0'dır ve bu kesintisiz tek bir akış üretir.
  • -d, -D, --decode: Gelen Base64 akışının kodunu çözerek ikili (binary) veriye dönüştürür.
  • -h, --help: Kullanım özetini görüntüler ve programdan çıkar.
  • -i giriş_dosyası, --input=giriş_dosyası: Girdiyi belirtilen giriş_dosyası'ndan okur. Varsayılan değer standart girdidir (stdin); - belirtilmesi de standart girdiyi temsil eder.
  • -o çıkış_dosyası, --output=çıkış_dosyası: Çıktıyı belirtilen çıkış_dosyası'na yazar. Varsayılan değer standart çıktıdır (stdout); - belirtilmesi de standart çıktıyı temsil eder.

bintrans Genel Aracı ve Diğer Algoritmalar

bintrans, yukarıda belirtilen tüm kodlayıcı ve kod çözücülerden herhangi birini çalıştırabilen genel bir yardımcı araçtır. Ayrıca, müstakil bir komut olarak sunulmayan şu algoritmayı da çalıştırabilir:

  • qp (Quoted-Printable): Alıntılanmış-yazdırılabilir bir dönüştürücüdür ve aşağıdaki seçenekleri destekler:
    • -u: Girdinin kodunu çözer.
    • -o çıkış_dosyası: Standart çıktı yerine belirtilen çıkış_dosyası'na yazar.

ÖRNEKLER

Aşağıdaki komut; bir kaynak ağacını paketler, sıkıştırır, uuencode ile kodlar ve başka bir sistemdeki bir kullanıcıya e-posta ile gönderir. Hedef sistemde uudecode çalıştırıldığında, src_tree.tar.Z dosyası oluşturulur; bu dosya daha sonra açılarak orijinal dizin yapısına geri döndürülebilir:

tar cf - src_tree | compress | uuencode src_tree.tar.Z | mail user@example.com

Aşağıdaki komut, posta kutunuzdaki ($MAIL) tüm uuencode ile kodlanmış dosyaları ayıklayarak geçerli çalışma dizininize kaydeder:

uudecode -c < $MAIL

Aşağıdaki komut ise posta kutunuzdan sıkıştırılmış bir tar arşivini ayıklar ve içeriğini doğrudan standart çıktıya vererek açar:

uudecode -o /dev/stdout < $MAIL | zcat | tar xfv -

AYRICA BAKINIZ

basename(1), compress(1), mail(1), uucp(1) (ports/net/freebsd-uucp), uuencode(5)

TARİHÇE

uudecode ve uuencode araçları ilk olarak 4.0BSD sürümünde ortaya çıkmıştır.

HATALAR

Geleneksel algoritma kullanılarak kodlanan dosyaların boyutu yaklaşık %35 oranında genişler (her 3 baytlık veri, kontrol bilgileriyle birlikte 4 bayt olur).