Unix / Linux - Quick Guide

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

Unix / Linux - Quick Guide

1. Unix는 무엇인가?

Unix는 1960년대에 개발된 운영 체제로, Linux를 포함한 많은 현대 운영 체제의 기초가 되었습니다. 그 안정성, 유연성, 강력한 명령줄 인터페이스로 유명합니다.

1.1 Unix 아키텍처

Unix는 다음과 같은 층 구조를 따릅니다:

  1. 커널(시스템의 핵심)
  2. 셸(사용자와 커널 간의 인터페이스)
  3. 유틸리티와 애플리케이션

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