기본 Tar 디렉토리

기본 Tar 디렉토리

.tar 파일이 추출되는 기본 디렉터리를 찾을 수 없습니다. OS - Ubuntu 16 4. 답변하지 마십시오. tar 파일과 동일한 폴더가 존재하지 않기 때문입니다(그리고 제가 찾은 모든 튜토리얼이나 질문에서는 해당 답변을 사용합니다). 도와주세요 ?!

답변1

이미지가 압축되면 해당 디렉토리 구조가 보존될 수 있습니다. tarun -ing하지 않고 디렉토리 구조를 보려면 다음을 수행하십시오 tar.

tar -ztvf my-data.tar.gz

-t(의 줄임말 ) --list:

아카이브의 내용을 나열합니다. 인수는 선택 사항입니다. 주어지면 나열할 구성원의 이름을 지정합니다.

파일이 추출된 디렉터리와 동일한 디렉터리에 없으면 또는 지정 tar되지 않는 한 해당 디렉터리의 하위 디렉터리에 있게 됩니다 .-C--directory

   -C, --directory=DIR
          Change  to  DIR  before  performing any operations.  This option is
          order-sensitive, i.e. it affects all options that follow.

find . -name '*expected file*'현재 디렉토리에서 검색해 보세요 .

답변2

예를 들어 추출할 때 변경되지 않는 한 아카이브에 인코딩된 디렉토리입니다 -C. 다음을 사용하면 언제든지 아카이브의 파일 경로 목록을 얻을 수 있습니다.

tar -t -f archive.tar

아카이브에 저장된 경로는 다음과 같습니다.거의 언제나상대 경로( -P아카이브를 생성할 때 를 사용하지 않은 경우). 이는 아카이브의 내용이 현재 디렉터리에 파일 계층 구조로 압축 해제된다는 의미입니다( 로 변경하지 않은 경우 -C).

답변3

tar명령은 파일을 추출합니다.현재 작업 디렉토리. tar셸에서 실행하는 경우 해당 디렉터리는 셸의 현재 작업 디렉터리로, cd명령으로 설정되고 명령으로 표시되며 pwd때로는 프롬프트에 표시됩니다. 옵션 으로 추출 디렉터리를 변경할 수 있습니다 -C.

많은 tar 파일에는 일반적으로 tar 파일과 유사한 이름을 가진 단일 최상위 디렉터리(추출 디렉터리 기준) 내에 모든 파일이 있습니다. 이 경우 추출된 모든 파일은 해당 디렉터리 아래에 있습니다. 하지만 이는 의무 사항은 아닙니다. 여러 개의 최상위 디렉터리와 최상위 파일을 포함하는 tar 파일이 많이 있습니다. 반면에 tarUbuntu 및 대부분의 다른 시스템에서는 추출 디렉터리 외부에 파일을 추출하지 않습니다.

추출 디렉터리는 tar 파일의 위치에 전혀 의존하지 않습니다. (이것은 명령 및 일반적으로 대부분의 명령줄 아카이브 조작 프로그램에 대한 것입니다 . GUI 프로그램은 다르게 동작할 수 있습니다.) 전달된 tar 파일 이름 인수에 디렉토리 부분이 포함되어 있지 않은 tar경우 추출 디렉토리는 tar 파일의 위치입니다 . tar일반적으로 어디에나 있을 수 있습니다.

명령 을 실행했을 때 현재 디렉터리가 무엇인지 기억나지 않으면 tar쉘 기록을 확인하세요(bash에서는 Ctrl+를 누른 R다음 를 입력하고 tar, 검색을 반복하려면 Ctrl+를 다시 누르세요). R아카이브에 대한 상대 경로(예: )를 찾으면 tar xf subdir/archive.tar현재 디렉토리가 무엇인지 알아낼 수 있습니다(이 예에서는 아카이브가 포함된 디렉토리의 상위 디렉토리였습니다). 물론 이것이 항상 도움이 되는 것은 아닙니다. 예를 들어 경로가 절대 경로인 경우입니다.

파일을 찾을 수 없는 경우 다음 명령을 사용하여 올바른 기간에 생성되거나 수정된 ​​파일(보다 정확하게는 파일이나 해당 속성에 대한 모든 변경 사항)을 찾아볼 수 있습니다.find그리고 그 -ctime또는 -cmin옵션, 예를 들어

find ~ -cmin +30 -cmin -61

홈 디렉터리에서 30~60분 전에 변경된 파일을 찾으려면 대신 -cmin및를 사용하여 변경 시간을 파일의 시간과 비교할 -ctime수 있습니다 . 명령 끝에 추가하여 아카이브에 포함된 특정 파일 이름으로 범위를 좁힐 수 있습니다(디렉토리 부분 없음).-cnewer somefilesomefile-name foofind

tar전날이나 그 이전에 실행한 경우위치하고 있다데이터베이스를 통해 파일이 어디에 있는지 알려줄 수 있습니다. 예를 들어, 아카이브에 파일이 포함되어 있으면 some/directory/myfile.txt해당 locate some/directory/myfile.txt파일을 찾을 수 있는 위치를 알려줍니다.

관련 정보