Linux : .jar 파일의 내용을 보는 가장 편리한 방법은 무엇입니까?


23

unzip / untar 명령을 사용하여 .jar 파일의 내용을 보는 가장 편리한 방법은 무엇입니까? 내가하고 싶은 것은- cd명령, 내용, 클래스 크기를 보는 일반적인 폴더와 같은 명령을 사용하여 내부를 탐색 하는 것입니다 'ls -la'.

MC즉석에서 그렇게 할 수있었습니다. 사용하기 쉬운 대안이 있습니까?



@ekaj less and unzip은 도움이되지 않습니다-예를 들어 아카이브의 파일 크기 또는 마지막 수정 날짜 및 시간을 표시하지 않습니다 (어딘가에서 / tmp / AAA로 압축을 풀고 ls -la를 실행하지 않는 한) / tmp / AAA에 대해-피하고 싶은 것입니다).
javagirl

.zip 파일의 압축을 풀지 말고여십시오. 크기와 수정 날짜를 볼 수 있습니다.
cutrightjm

리눅스 서버 커맨드 라인에서 어떻게 열 수 있습니까?
javagirl

@javagirl : unzip -l 않는 패키지를 개봉하지 않고 당신에게 아카이브와 마지막으로 수정 한 날짜와 시간에 파일의 크기를 보여줍니다. 아래 답변을 참조하십시오. 사실, 이것은 이다 ekaj 제안으로 중복.
DevSolar

답변:



12

vim을 사용하여 추출하지 않고 jar 파일의 내용을보고 편집하십시오.

다음과 같이 항아리를 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

jar 파일의 목록으로 돌아가서 종료합니다.

:q <enter>

변경 사항이 영구적인지 확인하십시오.

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

훌륭한 직원, 감사합니다. 정답은 (나 같은) 압축이 풀리지 않지만 그 vim의 예는 정말로 감사합니다.
setevoy

왜 내 jar 파일 내용에 이진 파일이 표시됩니까?
John Joe

@JohnJoe : Vim은이 파일을 ZIP 보관 파일 (.jar이 효과적으로 존재 함)로 식별하지 않기 때문입니다. 이것은 깨지거나 너무 기본적인 Vim 설정을 암시합니다. 문제가 지속되면 vi.SE가져 가십시오 .
DevSolar

1
@JohnJoe, 최신 vim을 설치해야합니다 : yum install --assumeyes vim-enhanced
TraxX


2

.jar파일은 기본적으로 .zip파일 이라고 생각 합니다 . 따라서 퓨즈 지퍼 가 작동 할 수 있습니다.


1
이것은 실제로 폴더와 같은 .zip 아카이브로 이동하려는 경우에 취할 수있는 대답입니다. (또는 적어도 그것이 그것이 작동한다는 것을 이해 한 방법입니다)
cutrightjm

MC를 설치하는 것만으로이 질문을하지 않으면 서버에 추가 항목을 설치할 수 없습니다
javagirl

1

.jar 파일의 이름을 .zip으로 바꾸십시오. IE test.jartest.zip. 컴파일 된 모든 클래스를 볼 수 있습니다. 그러나 소스 자체를 보려면 디 컴파일러가 필요합니다.


미안, 나는 그것을 얻지 못했습니다. 차이점은 무엇입니까? 여전히 ls, * .zip 파일에 대한 cd 명령을 수행 할 수 없습니다.
javagirl

@javagirl 추가 소프트웨어를 설치하지 않을 경우 클릭하면 .zip 파일 만 열 수 있습니다. IE는 디렉토리가 아니기 때문에 CD로 CD를 보내지 않을 것입니다.
cutrightjm

리눅스에서 'mc'를 사용한다면 zip / jar 파일의 내용을 탐색 할 수 있다는 것을 알게 될 것입니다. 내 질문은 'mc'의 대안에 관한 것이 었습니다. 많은 Linux 전문가가 'mc'를 피하고 동일한 결과와 효율성으로 순수한 명령 줄을 사용할 수 있다고 말하는 것을 들었 기 때문에. 그리고 나는 리눅스 서버 명령 행에있어 멀리로 zip 파일에 '클릭'할 수
javagirl

글쎄, 이것은 대안입니다.
cutrightjm

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

이것은 잠재적으로 좋은 대답 인 것처럼 보이지만 "경고음"으로 만들어야합니다. 한두 줄에 들어갈 수있는 답변은 일반적으로 의견을 제시하는 것이 좋습니다 (한 번 충분한 답변이있는 경우).
Anaksunaman
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.