TIL - 20251217

juni·2025년 12월 16일

TIL

목록 보기
210/316

1217 서버 관리의 첫걸음: 필수 리눅스 명령어


✅ 1. 리눅스(Linux)와 CLI (Command Line Interface)

  • 리눅스: 웹 서버, 클라우드 서버(AWS EC2 등)에서 가장 널리 사용되는 오픈소스 운영체제(OS)입니다. 안정성이 높고, 유연하며, 무료라는 장점 덕분에 서버 시장을 지배하고 있습니다.

  • CLI (Command Line Interface): 그래픽 사용자 인터페이스(GUI)가 아닌, 텍스트 기반의 명령어를 통해 컴퓨터와 상호작용하는 방식입니다. 서버 환경에서는 GUI가 없는 경우가 대부분이므로, 웹 마스터는 CLI에 익숙해져야 합니다.

  • SSH (Secure Shell): 원격에 있는 리눅스 서버에 안전하게 접속하여 명령어를 실행할 수 있게 해주는 프로토콜입니다. 웹 마스터는 SSH 클라이언트(PuTTY, Terminal 등)를 사용하여 서버를 관리합니다.


✅ 2. 파일 및 디렉토리 관리 명령어

  • 리눅스의 파일 시스템은 최상위 디렉토리인 루트(/)에서 시작하는 계층적인 트리 구조를 가집니다.
명령어설명주요 옵션 및 예시
lsList. 현재 디렉토리의 파일 및 디렉토리 목록을 보여줍니다.ls -l: 상세 정보(권한, 소유자, 크기, 날짜)를 함께 표시.
ls -a: 숨김 파일(.)까지 모두 표시.
cdChange Directory. 작업할 디렉토리를 변경(이동)합니다.cd /home/user: 절대 경로로 이동.
cd ../project: 상대 경로로 이동 ( . 현재, .. 상위 ).
cd ~: 홈 디렉토리로 이동.
pwdPrint Working Directory. 현재 작업 중인 디렉토리의 전체 경로를 보여줍니다.pwd
mkdirMake Directory. 새로운 디렉토리를 생성합니다.mkdir my-project
rmRemove. 파일이나 디렉토리를 삭제합니다. (주의: 휴지통 없음!)rm file.txt: 파일 삭제.
rm -r my-project: 디렉토리와 그 안의 모든 내용 삭제.
rm -rf my-project: 묻지도 따지지도 않고 강제로 삭제.
cpCopy. 파일이나 디렉토리를 복사합니다.cp source.txt dest.txt: 파일 복사.
cp -r source_dir dest_dir: 디렉토리 복사.
mvMove. 파일이나 디렉토리를 이동하거나, 이름을 변경합니다.mv file.txt /new/location/: 파일 이동.
mv old_name.txt new_name.txt: 이름 변경.

✅ 3. 파일 내용 확인 및 편집 명령어

명령어설명주요 옵션 및 예시
catConcatenate. 파일의 전체 내용을 화면에 출력합니다.cat error.log
head / tail파일의 앞부분(head) 또는 뒷부분(tail) 몇 줄만 출력합니다.tail -n 100 access.log: 마지막 100줄 보기.
tail -f access.log: 실시간으로 추가되는 로그를 계속해서 보기. (매우 유용)
lesscat과 달리, 파일의 내용을 페이지 단위로 스크롤하며 볼 수 있습니다. (q로 종료)less large_file.txt
grep파일 내용이나 명령어 결과에서 특정 문자열 패턴을 검색합니다.cat access.log \| grep "404" (파이프 `
vi / vim / nanoCLI 환경에서 텍스트 파일을 편집하는 편집기(Editor)입니다.vi nginx.conf

✅ 4. 시스템 및 프로세스 관리 명령어

명령어설명주요 옵션 및 예시
psProcess Status. 현재 실행 중인 프로세스의 목록을 보여줍니다.ps -ef \| grep "java" (java 프로세스 찾기)
kill특정 프로세스를 종료시킵니다. (프로세스 ID(PID) 필요)kill -9 12345 (12345번 프로세스 강제 종료)
top / htop현재 시스템의 CPU, 메모리 사용량과 실행 중인 프로세스를 실시간으로 보여줍니다.top
dfDisk Free. 디스크의 남은 용량을 확인합니다.df -h (사람이 읽기 쉬운 단위로 표시)
free메모리(RAM)의 사용량을 확인합니다.free -h
systemctl서비스(데몬)를 관리(시작, 중지, 재시작, 상태 확인)하는 명령어. (Systemd 기반)sudo systemctl start nginx
sudo systemctl status nginx

✅ 5. 권한 관리 명령어

  • 리눅스는 파일과 디렉토리에 대해 소유자(Owner), 그룹(Group), 그 외 사용자(Others) 별로 읽기(r), 쓰기(w), 실행(x) 권한을 부여하여 시스템을 보호합니다.
명령어설명주요 옵션 및 예시
sudoSuperuser do. 현재 사용자에게 없는 관리자(root) 권한으로 명령어를 실행합니다.sudo yum install nginx
chmodChange Mode. 파일이나 디렉토리의 권한을 변경합니다.chmod 755 script.sh (소유자:rwx, 그룹:r-x, 기타:r-x)
chownChange Owner. 파일이나 디렉토리의 소유자를 변경합니다.sudo chown nginx:nginx /var/www/html

📌 요약

  • 웹 서버는 대부분 리눅스 OS를 사용하며, CLI 환경에서 SSH를 통해 원격으로 관리합니다.
  • 파일/디렉토리 관리: ls, cd, pwd, mkdir, rm, cp, mv는 가장 기본적이고 필수적인 명령어입니다.
  • 로그 및 파일 확인: cat, tail -f, grep은 서버의 상태를 확인하고 문제를 진단하는 데 매우 중요합니다.
  • 프로세스/서비스 관리: ps, kill, systemctl을 사용하여 실행 중인 애플리케이션을 제어합니다.
  • 권한 관리: sudo를 통해 관리자 권한을 획득하고, chmod, chown으로 파일 접근 권한을 설정하여 서버를 안전하게 보호해야 합니다.

0개의 댓글