다른 대상 디렉토리로 어떻게 gunzip을합니까? 어떻게 gunzip을합니까? 이것은 작동하지

현재 디렉토리가 아닌 다른 대상 디렉토리에 어떻게 gunzip을합니까?

이것은 작동하지 않았다 :

gunzip *.gz /putthemhere/



답변

gunzip표준 출력으로 출력하고 해당 디렉토리의 파일로 리디렉션하도록 요청 하십시오.

gunzip -c file.gz > /THERE/file

zcat에 대한 바로 가기입니다 gunzip -c.

여러 파일을 gunzip으로 압축하려면 모든 파일을 반복하십시오.

for f in *.gz; do
  STEM=$(basename "${f}" .gz)
  gunzip -c "${f}" > /THERE/"${STEM}"
done

(여기서는 basename확장자없이 파일 이름의 일부를 얻는 데 사용됩니다)


답변

단일 파일을 추출해야하는 경우 루트 소유의 디렉토리에 쓰기, 다음 사용 sudo dd:

zcat filename.conf.gz | sudo tee /etc/filename.conf >/dev/null

파일이 원격 소스 (예 : ssh, curl https 등)에서 온 경우 다음과 같이 수행 할 수 있습니다.

ssh remoteserver cat filename.conf.gz | zcat | sudo tee /etc/filename.conf >/dev/null

(이 예제 는 디렉토리의 모든 gzip 파일 인 * .gz 예제와 달리 단일 파일에 대해서만 작동합니다 .)


답변

>를 사용하여 결과를 원하는 위치로 리디렉션 할 수 있습니다.


답변