Sözdizimi
bintrans [algoritma] [...]
uuencode [-m] [-r] [-o cikis_dosyası] [dosya] ad
uudecode [-cimprs] [dosya ...]
uudecode [-i] -o cikis_dosyası
b64encode [-r] [-w sutun] [-o cikis_dosyası] [dosya] ad
b64decode [-cimprs] [dosya ...]
b64decode [-i] -o cikis_dosyası [dosya]
base64 [-h | -D | -d] [-b sayi] [-i giris_dosyası] [-o cikis_dosyası]
Açıklama
uuencode ve uudecode araçları, basit ASCII verilerinden başkasını desteklemeyen iletim ortamları üzerinden ikili (binary) dosyaları iletmek için kullanılır. b64encode aracı, -m bayrağı belirtilmiş uuencode ile eş anlamlıdır. b64decode aracı, -m bayrağı belirtilmiş uudecode ile eş anlamlıdır.
base64 aracı, --decode (veya -d) bayrağı geçildiğ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ını (framing lines) üretmez. base64, standart girdiyi (standard input) veya sağlanmışsa dosyayı okur ve standart çıkışa (standard output) yazar. GNU base64 ile uyumluluk için --wrap (veya -w) ve --ignore-garbage (veya -i) seçenekleri kabul edilir, ancak ikincisi uygulanmamıştır ve sessizce yoksayılır.
uuencode aracı, dosyayı (veya varsayılan olarak standart girdiyi) okur ve kodlanmış bir sürümünü standart çıkışa ya da belirtilmişse cikis_dosyası'na yazar. Kodlama yalnızca yazdırılabilir ASCII karakterlerini kullanır ve uudecode tarafından kullanılmak üzere dosyanın modunu (izinlerini) ve ad işlenenini 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, ad olarak veya (uudecode aracına geçilen seçeneklere bağlı olarak) cikis_dosyası asıl olarak adlandırılır ve setuid ile yürütme (execute) bitlerinin korunmaması dışında orijinal dosyanın moduna sahip olur. uudecode aracı tüm başlangıç ve bitiş satırlarını yoksayar.
uuencode için aşağıdaki seçenekler mevcuttur:
-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 çıktı üretir.
-o cikis_dosyası Standart çıkış yerine cikis_dosyası'na yazar.
uudecode için aşağıdaki seçenekler mevcuttur:
-c: Mümkünse dosya içerisinden birden fazla uuencode ile kodlanmış dosyanın kodunu çözer.-i: Dosyaların üzerine yazmaz.-m: -r bayrağı ile birlikte kullanıldığında, geleneksel uuencode girdisi yerine Base64 girdisinin kodunu çözer. -r olmadan hiçbir etkisi yoktur.
-o cikis_dosyası Girdide yer alan herhangi bir yol adı (pathname) yerine cikis_dosyası'na çıktı verir.
-p: Dosyanın kodunu çözer ve çıktıyı standart çıkışa 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 bayrağı kullanılırsa veya araç b64decode olarak çağrılırsa girdinin Base64 biçiminde olduğu varsayılır.-s: Çıktı yol adını temel dosya adına (base filename) indirgemez. Güvenlik nedenleriyle, uudecode varsayılan olarak son eğik çizgi '/' ile biten tüm ön ekleri siler.
Ek olarak, b64encode aşağıdaki seçeneği kabul eder:
-w sutun Kodlanmış çıktıyı sutun karakterinden sonra kaydırır (wrap).
base64 için aşağıdaki seçenekler mevcuttur:
-b sayi, --break=sayi Her sayi karakterde bir satır sonu ekler. Varsayılan değer 0'dır ve bu kesintisiz 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 yazdırır ve çıkar.
-i giris_dosyası, --input=giris_dosyası Girdiyi giris_dosyası'nden okur. Varsayılan değer stdin'dir; “-” geçilmesi de stdin'i temsil eder.
-o cikis_dosyası, --output=cikis_dosyası Çıktıyı cikis_dosyası'na yazar. Varsayılan değer stdout'dir; “-” geçilmesi de stdout'i temsil eder.
bintrans, yukarıda belirtilen kodlayıcı ve kod çözücülerden herhangi birini çalıştırabilen genel bir araçtır. Özel bir program aracılığıyla sunulmayan algoritmaları da çalıştırabilir:
qp, alıntılanmış-yazdırılabilir (quoted-printable) bir dönüştürücüdür ve aşağıdaki seçenekleri kabul eder:
-u: Kodunu çözer.
-o cikis_dosyası Standart çıkış yerine cikis_dosyası'na yazar.
Örnekler
Aşağıdaki örnek 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şturulacaktır; bu dosya daha sonra açılarak orijinal ağaca çıkarılabilir.
tar cf - src_tree | compress |
uuencode src_tree.tar.Z | mail user@example.com
Aşağıdaki örnek, posta kutunuzdaki tüm uuencode ile kodlanmış dosyaları geçerli çalışma
dizininize çıkarır.
uudecode -c < $MAIL
Aşağıdaki örnek, posta kutunuzdan sıkıştırılmış bir tar arşivini çıkarır
uudecode -o /dev/stdout < $MAIL | zcat | tar xfv -
Ayrıca Bakınız
basename(1), compress(1), mail(1), uucp(1) (ports/net/freebsd-uucp), uuencode(5)
Tarihçe
uudecode ve uuencode araçları 4.0BSD sürümünde ortaya çıktı.
Hatalar
Geleneksel algoritma kullanılarak kodlanan dosyalar %35 oranında genişler (3 bayt, kontrol bilgileriyle birlikte 4 bayt olur).
macOS 26.4 23 Ocak 2024 macOS 26.4