![트리 구조 및 디렉토리 [닫기]](https://linux55.com/image/175845/%ED%8A%B8%EB%A6%AC%20%EA%B5%AC%EC%A1%B0%20%EB%B0%8F%20%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC%20%5B%EB%8B%AB%EA%B8%B0%5D.png)
다음 코드를 사용하여 트리 구조를 그려야 합니다.
cd /; mkdir a b c a/a b/a; cd a; mkdir ../e ../a/f ../b/a/g; cd../b/./; mkdir /a/k a/b ../a/./b /c
나는 알고 있습니다: cd /;
(루트로 이동) mkdir
abc 디렉토리를 생성하지만 나머지 줄을 이해할 수 없습니다.
어떤 아이디어라도 매우 도움이 될 것입니다.
답변1
이것은 혼란스러운 방식으로 작성되었으며 기본 Linux/Unix 테스트에서 가정합니다. 나는 설명할 수 있다. 여러 줄이면 더 명확해 보일 것입니다. char은 명령의 끝을 나타냅니다. mkdir 명령은 한 번에 여러 작업을 수행할 수 있습니다.
cd /
현재 작업 디렉토리는 / 입니다.
mkdir a b c a/a b/a
cwd와 관련된 디렉토리 생성: /a, /b, /c, /a/a, /b/a
cd a
귀하의 cwd는 /a가 됩니다.
mkdir ../e ../a/f ../b/a/g
현재 위치를 기준으로 디렉터리를 만듭니다. ..
한 단계 위로 올라가는 수단. /a의 cwd 위에는 /가 있으므로 /e, /a/f, /b/a/g 디렉터리를 차례로 만듭니다.
cd ../b/./
while은 ..
상위 디렉터리를 나타내며 .
이 디렉터리를 나타냅니다. 따라서 /a에서 시작하여 한 단계 위로 이동( ..
)한 다음 /b로 이동하여 현재 위치( .
)에 유지됩니다.
디렉토리 이름 뒤에 오는 것은 /
단순히 그것이 디렉토리이고 선택 사항임을 의미합니다.
mkdir /a/k a/b ../a/./b /c
다시 말하지만, 이는 분명히 혼란스러운 방식으로 쓰여졌기 때문에 분해되어야 합니다. 선행이 /
절대 경로를 의미하므로 /a/k를 만들고, 이미 /b에 있고 상대 경로(/로 시작하지 않음)이므로 /b/a/b를 만듭니다. 다음은 /a/b입니다. 이미 /b에 있고 .
아무 것도 하지 않기 때문입니다. 그런 다음 /c를 생성하려고 시도하지만 이미 존재합니다.
명령줄에서 직접 이 작업을 수행하고 이것이 의미가 있는지 확인하는 것이 좋습니다.
답변2
tree
명령이 잘못되더라도 원하는 것을 시각화할 수 있습니다.테든지적했다. 당신은 말할 필요가cd ../b/./;
를 설치하고 tree
명령을 실행한 다음 tree
디렉터리에서 실행하면 /
생성한 전체 디렉터리 트리가 표시됩니다.
[root@host /]# tree -a a
a
|-- a
|-- b
|-- f
`-- k
4 directories, 0 files
[root@host /]# tree -a b
b
`-- a
|-- b
`-- g
3 directories, 0 files
[root@host /]# tree -a c
c
0 directories, 0 files
[root@host /]# tree -a e
e
0 directories, 0 files