Unix / Linux - Quick Guide
안녕하세요, 열망하는 프로그래머 여러분! 경험丰富的 컴퓨터 과학 교사로서, Unix와 Linux의 fascineting 세상을 안내해드리게 되어 기쁩니다. 프로그래밍에 처음이라도 걱정하지 마세요 - 기본부터 차근차근 시작하겠습니다. 이 흥미로운 여정을 함께 시작해봅시다!

1. Unix는 무엇인가?
Unix는 1960년대에 개발된 운영 체제로, Linux를 포함한 많은 현대 운영 체제의 기초가 되었습니다. 그 안정성, 유연성, 강력한 명령줄 인터페이스로 유명합니다.
1.1 Unix 아키텍처
Unix는 다음과 같은 층 구조를 따릅니다:
- 커널(시스템의 핵심)
- 셸(사용자와 커널 간의 인터페이스)
- 유틸리티와 애플리케이션
Unix를 케이크로 생각해보세요: 커널은 기반, 셸은 토핑, 유틸리티는 맛있는 토핑입니다!
2. Unix/Linux 시작하기
2.1 명령줄 인터페이스(CLI)
Unix/Linux 시스템은 주로 명령줄 인터페이스를 사용합니다. 두려워하지 마세요 - 새로운 언어를 배우는 것처럼, 곧 능숙해질 거예요!
시작하기 위해 터미널을 엽니다. 다음과 같은 것을 보게 될 겁니다:
username@hostname:~$이것이 명령 프롬프트로, 지시를 기다리고 있습니다!
2.2 기본 명령어
simple 명령어로 시작해보겠습니다:
| 명령어 | 설명 | 예시 | 
|---|---|---|
| pwd | 현재 작업 디렉토리 출력 | pwd | 
| ls | 파일과 디렉토리 목록 | ls | 
| cd | 디렉토리 이동 | cd Documents | 
| mkdir | 디렉토리 생성 | mkdir MyFolder | 
| touch | 빈 파일 생성 | touch myfile.txt | 
이제 시도해보겠습니다!
$ pwd
/home/username
$ ls
Documents  Downloads  Music  Pictures
$ mkdir MyProject
$ cd MyProject
$ touch hello.txt
$ ls
hello.txt각 명령어는 특정 작업을 합니다. pwd는 현재 위치를 보여줍니다, ls는 주변을 목록으로 보여줍니다, mkdir는 새로운 폴더를 생성합니다, cd는 다른 위치로 이동합니다, touch는 새로운 파일을 생성합니다.
3. 파일 관리
3.1 파일 생성 및 편집
nano 편집기를 사용하여 간단한 텍스트 파일을 생성해보겠습니다:
$ nano hello.txt이제 nano 편집기가 열립니다. 다음과 같은 텍스트를 입력하세요:
Hello, Unix world!
This is my first file.Ctrl+X를 누르고, Y를 누르고, Enter를 눌러 저장하고 나갑니다.
3.2 파일 내용 보기
파일 내용을 보려면:
$ cat hello.txt
Hello, Unix world!
This is my first file.cat 명령어는 파일의 전체 내용을 표시합니다.
3.3 파일 복사, 이동, 삭제
다음과 같은 빠른 참조 표입니다:
| 명령어 | 설명 | 예시 | 
|---|---|---|
| cp | 파일 또는 디렉토리 복사 | cp hello.txt hello_copy.txt | 
| mv | 파일 이동 또는 이름 변경 | mv hello.txt greetings.txt | 
| rm | 파일 또는 디렉토리 제거 | rm hello_copy.txt | 
이제 시도해보겠습니다:
$ cp hello.txt hello_backup.txt
$ ls
hello.txt  hello_backup.txt
$ mv hello.txt greetings.txt
$ ls
greetings.txt  hello_backup.txt
$ rm hello_backup.txt
$ ls
greetings.txt기억하세요, 강력한 권한은 큰 책임을 동반합니다. rm 명령어는 신중하게 사용하세요 - 명령줄에는回收站이 없습니다!
4. 디렉토리 관리
4.1 디렉토리 이동
이미 cd 명령어를 사용하여 디렉토리를 변경하는 방법을 봤습니다. 다음은 몇 가지 이동 팁입니다:
- 
cd ..는 하나의 디렉토리 위로 이동합니다
- 
cd ~는 홈 디렉토리로 이동합니다
- 
cd /는 루트 디렉토리로 이동합니다
$ pwd
/home/username/MyProject
$ cd ..
$ pwd
/home/username
$ cd ~
$ pwd
/home/username
$ cd /
$ pwd
/4.2 디렉토리 생성 및 제거
mkdir를 사용하여 디렉토리를 생성할 수 있습니다. 디렉토리를 제거하려면 rmdir를 사용합니다:
$ mkdir TestDir
$ ls
TestDir  MyProject
$ rmdir TestDir
$ ls
MyProject참고: rmdir은 빈 디렉토리에만 작동합니다. 비어 있지 않은 디렉토리를 제거하려면 rm -r을 사용하지만, 이 명령어는 매우 신중하게 사용하세요!
5. 파일 권한
Unix/Linux 시스템은 robust한 권한 시스템을 가지고 있습니다. 각 파일과 디렉토리는 소유자, 그룹, 그리고 다른 사람들에게 권한을 가지고 있습니다.
5.1 권한 이해
ls -l을 사용하여 자세한 파일 정보를 볼 수 있습니다. 권한을 포함합니다:
$ ls -l
-rw-rw-r-- 1 username username 35 Jun 15 10:30 greetings.txt권한은 -rw-rw-r--로 표시됩니다:
- 첫 번째 문자는 파일 유형을 나타냅니다 (-는 일반 파일,d는 디렉토리)
- 다음 세 개의 문자는 소유자 권한입니다
- 그 다음 세 개는 그룹 권한입니다
- 마지막 세 개는 다른 사람들에게 대한 권한입니다
각 세 개의 문자는 읽기(r), 쓰기(w), 실행(x) 권한을 나타냅니다.
5.2 권한 변경
chmod 명령어를 사용하여 권한을 변경할 수 있습니다:
$ chmod 644 greetings.txt
$ ls -l greetings.txt
-rw-r--r-- 1 username username 35 Jun 15 10:30 greetings.txt여기서 644는 octal 표현입니다:
- 6(2진수 110)은 소유자에게 읽기와 쓰기 권한을意味합니다
- 4(2진수 100)은 그룹과 다른 사람들에게 읽기 권한만을意味합니다
결론
축하합니다! Unix/Linux의 세상으로的第一步을 내디디셨습니다. 파일 시스템을 탐색하는 기본 방법, 파일과 디렉토리 관리, 권한 이해 등을 다루었습니다. 기억하세요, 연습이 완벽을 만듭니다 - 이 명령어를 자주 사용할수록 더 편안해질 것입니다.
다음 강의에서는 셸 스크립팅, 프로세스 관리, 네트워크 유틸리티 등 더 고급 주제에 대해 더 깊이 탐구할 것입니다. 그때까지 탐험을 계속하고, Unix/Linux의 연습장에서 실험을 두려워하지 마세요!
Credits: Image by storyset
