Linux: .jar dosyasının içeriğini görmenin en kolay yolu nedir?


23

Unzip / untar komutlarını kullanarak w.jar dosyasının içeriğini görmenin en uygun yolu nedir? Yapmak istediğim şey - cdiçeriğe göz atmak , normal klasörde olduğu gibi bu komutu kullanarak içeriğe göz atmak , sınıfların boyutlarını görmek 'ls -la'.

MCanında yapmasına izin verildi. Herhangi bir kullanım kolaylığı alternatifi var mı?



@ekaj daha az ve unzip bana yardım etmiyor - bana arşivdeki dosyaların boyutunu göstermiyor, örneğin, son değişiklik tarih ve saatini (/ tmp / AAA olarak bir yere sıkıştırmazsam ve sonra ls -la'yı çalıştırmazsam) karşı / tmp / AAA - kaçınmak istediğim şey bu).
javagirl

.Zip dosyasını açmayın, sadece açın. Boyutları ve değiştirme tarihlerini görebilirsiniz.
cutrightjm

linux server komut satırında nasıl açabilirim?
javagirl

@javagirl: unzip -l does paketi açma olmadan arşiv ve son değişiklik tarih ve zaman içinde dosyaların boyutunu göstermektedir. Aşağıdaki cevaba bakınız. Aslında bu olduğunu ekaj önerildiği gibi yinelenen.
DevSolar

Yanıtlar:



12

Bir jar dosyasının içeriğini ayıklamadan görüntülemek ve düzenlemek için vim kullanın:

Kavanozu vim'deki şu şekilde açın:

vim rabbitmq-client.jar

Size bir dosya listesi sunulur:

1 " zip.vim version v22
2 " Browsing zipfile /var/www/sandbox/eric/rabbitmq-client.jar
3 " Select a file with cursor and press ENTER
4
5 META-INF/
6 META-INF/MANIFEST.MF
7 com/
8 com/rabbitmq/
9 com/rabbitmq/client/
10 com/rabbitmq/client/impl/
11 com/rabbitmq/client/impl/recovery/
12 com/rabbitmq/tools/
13 com/rabbitmq/tools/json/
14 com/rabbitmq/tools/jsonrpc/
15 com/rabbitmq/utility/

İmleci üzerine getirin META-INF/MANIFEST.MFve tuşuna basın Enter. Bunu görüyorsunuz:

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.2
Created-By: 1.6.0_31-b31 (Sun Microsystems Inc.)
Export-Package: com.rabbitmq.client;version="3.3.5";uses:="com.rabbitm
 q.client.impl,com.rabbitmq.utility,javax.net,javax.net.ssl,javax.secu
 rity.auth.callback,javax.security.sasl",com.rabbitmq.client.impl;vers
 ion="3.3.5";uses:="com.rabbitmq.client,com.rabbitmq.utility,javax.net
 ",com.rabbitmq.client.impl.recovery;version="3.3.5";uses:="com.rabbit
 mq.client,com.rabbitmq.client.impl",com.rabbitmq.tools;version="3.3.5
 ";uses:="com.rabbitmq.utility",com.rabbitmq.tools.json;version="3.3.5
 ",com.rabbitmq.tools.jsonrpc;version="3.3.5";uses:="com.rabbitmq.clie
 nt",com.rabbitmq.utility;version="3.3.5"
Bundle-Vendor: SpringSource
Bundle-Version: 3.3.5
Tool: Bundlor 1.0.0.RELEASE
Bundle-Name: RabbitMQ Java AMQP client library
Bundle-ManifestVersion: 2
Bundle-SymbolicName: com.rabbitmq.client
Import-Package: javax.net;version="0",javax.net.ssl;version="0",javax.
 security.auth.callback;version="0",javax.security.sasl;version="0"

Name: rabbitmq-client
Specification-Title: AMQP
Specification-Version: 0.9.1
Specification-Vendor: AMQP Working Group (www.amqp.org)
Implementation-Title: RabbitMQ
Implementation-Version: 3.3.5
Implementation-Vendor: Rabbit Technologies Ltd. (www.rabbitmq.com)

Normal vim düzenleme komutlarını kullanarak birkaç satırı değiştirin.

press 'i' to enter insert mode
edit your lines
press :wq<enter> to write and quit

Kavanoza giren bir dosya listesine geri dönersiniz, çıkın.

:q <enter>

Değişikliklerin kalıcı olup olmadığını kontrol edin:

Follow the above steps again to inspect the file again, 
the change should still be there.

Harika personel, teşekkürler. Doğru cevap (benim için olduğu gibi) fermuarlı olmasına rağmen - ama bu vim'in örneği gerçekten takdir edildi.
setevoy,

Neden jar dosya içeriğimde ikili dosya gösteriliyor?
John Joe,

@JohnJoe: Çünkü Vim'in onu ZIP arşivi olarak tanımlamıyor (ki bu bir .jar etkilidir). Bu, bozuk veya çok temel bir Vim kurulumunda ipuçlarını verir. Bu sorun devam ederse, vi.E'ye götürmeyi düşünün .
DevSolar

1
@JohnJoe, en son vim'i yüklemelisiniz: yum install --assumeyes vim-
advanced


2

.jarDosyaların temelde .zipdosyalar olduğunu düşünüyorum . Bu yüzden sanırım sigorta zip işe yarayabilir.


1
Bu aslında bir klasör gibi .zip arşivine gitmek istiyorsanız, gideceğim cevap. (veya en azından bu nasıl çalıştığını anladım böyle)
cutrightjm

Sunucuya ek şeyler yükleyemem, bu soruyu yalnızca MC
javagirl

1

Sadece .jar dosyasını bir .zip olarak yeniden adlandırın. IE, test.jariçin test.zip. Derlenmiş tüm sınıfları görebileceksiniz. Ancak, kaynağın kendisini görmek istiyorsanız, bir dekompresöre ihtiyacınız olacaktır.


üzgünüm, anlamadım. fark ne? hala yapamıyorum, * .zip dosyasına karşı cd komutu.
javagirl

@javagirl Herhangi bir ek yazılım yüklemeyecekseniz, yalnızca .zip dosyalarını bildiğim kadarıyla açabilirsiniz. IE, onlar dizin değil çünkü onlara cd için gitmeyecek.
cutrightjm

Linux'ta 'mc' kullanırsanız, zip / jar dosyasının içeriğine göz atabileceğinizi bilirsiniz, çünkü anında açılmasını sağlar. Sorumu 'mc' alternatifiyle ilgiliydi, çünkü 'mc' den kaçabileceklerini ve aynı sonuç ve verimlilikle saf komut satırı kullanabileceklerini söyleyen çok sayıda linux guru duydum. Ve linux server komut satırında olduğum sürece zip dosyasını '
tıklayamıyorum'

Bu bir alternatif.
cutrightjm

0

Sunucunun dosya sistemine yerel olarak sahip olmak için bir ssh mount kullanabilirsiniz . Bundan sonra, dosya sisteminde gezinmek için yerel olarak mevcut herhangi bir yazılımı kullanabilirsiniz, örneğin Far Managerarşivlerde gezinmek için çok güçlüdür.

Bu çözümde sunucuda herhangi bir ek yazılıma gerek yoktur, sadece sshd'ye ihtiyacınız vardır.


0

İçeriği benim yaptığım gibi tarih sırasına göre görmek isterseniz:

jar tvf jarfile.{e,j,w}ar | sort -k 7,7 -k 3,3M -k 4,4n -k5,5


0
  • İçeriği listelemek için: jar tvf jarfile.jar
  • Ayıklamak: jar xvf jarfile.jar

Bu potansiyel olarak iyi bir cevap gibi gözüküyor, ancak bunu “daha ​​lezzetli” yapmaya çalışmalısınız. Bir veya iki satıra sığabilecek cevap (lar) genellikle yorumlardan daha iyi sonuç verir (yeterli temsilciniz olduğunda).
Anaksunaman
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.