tar: 열 수 없습니다: 해당 파일이나 디렉터리가 없습니다

tar: 열 수 없습니다: 해당 파일이나 디렉터리가 없습니다

지시사항을 따르려고 노력 중이에요여기Ubuntu에 Jetty를 설치하려고 하는데 tar를 사용하려고 하면 문제가 발생합니다.

cd /usr/local/src
sudo wget http://eclipse.org/downloads/download.php?file=/jetty/stable-9/dist/jetty-distribution-9.1.0.v20131115.tar.gz&r=1

하지만 내가 시도할 때

sudo tar -xfz etty-distribution-9.1.0.v20131115.tar.gz

오류가 발생했습니다.

tar: z: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now

내가 도대체 ​​뭘 잘못하고있는 겁니까? (나도 루트로 시도했지만 도움이 되지 않았습니다)


편집하다

제안된 답변 중 어느 것도 나에게 도움이 되지 않습니다. 아래에서는 명령줄에서 시도한 내용을 복사합니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

a@b:/usr/local/src$ ls
download.php?file=%2Fjetty%2F9.1.0.v20131115%2Fdist%2Fjetty-distribution-9.1.0.v20131115.tar.gz
download.php?file=%2Fjetty%2Fstable-9%2Fdist%2Fjetty-distribution-9.1.0.v20131115.tar.gz

a@b:/usr/local/src$ tar -tfz jetty-distribution-9.1.0.v20131115.tar.gz
tar: z: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now

a@b:/usr/local/src$ tar -tfz /usr/local/src/jetty-distribution-9.1.0.v20131115.tar.gz
tar: z: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now

a@b:/usr/local/src$ sudo tar xfz download.php?file=%2Fjetty%2F9.1.0.v20131115%2Fdist%2Fjetty-distribution-9.1.0.v20131115.tar.gz
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
a@b:/usr/local/src$ sudo tar xfz jetty-distribution-9.1.0.v20131115.tar.gztar (child): jetty-distribution-9.1.0.v20131115.tar.gz: Cannot open: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now
a@b:/usr/local/src$ ^C
a@b:/usr/local/src$ 

답변1

대시 사용과 인수 순서가 문제인 것 같습니다.

$ tar tfz foo.tar.gz
foo
$ tar -tfz foo.tar.gz
tar: z: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now
$ tar -tzf foo.tar.gz
foo
$ tar --version
tar (GNU tar) 1.15.1

편집하다:다음 두 명령이 나에게 적합한 것 같습니다.

wget http://download.eclipse.org/jetty/stable-9/dist/jetty-distribution-9.1.0.v20131115.tar.gz
tar tzf jetty-distribution-9.1.0.v20131115.tar.gz

tar tzf물론 를 로 바꿔야 tar xzf하고 를 추가해야 할 수도 있습니다 sudo.

답변2

문제는 주장의 입장일 수도 있다 f. 아카이브 이름은 인수 뒤에 와야 하기 f때문에 오류는 z.

노력하다:

tar -tzf jetty-distribution-9.1.0.v20131115.tar.gz

답변3

sudo wget http://eclipse.org/downloads/download.php?file=/jetty/stable-9/dist/jetty-distribution-9.1.0.v20131115.tar.gz&r=1다음 두 가지 이유로 명령이 잘못되었습니다.

  1. Bash의 특수 기능인 &를 사용하므로 다운로드 링크를 인용해야 합니다. 보다http://www.gnu.org/software/bash/manual/bash.html#Definitions
  2. 오래된 데드 링크를 사용하고 있습니다. jetty의 다운로드 페이지로 이동합니다(http://download.eclipse.org/jetty/)는 http://eclipse.org/downloads/download.php?file=/jetty/stable-9/dist/jetty-distribution-9.1.3.v20140225.tar.gz&r=1올바른 다운로드 링크로 표시됩니다.

이후에는 다음 명령을 사용해야 합니다.

sudo wget "http://eclipse.org/downloads/download.php?file=/jetty/stable-9/dist/jetty-distribution-9.1.3.v20140225.tar.gz&r=1" -O jetty-distribution-9.1.3.v20140225.tar.gz`

인수 -O는 올바른 파일 이름으로 출력하는 데 도움이 됩니다.

그 후에는 tar xvf jetty-distribution-9.1.3.v20140225.tar.gz작동해야합니다.

여기에서 x추출 모드를 사용하는 옵션은 v추가 정보(추출되는 파일 이름)를 표시하고 f다음 인수가 추출할 아카이브의 경로임을 지정합니다.

압축된 아카이브를 z나타내는 옵션은 자동으로 인식하므로 필요하지 않습니다 .gziptar

마지막으로 -이전 옵션은 AFAIK에서 더 이상 사용되지 않습니다.

sudo또 다른 점: 실제로 필요하지 않은 경우에는 사용하지 않는 것이 좋습니다 . 여기서는 루트 권한이 필요하지 않고 홈 디렉터리에서 수행할 수 있는 아카이브를 다운로드하고 추출하기를 원합니다. 이는 심각한 문제로 이어질 수 있는 실수를 방지합니다. 특히 자신이 무엇을 하고 있는지 실제로 알지 못할 때 더욱 그렇습니다.

답변4

저도 같은 문제가 있는데 Google이 저를 여기로 데려오면 이제 문제가 해결되었습니다. 하나는 파일 이름의 대문자에 관한 것이고 두 번째는 폴더 승인입니다. 777로 변경하세요. 도움이 되길 바랍니다.

관련 정보