트리 구조 및 디렉토리 [닫기]

트리 구조 및 디렉토리 [닫기]

다음 코드를 사용하여 트리 구조를 그려야 합니다.

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 /;(루트로 이동) mkdirabc 디렉토리를 생성하지만 나머지 줄을 이해할 수 없습니다.

어떤 아이디어라도 매우 도움이 될 것입니다.

답변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

관련 정보