상대 경로를 사용하시겠습니까? 나는 절대 경로를 알고 있습니다. 복사 명령을 사용하시겠습니까? [폐쇄]

상대 경로를 사용하시겠습니까? 나는 절대 경로를 알고 있습니다. 복사 명령을 사용하시겠습니까? [폐쇄]

저는 Linux 운영 과정을 위한 실습을 하고 있습니다. 내가 혼란스러워하는 질문은 다음과 같습니다.

다음 질문은 cp파일 복사에만 명령을 사용합니다.

현재 디렉터리에 있어야 합니다 lab07. 이 디렉터리에 Ones라는 하위 디렉터리를 만들고 lab07이 하위 디렉터리(작업 디렉터리)에서 , , , ...로 끝나는 모든 파일을 이 새 Ones 디렉터리에 복사합니다. 즉, 파일 등은 복사되지만 파일 등은 복사되지 않습니다. 상대 경로만 사용하여 이러한 파일을 이 새 디렉터리에 복사하는 완전한 명령을 작성하십시오./labs/data/filenames/1239file.1file.2file.11file.21

이제 절대 경로를 사용하여 문제를 해결할 수 있습니다. 명령은 다음과 같습니다.

cp /labs/data/filenames/file.[1-9] /lab07/ones

그렇다면 이러한 관점에서 상대 경로는 무엇입니까?

몇 시간 동안 다른 명령을 시도해 보았지만 잘 모르겠습니다. 나는 실제로 그것을 하려고 할 때 상대 경로 뒤에 있는 개념을 이해합니다. 모르겠어요!

우리는 서버에서 bash/shell을 사용합니다. Xquartz11을 사용하고 있습니다.

답변1

"상대 경로"는 실제로 "현재 디렉터리에 대한 상대 경로"라고 불러야 합니다. 왜냐하면 그것이 바로 "상대 경로"이기 때문입니다. 상대 경로는 현재 디렉터리에 추가된 경로의 일부로 생각할 수 있습니다.

당신이 안에 있고 /labs/data/filenames/들어가고 싶다면 dir.1그렇게 할 수 있습니다 cd /labs/data/filenames/dir.1. 그러나 이러한 디렉터리를 다른 디렉터리 아래에 붙여 넣으면 동일하게 시작된다는 것을 알 수 있습니다(실제로 첫 번째 디렉터리는 두 번째 디렉터리 내에 완전히 포함되어 있습니다). 따라서 cd dir.1현재 작업 디렉터리( )가 암시적으로 선언되어 있으므로 이를 수행할 수 있습니다 /labs/data/filenames/.

절대 경로는 항상 디렉토리 트리의 루트에서 시작하므로 쉽습니다. 상대 경로는 디렉터리 트리의 어느 곳에서나 시작할 수 있으므로 어디로든 이동하려면 위로 가는 방법이 필요합니다. 이 목적은 ..상위 디렉터리를 참조하는 특수 디렉터리(두 개의 점)를 통해 달성됩니다.

만일 당신이 그렇다면 /labs/data/filenames/명령 이 cd ..당신 을 그곳으로 데려갈 것 입니다 ./labs/data/cd ../../labs/cd../../..//

게시한 경로가 올바른 경우(유효하지만 lab07모든 컴퓨터의 파일 시스템 루트에서 직접 찾을 수는 없음) 처음부터 /lab07/먼저 파일 시스템의 루트로 이동해야 합니다. , 그런 다음 카탈로그 파일이 있는 위치로 드롭다운합니다. 다음을 수행할 수 있습니다.

cd ../labs/data/filenames/

숙제 안 드리기 위해 여기에 남겨 두겠습니다. 이제 위의 상대 경로를 cp명령 에 입력해야 합니다 . 또한 /lab07/이제 그 안에 있으므로 cp목적지까지의 경로를 단축할 수 있습니다. 선택한 파일이 부분적으로 정확합니다. 걱정하지 마세요.

그런데 선생님은 file.11끝이 어디인지 정확히 알고 계셔야 합니다 1. 그는 "한자리 숫자로 끝나는 모든 파일"또는 이와 유사한 것을 의미합니다.

관련 정보