리눅스 기본 구조와 명령
쉽게 말하면
리눅스는 마우스 대신 글자로 명령을 쳐서 일을 시키는 경우가 많아요. 폴더 이동은 cd, 목록 보기는 ls, 복사는 cp처럼 영어 단어를 줄인 이름이라 뜻을 알면 외우기 쉬워요. 파일마다 '주인·같은 팀·나머지'가 읽기·쓰기·실행을 할 수 있는지 정한 권한도 꼭 나와요.
시험용 정의
리눅스는 셸(bash 등)에서 명령을 입력해 시스템을 다룬다. 디렉터리 이동·확인은 cd, pwd, ls, 파일 다루기는 cp, mv, rm, mkdir, touch, 내용 보기는 cat, more, less, head, tail, 찾기는 find, grep, 권한·소유자는 chmod, chown이 대표적이다. 파일 권한은 소유자(u)·그룹(g)·기타(o)마다 읽기(r=4)·쓰기(w=2)·실행(x=1)으로 정한다.
비유로 이해하기
셸은 통역사다. 내가 짧은 영어 약어로 말하면(ls, cp) 운영체제에게 전달해 일을 시킨다.
자세히
먼저 알아 둘 말
| 말 | 뜻 |
|---|---|
| 셸 | 명령을 받아 커널에 전달하는 프로그램 (bash, sh, zsh) |
| root | 모든 권한을 가진 관리자 계정. 프롬프트가 # |
| / | 최상위 디렉터리(루트). 모든 경로의 시작 |
| 절대 경로 / 상대 경로 | / 부터 쓴 경로 / 지금 위치 기준 경로 |
기본 명령
| 명령 | 원래 말 | 하는 일 |
|---|---|---|
| ls -l | list | 목록을 자세히 (권한·소유자·크기) |
| cd · pwd | change directory · print working directory | 이동 · 현재 위치 |
| cp · mv · rm | copy · move · remove | 복사 · 이동/이름 바꾸기 · 삭제 (rm -r 디렉터리) |
| mkdir · rmdir | make · remove directory | 디렉터리 만들기 · 빈 디렉터리 지우기 |
| cat · head · tail | concatenate | 내용 보기 · 앞 10줄 · 끝 10줄 (tail -f 실시간) |
| grep | global regular expression print | 글자 패턴이 있는 줄 찾기 |
| find | 조건으로 파일 찾기 (find / -name 이름) | |
| chmod · chown | change mode · owner | 권한 바꾸기 · 소유자 바꾸기 |
| man | manual | 명령 설명서 |
주요 디렉터리
| 디렉터리 | 담는 것 |
|---|---|
| /etc | 설정 파일 (passwd, hosts, resolv.conf) |
| /home | 일반 사용자 홈 |
| /var | 자주 바뀌는 파일 (로그 /var/log) |
| /bin · /sbin | 기본 명령 · 관리자 명령 |
| /dev | 장치 파일 |
| /tmp | 임시 파일 |
권한 숫자로 읽기
-rwxr-xr-x: 맨 앞 - 는 일반 파일(d는 디렉터리). 이어서 소유자 rwx(7), 그룹 r-x(5), 기타 r-x(5) = 755. 자주 쓰는 값: 755(실행 파일·디렉터리), 644(일반 파일), 600(나만 읽고 쓰기).
기출에서 더 나온 것
| 말 | 뜻 |
|---|---|
| lsattr | 파일의 확장 속성(변경 불가 i 등)을 보는 명령. 바꿀 때는 chattr |
| find -exec | 찾은 파일마다 다른 명령(삭제 등)을 실행한다 |
| chmod -R | 디렉터리 안의 모든 파일까지 권한을 한꺼번에 바꾼다 |
| gdisk | GPT 파티션을 만드는 명령. 2TB가 넘는 디스크에 쓴다 |
| 주요 디렉터리 | /etc 설정 파일, /proc 커널·프로세스 정보를 보여 주는 가상 파일 시스템, /boot 커널 이미지와 부트 로더, /tmp 임시 파일, /home 사용자 홈, /usr 프로그램과 라이브러리, /var/log 로그 |
| chmod 기호 모드 | u(소유자)·g(그룹)·o(다른 사람)·a(모두)에 +(더하기)·-(빼기)·=(지우고 그것만). a-w는 모두에게서 쓰기를 빼고, go=w는 그룹·다른 사람 권한을 지우고 쓰기만 준다 |
| /etc/fstab 과 swap | /etc/fstab는 부팅할 때 자동으로 마운트할 목록. swap은 메모리가 모자랄 때 디스크 일부를 메모리처럼 쓰는 공간 |
| fdisk · gdisk · parted | fdisk는 주로 MBR 파티션(2TB까지)에 쓰고, 2TB가 넘는 GPT 디스크는 gdisk나 parted로 나눈다. 모두 파티션을 만드는 명령이지 디스크를 점검하는 명령이 아니다 |
시험에 이렇게 나와요
- 디렉터리 → /etc 설정, /proc 커널·프로세스 가상 파일 시스템, /boot 커널 이미지, /tmp 임시, /home 사용자 (/usr는 프로그램)
- 권한 숫자 → 다른 사람이 읽기만: 774·644처럼 마지막 자리 4
- 기호 모드 → a-w 모두 쓰기 금지, go=w는 기존 권한을 지우고 w만
- 부팅 때 자동 마운트 목록 → /etc/fstab, 메모리가 모자랄 때 쓰는 디스크 → swap
- 출력을 파일로 → > 덮어쓰기, >> 덧붙이기 / 한 화면씩 → | more
- 2TB 넘는 디스크 GPT 파티션 → gdisk·parted (fdisk는 파티션 편집이지 점검이 아님)
확인 문제
Q1. 리눅스에서 파일 권한을 rwxr-xr-- 로 바꾸는 숫자 표기는?
- 644
- 754
- 755
- 764
정답 보기
2번 754
r=4, w=2, x=1을 더한다. 주인 rwx = 7, 그룹 r-x = 5, 나머지 r-- = 4. 그래서 chmod 754.
Q2. 파일 안에서 특정 문자열이 있는 줄을 찾는 명령은?
- cat
- find
- grep
- ls
정답 보기
3번 grep
grep. find는 파일 자체를 찾는다.
Q3. chmod 644 file 의 결과 권한은?
- rw-r--r--
- r--r--r--
- rwxr-xr-x
- rw-rw-r--
정답 보기
1번 rw-r--r--
6=rw-, 4=r--, 4=r--.
Q4. 리눅스 시스템 로그가 주로 저장되는 디렉터리는?
- /home
- /etc
- /var/log
- /bin
정답 보기
3번 /var/log
/var/log다. /etc는 설정 파일, /home은 사용자 홈, /bin은 기본 명령이 있는 곳이다.
Q5. 부팅할 때 자동으로 마운트할 파일 시스템 목록을 적는 파일은?
- /etc/hosts
- /etc/passwd
- /boot/grub
- /etc/fstab
정답 보기
4번 /etc/fstab
/etc/fstab이다. /etc/hosts는 이름과 IP 짝, /etc/passwd는 사용자 계정 정보다.
Q6. 명령 결과를 기존 파일 내용 뒤에 덧붙이는 기호는?
- >>
- |
- <
- >
정답 보기
1번 >>
>는 덮어쓰기, >>는 덧붙이기, |는 다음 명령으로 넘기기.
헷갈리기 쉬운 O·X
mv 명령은 파일 이름을 바꿀 때도 쓴다.
정답 보기
O 같은 디렉터리로 옮기면 이름 바꾸기다.
rmdir은 안에 파일이 있는 디렉터리도 지운다.
정답 보기
X 빈 디렉터리만. 내용째 지우려면 rm -r.
파일 소유자를 바꾸는 명령은 chmod이다.
정답 보기
X 소유자는 chown, 권한이 chmod.