Unix / Linux - Directories
안녕하세요, 미래의 프로그래머 여러분! 오늘 우리는 Unix와 Linux 디렉토리의 fascineting 세계로 접근해 볼 것입니다. 여러분의 친절한 이웃 컴퓨터 교사로서 저는 이 여정을 단계별로 안내해 드리겠습니다. 그럼 커피 한 잔 (또는 차, 그게 여러분의 취향이라면)을 손에 들고, 이 강력한 운영 체제의 디렉토리 구조를 탐구해 보겠습니다!
Linux Directory Structure
컴퓨터를 큰 나무로 상상해 보세요. 이 나무의 뿌리는 바로 루트 디렉토리 (/)입니다. 그리고 그곳에서 가지(하위 디렉토리)들이 뻗어나가, 계층 구조를 형성합니다. 이 구조는 Unix와 Linux 시스템의 근간입니다.
다음은 Linux 디렉토리 구조의 간단한 시각화입니다:
/
├── bin
├── boot
├── dev
├── etc
├── home
├── lib
├── media
├── mnt
├── opt
├── proc
├── root
├── sbin
├── tmp
├── usr
└── var
이 디렉토리들은 각각 특정 목적을 가지고 있습니다. 예를 들어, /bin
에는 필수적인 사용자 명령어가 포함되어 있으며, /etc
는 시스템 설정 파일을 저장하고, /home
은 사용자 홈 디렉토리가 위치해 있습니다.
Home Directory
홈에 대해 이야기하자면, Linux 세계에서 여러분의 개인 공간 - 홈 디렉토리에 대해 이야기해 보겠습니다. 이것은 큰 Linux 집 안의 당신의 방과 같은 것입니다.
홈 디렉토리로 이동하려면 다음 명령어를 사용할 수 있습니다:
cd ~
또는 간단하게:
cd
여기서 cd
는 "디렉토리 변경"을 의미하며, ~
은 여러분의 홈 디렉토리의 축약입니다.
Absolute/Relative Pathnames
이제 이 나무 같은 구조를 탐색하는 방법에 대해 이야기해 보겠습니다. 우리는 경로 이름을 사용하며, 이 경로 이름은 두 가지 형태로 나뉩니다: 절대 경로와 상대 경로입니다.
Absolute Pathnames
절대 경로는 루트 디렉토리 (/)에서 시작합니다. 이것은 누군가에게 당신의 전체 주소를 제공하는 것과 같습니다.
예시:
cd /home/username/Documents
이 명령어는 여러분이 현재 파일 시스템 어디에 있든지 상관없이, 홈 디렉토리의 Documents 폴더로 이동시킵니다.
Relative Pathnames
반면에 상대 경로는 현재 위치를 기준으로 합니다. 이는 현재 위치에서의 지시와 같습니다.
예시:
cd Documents
만약 여러분이 이미 홈 디렉토리에 있다면, 이 명령어는 Documents 폴더로 이동시킵니다.
Listing Directories
이제 탐색 방법을 알고 있으므로, 이 디렉토리 안에 무엇이 있는지 보겠습니다. ls
명령어는 여러분의 최고의 친구입니다.
ls
이 명령어는 현재 디렉토리의 내용을 나열합니다. 더 많은 정보를 원하시나요? 그럼 다음을 시도해 보세요:
ls -l
-l
옵션은 긴 목록 형식을 제공하여 권한, 소유자, 크기, 수정 날짜를 보여줍니다.
Creating Directories
이제 이 Linux 나무에 우리 자신의 가지를 만들 시간입니다! 디렉토리를 생성하기 위해 mkdir
명령어를 사용합니다.
mkdir MyNewFolder
이 명령어는 현재 위치에 "MyNewFolder"이라는 새로운 디렉토리를 생성합니다.
Creating Parent Directories
만약 아직 존재하지 않는 디렉토리 내에 디렉토리를 생성하고 싶다면? 걱정하지 마세요! -p
옵션을 사용하면 됩니다.
mkdir -p Projects/WebDevelopment/HTML
이 명령어는 부모 디렉토리가 존재하지 않더라도 전체 경로를 생성합니다.
Removing Directories
occasionally, we need to do some pruning. To remove an empty directory, use the rmdir
command:
rmdir MyNewFolder
하지만 조심해야 합니다! 디렉토리와 그 안의 모든 내용을 제거하고 싶다면 rm -r
를 사용하지만, 이 명령어는 신중하게 사용해야 합니다:
rm -r Projects
이 명령어는 Projects 디렉토리와 그 안의 모든 것을 제거합니다. 이는 가위 대신 체인ソ어를 사용하는 것과 같습니다!
Changing Directories
이미 cd
명령어를 보았지만, 다시 한 번 요약해 보겠습니다:
cd /path/to/directory # 특정 디렉토리로 변경
cd .. # 한 단계 위로 이동
cd ~ # 홈 디렉토리로 이동
cd - # 이전 디렉토리로 이동
Renaming Directories
Unix/Linux에서는 별도의 "이름 바꾸기" 명령어가 없습니다. 대신 mv
(이동) 명령어를 사용합니다:
mv oldname newname
예를 들어:
mv MyProjects MyAwesomeProjects
이 명령어는 "MyProjects" 디렉토리를 "MyAwesomeProjects"로 이름을 바꿉니다.
The directories . (dot) and .. (dot dot)
마지막으로 두 가지 특별한 디렉토리 이름을 마무리해 보겠습니다:
-
.
(단일 점)은 현재 디렉토리를 나타냅니다 -
..
(이중 점)은 부모 디렉토리를 나타냅니다
이들은 상대 경로에서 매우 유용합니다. 예를 들어:
cp ../file.txt .
이 명령어는 부모 디렉토리의 "file.txt" 파일을 현재 디렉토리로 복사합니다.
이제 우리가 다룰 주요 디렉토리 관련 명령어를 요약한 표입니다:
명령어 | 설명 | 예시 |
---|---|---|
cd | 디렉토리 변경 | cd /home/user |
ls | 디렉토리 내용 나열 | ls -l |
mkdir | 새로운 디렉토리 생성 | mkdir NewFolder |
rmdir | 빈 디렉토리 제거 | rmdir OldFolder |
rm -r | 디렉토리와 내용 제거 | rm -r Projects |
mv | 디렉토리 이동/이름 바꾸기 | mv OldName NewName |
cp | 파일이나 디렉토리 복사 | cp -r SourceDir DestDir |
기억하시기 바랍니다, 연습이 완성입니다! 터미널에서 실험을 두려워하지 마세요. Linux는 ( rm -r
을 조심스럽게 사용하지 않는 이상) 매우 인내심이 있습니다! 즐겁게 탐험하시고, Linux의 힘을 느껴보세요!
Credits: Image by storyset