.tar 파일이 추출된 기본 디렉터리를 찾을 수 없습니다. 운영 체제 - 우분투 16 4. 답변하지 마십시오. tar 파일과 동일한 폴더가 없기 때문입니다(내가 찾은 모든 튜토리얼이나 질문에서 해당 답변을 사용함). 도와주세요? !
답변1
이미지가 패키지되면 해당 디렉터리 구조가 보존될 수 있습니다. tar
취소하지 않고 디렉토리 구조를 보려면 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
쉘에서 실행하는 경우 이는 쉘의 현재 작업 디렉토리로서, command 로 설정되고 cd
command 로 표시되며 pwd
때로는 프롬프트에 표시되는 디렉토리입니다. 추출 디렉터리는 옵션을 사용하여 변경할 수 있습니다 -C
.
많은 tar 파일은 일반적으로 tar 파일과 비슷한 이름을 가진 최상위 디렉터리(추출 디렉터리 기준)에 모든 파일을 배치합니다. 이 경우 추출된 모든 파일은 이 디렉터리에 있습니다. 그러나 이는 의무 사항은 아니며 여러 개의 최상위 디렉터리와 최상위 파일을 포함하는 많은 tar 파일이 있습니다. 반면에 tar
Ubuntu 및 대부분의 다른 시스템에서는 추출 디렉터리 외부의 파일이 추출되지 않습니다.
추출 디렉터리는 tar 파일의 위치에 전혀 의존하지 않습니다. (이것은 tar
명령별이며 일반적으로 대부분의 명령줄 아카이브 조작 프로그램입니다. GUI 프로그램은 다르게 동작할 수 있습니다.) 전달된 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 somefile
somefile
-name foo
find
tar
전날이나 전날에 달렸 다면위치데이터베이스는 파일이 어디에 있는지 알려줄 수 있습니다. 예를 들어, 아카이브에 파일이 포함되어 있으면 해당 파일을 찾을 수 있는 위치를 알려줍니다 some/directory/myfile.txt
.locate some/directory/myfile.txt