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