compress, uygun Lempel-Ziv kodlarını kullanarak belirtilen dosyanın boyutunu küçültür. Bu işlemin sonunda, her bir dosyanın sonuna .Z soneki getirilir. .Z uzantılı dosya aynı sahiplik kiplerine, erişim ve düzenlenme zamanlarına sahiptir. Şayet komut ile birlikte bir dosya belirtilmez ise, standart girdi sıkıştırılıp standart çıktıya aktarılır. compress, sadece normal dosyaları sıkıştırır. Örneğin; sembolik bağları yok sayar. Şayet bir dosya birden çok sembolik bağa sahipse, compress bu dosyayı sıkıştırmayı reddedecektir. Bu durumda -f seçeneğini eklemeniz gerekir.
Şayet -f seçeneği belirtilmezse ve sıkıştırma işlemi önplanda devam ediyorsa, ekrana, var olan bir dosyanın üzerine yazılıp yazılmayacağını soran bir uyarı çıkar.
Sıkıştırılmış dosyalar uncompress veya zcat kullanılarak orjinal hallerine döndürülebilirler.
uncompress, komut satırında dosya listelerini alır ve sonu .Z ile bitenleri ve doğru sihirli numara ile başlayanları, .Z soneki olmayan açılmış dosyalar ile değiştirir. Açılmış dosya, sıkıştırılmış olanla aynı sahiplik ve tarih damgasını içerir.
-c seçeneği ile compress/uncompress standart çıktıya yazar ama dosyalar değişmez.
zcat, uncompress -c ile aynıdır. zcat, ya komut satırındaki listede bulunan dosyaları açar ya da standart girdideki dosyaları açıp, açılmış bilgileri standart çıktıya yazar. zcat doğru sihirli numaraya sahip dosyaları, .Z soneki olsun ya da olmasın, açacaktır. (*Ç.N.: gzip ailesinde de bir zcat vardır ve gzip kuruluysa, zcat, gzip ailesinin zcat uygulaması olabilir. Bunun olmaması için gzip ailesi ile gelen zcat'in ismini gzcat olarak değiştirebilirsiniz.)
Şayet -r seçeneği tanımlı ise, sıkıştırma işlevi aşt dizinlerde yinelemeli olarak yapılacaktır. Komut satırında tanımlı isimlerden herhangi birisi bir dizin ise, compress bu dizinin içine girecek ve burada bulunan bütün dosyaları sıkıştıracaktır.
-V seçeneği bu uygulamaların her birine, sürüm ve standart hatadaki yama seviyelerini, bunun yanında derleme sırasındaki önişlemci seçeneklerini sıkıştırma/açma işleminden önce görüntülenmesini söyler.
compress, "Yüksek performanslı veri sıkıştırması için bir teknik / A Technique for High Performance Data Compression" içinde açıklanan değiştirilmiş Lempel-Ziv algoritmasını kullanır (Terry A. Welch, IEEE Computer, vol. 17, no. 6 (June 1984), pp. 8-19). İlk önce dosyadaki ortak altdizgeler 257 veya daha üstünde 9 bitlik kod ile değiştirilir. 512'ye ulaşılınca, algoritma 10 bitlik kodlara dönüşür ve daha yüksek bitler, -b seçeneği ile belirtilen sınıra ulaşılıncaya kadar kullanır (öntanımlı olarak 16). Bitler 9 ila 16 arasında olmak zorundadır. Bu öntanımlı bit seviyesi kaynak kodlarının içinden değiştirilebilir, böylece daha küçük makinalarda çalışması sağlanır.
Bit sınırına erişildikten sonra, compress düzenli olarak sıkıştırma oranını denetler. Eğer artarsa, compress var olan kod sözlüğünü kullanmaya devam eder. Bununla birlikte, sıkıştırma oranı düşerse, compress altdizgelerin tablosunu başından savar ve listeden yenisini yapar. Böylece, algoritmanın sıradaki dosya "bloğuna" uyması sağlanmış olur.
-b seçeneğinin uncompress için atlanmış olduğuna dikkat edin, belirlenmiş bit parametreleri sıkıştırma sırasında çıktı içinde sihirli bir numara ile kodlandığından, rastgele bir verinin açılması ya da sıkıştırılmış verinin tekrar sıkıştıılmaya çalışılması gibi şeyler mümkün değildir.
Sıkıştırma miktarı girdinin boyutuna, kod başına düşen bit sayısına ve ortak altdizgelerin dizilişine bağlıdır. Genellikle, kaynak kodu gibi veya İngilizce metinlerden, %50-60 oranında tasarruf sağlanır. Sıkıştırma genellikle, Huffman kodundan (pack) veya uyarlanmış Huffman kodundan (compact) daha iyidir ve daha az zamana mal olur.
-v seçeneği altında, sıkıştırılan her bir dosya için, kazanç yüzdesini gösteren bir ileti basılır.
Çıkış durumu normalde 0'dır; şayet son dosya sıkıştırılmış olandan daha büyükse 2; eğer bir hata meydana gelmişse 1'dir.