लिनक्स: .jar फ़ाइल की सामग्री को देखने का सबसे सुविधाजनक तरीका क्या है


23

अनजर / अनटेर कमांड का उपयोग करके .jar फ़ाइल w / o की सामग्री को देखने का सबसे सुविधाजनक तरीका क्या है? मैं क्या करना चाहूंगा - cdयह कमांड का उपयोग करके अंदर ब्राउज़ करना है जैसे कि यह सामान्य फ़ोल्डर है, सामग्री, कक्षाओं के आकार को देखकर - 'ls -la'

MCमक्खी पर ऐसा करने की अनुमति दी। क्या कोई सहज उपयोग विकल्प है?



@ekaj कम और अनज़िप में मेरी मदद नहीं करता - यह मुझे संग्रह में फ़ाइलों के आकार को नहीं दिखाता है, उदाहरण के लिए, या अंतिम संशोधन की तारीख और समय खिलाफ / tmp / AAA - जो मैं बचना चाहता हूं)।
jagagirl

.Zip फ़ाइल को अनज़िप न करें, बस इसे खोलें। आप आकार और संशोधन तिथियां देख सकते हैं।
कटिक्रमज

मैं इसे लिनक्स सर्वर कमांड लाइन में कैसे खोल सकता हूं?
javagirl

@javagirl: unzip -l करता है आप पैकेज को खोलकर बिना संग्रह और अंतिम संशोधन का दिनांक और समय में फ़ाइलों का आकार दिखा। नीचे मेरा जवाब देखें। वास्तव में, यह है डुप्लीकेट के रूप में ekaj का सुझाव दिया।
DevSolar

जवाबों:



12

निकालने के बिना जार फ़ाइल की सामग्री को देखने और संपादित करने के लिए vim का उपयोग करें:

जार को इस तरह खोलें:

vim rabbitmq-client.jar

आपको फ़ाइलों की सूची के साथ प्रस्तुत किया गया है:

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/

कर्सर को ऊपर रखें META-INF/MANIFEST.MFऔर दबाएं Enter। आप यह देखते हैं:

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)

सामान्य vim एडिटिंग कमांड्स का उपयोग करके कुछ पंक्तियों को बदलें।

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

आपको जार में फ़ाइलों की सूची में वापस ले जाया जाता है, बाहर छोड़ दिया जाता है।

:q <enter>

यह देखने के लिए जांचें कि क्या यह परिवर्तन स्थायी हैं:

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

महान स्टाफ, धन्यवाद। यद्यपि सही उत्तर (मेरे लिए) अनज़िप है - लेकिन उस विम का उदाहरण वास्तव में काबिले तारीफ है।
सेटवॉय

बाइनरी फ़ाइल दिखाने वाली मेरी जार फ़ाइल सामग्री क्यों?
जॉन जो

@JohnJoe: क्योंकि आपके Vim इसे ज़िप संग्रह (जो प्रभावी रूप से एक .jar है) के रूप में पहचान नहीं करता है। यह एक टूटी हुई, या बहुत बुनियादी विम सेटअप पर संकेत देता है। यदि यह समस्या बनी रहती है, तो इसे vi.SE पर ले जाने पर विचार करें ।
DevSolar

1
@ जॉनजो, आपको नवीनतम वीम स्थापित करना है: यम स्थापित - वसुमेय्स विम-एन्हांस्ड
ट्रैक्सएक्स

8

यह हमेशा मेरे लिए पर्याप्त था:

unzip -l <jarfile>


2

मुझे लगता है कि .jarफाइलें मूल रूप से .zipफाइलें हैं। इसलिए, मुझे लगता है, फ्यूज-जिप काम कर सकता है।


1
यदि आप वास्तव में एक फ़ोल्डर की तरह .zip संग्रह में नेविगेट करना चाहते हैं तो यह उत्तर है कि मैं इसके साथ जाऊंगा। (या कम से कम यह है कि मैं कैसे समझ गया कि यह काम करता है)
cutrightjm

मैं सर्वर पर अतिरिक्त सामान स्थापित नहीं कर सकता, जब तक कि मैं यह सवाल सिर्फ MC
javagirl

1

एक .zip में .jar फ़ाइल का नाम बदलें। IE, test.jarको test.zip। आप सभी संकलित कक्षाओं को देख पाएंगे। यदि आप स्रोत को स्वयं देखना चाहते हैं, हालांकि, आपको एक डिकॉम्पेलर की आवश्यकता होगी।


क्षमा करें, मुझे यह नहीं मिला। अंतर क्या है? मैं अभी भी * .zip फ़ाइल के खिलाफ ls, cd कमांड नहीं कर सकता।
jagagirl

@javagirl आप केवल .zip फाइलें खोल सकते हैं, जहां तक ​​मुझे पता है, उन पर क्लिक करके अगर आप कोई अतिरिक्त सॉफ्टवेयर इंस्टॉल नहीं करने जा रहे हैं। IE, आप उन्हें सीडी नहीं जा रहे हैं क्योंकि वे निर्देशिका नहीं हैं।
कटिक्रमज

यदि आप linux में 'mc' का उपयोग करेंगे, तो आपको पता होगा कि आप zip / jar फ़ाइल की सामग्री को ब्राउज़ कर सकते हैं, क्योंकि यह मक्खी पर अनजिपिंग बनाता है। मेरा प्रश्न 'mc' के विकल्प के बारे में था, क्योंकि मैंने बहुत सारे linux गुरु को यह कहते हुए सुना कि वे 'mc' से बच सकते हैं और उसी परिणाम और दक्षता के साथ शुद्ध कमांड लाइन का उपयोग कर सकते हैं। और मैं ज़िप फाइल पर 'क्लिक' नहीं कर पा रहा हूँ जहाँ तक मैं लिनक्स सर्वर कमांड लाइन पर हूँ
javagirl

खैर, यह एक विकल्प है।
कटिकर्मज

0

आप एक ssh माउंट का उपयोग कर सकते हैं स्थानीय स्तर पर सर्वर फाइल सिस्टम के लिए का । इसके बाद आप फ़ाइल सिस्टम को नेविगेट करने के लिए किसी भी स्थानीय रूप से उपलब्ध सॉफ़्टवेयर का उपयोग कर सकते हैं, उदाहरण के Far Managerलिए अभिलेखागार में नेविगेट करने के लिए बहुत शक्तिशाली है।

इस समाधान में आपको सर्वर पर किसी अतिरिक्त सॉफ्टवेयर की जरूरत नहीं है, केवल sshd।


0

यदि आप दिनांक क्रम में सामग्री देखना चाहते हैं, जैसा कि मैंने किया था:

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


0
  • सामग्री को सूचीबद्ध करने के लिए: jar tvf jarfile.jar
  • निकालना: jar xvf jarfile.jar

यह संभावित रूप से एक अच्छा उत्तर लगता है लेकिन आपको इसे "बीफ़ियर" बनाने की कोशिश करनी चाहिए। उत्तर (एस) जो एक या दो लाइनों में फिट हो सकते हैं, वे आमतौर पर टिप्पणियों (एक बार आपके पास पर्याप्त प्रतिनिधि) के रूप में बेहतर होते हैं।
अनकसुनमन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.