리눅스: 웹 서버, 클라우드 서버(AWS EC2 등)에서 가장 널리 사용되는 오픈소스 운영체제(OS)입니다. 안정성이 높고, 유연하며, 무료라는 장점 덕분에 서버 시장을 지배하고 있습니다.
CLI (Command Line Interface): 그래픽 사용자 인터페이스(GUI)가 아닌, 텍스트 기반의 명령어를 통해 컴퓨터와 상호작용하는 방식입니다. 서버 환경에서는 GUI가 없는 경우가 대부분이므로, 웹 마스터는 CLI에 익숙해져야 합니다.
SSH (Secure Shell): 원격에 있는 리눅스 서버에 안전하게 접속하여 명령어를 실행할 수 있게 해주는 프로토콜입니다. 웹 마스터는 SSH 클라이언트(PuTTY, Terminal 등)를 사용하여 서버를 관리합니다.
/)에서 시작하는 계층적인 트리 구조를 가집니다.| 명령어 | 설명 | 주요 옵션 및 예시 |
|---|---|---|
ls | List. 현재 디렉토리의 파일 및 디렉토리 목록을 보여줍니다. | • ls -l: 상세 정보(권한, 소유자, 크기, 날짜)를 함께 표시.• ls -a: 숨김 파일(.)까지 모두 표시. |
cd | Change Directory. 작업할 디렉토리를 변경(이동)합니다. | • cd /home/user: 절대 경로로 이동.• cd ../project: 상대 경로로 이동 ( . 현재, .. 상위 ).• cd ~: 홈 디렉토리로 이동. |
pwd | Print Working Directory. 현재 작업 중인 디렉토리의 전체 경로를 보여줍니다. | pwd |
mkdir | Make Directory. 새로운 디렉토리를 생성합니다. | mkdir my-project |
rm | Remove. 파일이나 디렉토리를 삭제합니다. (주의: 휴지통 없음!) | • rm file.txt: 파일 삭제.• rm -r my-project: 디렉토리와 그 안의 모든 내용 삭제.• rm -rf my-project: 묻지도 따지지도 않고 강제로 삭제. |
cp | Copy. 파일이나 디렉토리를 복사합니다. | • cp source.txt dest.txt: 파일 복사.• cp -r source_dir dest_dir: 디렉토리 복사. |
mv | Move. 파일이나 디렉토리를 이동하거나, 이름을 변경합니다. | • mv file.txt /new/location/: 파일 이동.• mv old_name.txt new_name.txt: 이름 변경. |
| 명령어 | 설명 | 주요 옵션 및 예시 |
|---|---|---|
cat | Concatenate. 파일의 전체 내용을 화면에 출력합니다. | cat error.log |
head / tail | 파일의 앞부분(head) 또는 뒷부분(tail) 몇 줄만 출력합니다. | • tail -n 100 access.log: 마지막 100줄 보기.• tail -f access.log: 실시간으로 추가되는 로그를 계속해서 보기. (매우 유용) |
less | cat과 달리, 파일의 내용을 페이지 단위로 스크롤하며 볼 수 있습니다. (q로 종료) | less large_file.txt |
grep | 파일 내용이나 명령어 결과에서 특정 문자열 패턴을 검색합니다. | cat access.log \| grep "404" (파이프 ` |
vi / vim / nano | CLI 환경에서 텍스트 파일을 편집하는 편집기(Editor)입니다. | vi nginx.conf |
| 명령어 | 설명 | 주요 옵션 및 예시 |
|---|---|---|
ps | Process Status. 현재 실행 중인 프로세스의 목록을 보여줍니다. | ps -ef \| grep "java" (java 프로세스 찾기) |
kill | 특정 프로세스를 종료시킵니다. (프로세스 ID(PID) 필요) | kill -9 12345 (12345번 프로세스 강제 종료) |
top / htop | 현재 시스템의 CPU, 메모리 사용량과 실행 중인 프로세스를 실시간으로 보여줍니다. | top |
df | Disk Free. 디스크의 남은 용량을 확인합니다. | df -h (사람이 읽기 쉬운 단위로 표시) |
free | 메모리(RAM)의 사용량을 확인합니다. | free -h |
systemctl | 서비스(데몬)를 관리(시작, 중지, 재시작, 상태 확인)하는 명령어. (Systemd 기반) | • sudo systemctl start nginx• sudo systemctl status nginx |
| 명령어 | 설명 | 주요 옵션 및 예시 |
|---|---|---|
sudo | Superuser do. 현재 사용자에게 없는 관리자(root) 권한으로 명령어를 실행합니다. | sudo yum install nginx |
chmod | Change Mode. 파일이나 디렉토리의 권한을 변경합니다. | chmod 755 script.sh (소유자:rwx, 그룹:r-x, 기타:r-x) |
chown | Change Owner. 파일이나 디렉토리의 소유자를 변경합니다. | sudo chown nginx:nginx /var/www/html |
ls, cd, pwd, mkdir, rm, cp, mv는 가장 기본적이고 필수적인 명령어입니다.cat, tail -f, grep은 서버의 상태를 확인하고 문제를 진단하는 데 매우 중요합니다.ps, kill, systemctl을 사용하여 실행 중인 애플리케이션을 제어합니다.sudo를 통해 관리자 권한을 획득하고, chmod, chown으로 파일 접근 권한을 설정하여 서버를 안전하게 보호해야 합니다.