Unix / Linux - 파일 관리
소개
안녕하세요, 야심찬 프로그래머 여러분! Unix와 Linux 파일 관리의 세계로 안내해 드리게 되어 기쁩니다. 여러분의 친절한 이웃 컴퓨터 선생님이자, 이 중요한 주제를 안내해 드리게 되어 설레입니다. 프로그래밍에 처음이신 분들도 걱정 마세요 - 기초부터 차근차근 설명해 드릴 테니까요. 이 튜토리얼이 끝나면, 여러분은 Linux 파일 시스템을 프로처럼 이용할 수 있을 것입니다!
Linux에서의 파일 관리는 무엇인가요?
Linux에서의 파일 관리는 디지털 캐비넷을 정리하는 것과 같습니다. 파일과 디렉토리를 생성, 수정, 이동, 삭제하는 것에 관한 것입니다. 여러분이 옷을 깔끔하게 정리하고 싶어하는 것처럼, Linux는 디지털 데이터를 정리하고 쉽게 이용할 수 있도록 도구를 제공합니다.
제가 처음 교육을 시작할 때, 제 학생 중 한 명이 컴퓨터를 더러운 방처럼 취급했던 적이 있었습니다 - 어디서나 파일이 널려 있었습니다! 파일 관리 수업이 끝나면, 그는 도서관 목록만큼 정리가 잘된 사람이 되었습니다. 여러분도 같은 길을 걸어가시길 바랍니다!
Linux 파일 시스템 계층 구조
Linux는 파일을 트리 구조로 정리합니다. 루트 디렉토리 (/)에서 시작하여, 아래로 브랜치(하위 디렉토리)가 뻗어나갑니다.
다음은 Linux 파일 시스템의 간단한 시각화입니다:
/
├── home
│ └── username
├── etc
├── var
├── usr
└── tmp
이 디렉토리는 각각 특정 목적을 가지고 있습니다. 예를 들어, /home
은 사용자 개인 파일이 저장되는 곳이고, /etc
는 시스템 설정 파일을 포함하고 있습니다.
Linux에서의 파일 유형
Linux에서는 모든 것이 파일입니다! 네, 잘 들었습니다. 심지어 장치도 파일로 표현됩니다. 이 개념은 처음에는 이상하게 느껴질 수 있지만, Linux가 이렇게 강력하고 유연한 이유 중 하나입니다.
일반 파일
이들은 여러분의 일상적인 파일들 - 텍스트 문서, 이미지, 비디오 등입니다. 이들은 데이터를 포함하고 있으며, 가장 흔한 파일 유형입니다.
디렉토리
디렉토리는 다른 파일과 디렉토리를 포함한 특별한 파일입니다. 이들은 파일 캐비ネット의 파일들과 같습니다.
링크
링크는 Windows의 단축 키와 같습니다. 다른 파일이나 디렉토리를 가리킵니다.
- 심볼릭 링크(소프트 링크): 다른 파일이나 디렉토리, 심지어 다른 파일 시스템에 있는 것을 가리킬 수 있는 단축 키라고 생각하시면 됩니다.
- 하드 링크: 이들은 동일한 파일에 대한 추가 이름과 같습니다.
장치 파일
Linux에서 모든 것이 파일이라고 했죠? 장치 파일은 하드웨어 장치를 나타냅니다. 이들은 일반적으로 /dev
디렉토리에서 찾을 수 있습니다.
이름付き 파이프와 소켓
이들은 프로세스 간 통신에 사용되는 특별한 파일입니다. 지금은 이 부분에 대해 너무 걱정하지 마세요 - 이후에 다룰 고급 개념입니다.
Linux에서의 파일 관리 명령어
이제 실践적인 명령어로 손을 더럽히겠습니다. 저는 항상 학생들에게 "가장 좋은 학습 방법은 하기로부터 배우는 것!"이라고 말합니다. 터미널을 열고, 이제 시작해 보겠습니다!
파일과 디렉토리 목록
ls
명령어는 파일과 디렉토리를 목록화하는 데 가장 많이 사용됩니다.
ls
ls -l # 자세한 형식으로 더 많은 정보 표시
ls -a # 숨겨진 파일 표시
ls -lh # 인간이 읽을 수 있는 파일 크기 표시
예를 들어, ls -l
명령어의 출력은 다음과 같을 수 있습니다:
total 32
drwxr-xr-x 2 user group 4096 Jan 1 12:00 Documents
-rw-r--r-- 1 user group 8192 Jan 2 15:30 myfile.txt
이 출력은 각 파일/디렉토리의 권한, 소유자, 그룹, 크기, 마지막 수정 날짜, 이름을 보여줍니다.
디렉토리 생성
mkdir
명령어를 사용하여 새로운 디렉토리를 생성합니다:
mkdir my_new_directory
mkdir -p parent/child/grandchild # 중첩 디렉토리 생성
디렉토리 이동
cd
명령어를 사용하여 파일 시스템을 탐색합니다:
cd /home/username
cd .. # 하나의 단계 위로 이동
cd ~ # 홈 디렉토리로 이동
파일과 디렉토리 복사
cp
명령어를 사용하여 복사합니다:
cp source.txt destination.txt
cp -r source_dir destination_dir # 디렉토리를 재ursively 복사
파일 이동 및 이름 변경
mv
명령어를 사용하여 이동 및 이름을 변경합니다:
mv oldname.txt newname.txt # 이름 변경
mv file.txt /home/user/Documents/ # 이동
파일과 디렉토리 제거
이 명령어는 조심스럽게 사용해야 합니다 - 터미널에서는回收站이 없습니다!
rm file.txt
rm -r directory # 디렉토리와 그 내용을 제거
파일 내용 보기
파일 내용을 보기 위해 여러 가지 방법이 있습니다:
cat file.txt # 전체 파일을 표시
less file.txt # 파일을 페이지별로 보기
head -n 5 file.txt # 첫 5줄 보기
tail -n 5 file.txt # 마지막 5줄 보기
파일 찾기
find
명령어는 파일을 찾는 데 강력합니다:
find /home -name "*.txt" # /home 디렉토리 내 모든 .txt 파일 찾기
파일 권한
Linux에서 파일 권한을 이해하고 관리하는 것은 매우 중요합니다. 다음과 같이 나타냅니다:
ls -l file.txt
# 출력: -rw-r--r-- 1 user group 1234 Jan 1 12:00 file.txt
권한은 -rw-r--r--
로 나타됩니다:
- 첫 번째 문자: 파일 유형 (-는 일반 파일, d는 디렉토리)
- 다음 세 문자: 소유자 권한 (읽기, 쓰기, 실행)
- 다음 세 문자: 그룹 권한
- 마지막 세 문자: 다른 사람들의 권한
권한을 변경하려면 chmod
명령어를 사용합니다:
chmod 644 file.txt # rw-r--r-- 권한 설정
chmod u+x file.txt # 소유자에게 실행 권한 추가
다음은 일반적인 chmod
수치 값 표입니다:
수치 값 | 권한 | 기호 표현 |
---|---|---|
0 | 권한 없음 | --- |
1 | 실행 | --x |
2 | 쓰기 | -w- |
3 | 쓰기 + 실행 | -wx |
4 | 읽기 | r-- |
5 | 읽기 + 실행 | r-x |
6 | 읽기 + 쓰기 | rw- |
7 | 전체 권한 | rwx |
결론
축하합니다! 여러분은 Linux 파일 관리의 세계로 첫 걸음을 뗐습니다. 기억하시길, 연습이 완벽을 만듭니다. 저는 항상 학생들에게가상 머신을 설정하거나 Linux 라이브 USB를 사용하여 무서워하지 않고 실험할 것을 권장합니다.
Linux 여정을 계속하면서, 여러분은 이 파일 관리 기술이 더 고급 작업의 기초가 된다는 것을 알게 될 것입니다. 계속 탐구하고, 질문을 하고, 가장 중요한 것은, 그것을 즐기세요!
다음 시간에는 셸 스크립팅과 프로세스 관리와 같은 더 고급 주제로 깊이 들어갈 것입니다. 그 때까지, 즐거운 파일 관리를 하세요!
Credits: Image by storyset