본문 바로가기

프로그래밍/리눅스

리눅스 명령어 이것만은 꼭 알아야 한다!

반응형

리눅스를 제대로 쓰려면 필수적으로 익혀야 할 명령어들이 있다. 처음 배우는 사람부터 서버 운영하는 전문가까지, 이 명령어들만 잘 알아도 웬만한 상황은 다 커버 가능하다. AWS EC2로 Ubuntu 서버를 운영하면서 Node.js, PHP API, Redis, MySQL까지 다루다 보니 자연스럽게 손에 익은 명령어들을 기초부터 고급까지 정리해 본다.


1. 파일 및 디렉터리 관리 - 리눅스의 기본

리눅스를 쓰려면 파일과 디렉터리 관리는 필수다. 가장 많이 쓰이는 기본 명령어부터 익히자.

# 현재 위치 확인
pwd

# 디렉터리 목록 보기 (상세 정보 포함)
ls -l

# 숨김 파일까지 모두 보기
ls -la

# 디렉터리 이동
cd /path/to/directory

# 상위 디렉터리로 이동
cd ..

# 홈 디렉터리로 이동
cd ~

# 파일 내용 보기
cat filename.txt

# 페이지 단위로 파일 내용 보기
less filename.txt

# 파일 복사
cp source.txt destination.txt

# 파일 이동 (이름 변경 포함)
mv oldname.txt newname.txt

# 파일 삭제
rm filename.txt

# 디렉터리 삭제 (강제 삭제)
rm -rf directory_name

Tip: rm -rf는 항상 조심히 써야 한다. 실수로 중요한 파일까지 날려버릴 수 있다. 한 번 rm -rf /를 실행할 뻔한 적이 있었는데, 권한 부족으로 다행히 막혔던 경험이 있다.


2. 시스템 및 프로세스 관리 - 서버 운영의 기본기

서버 운영에서 시스템 상태 확인과 프로세스 관리는 매우 중요하다.

# 메모리 사용량 확인
free -h

# 디스크 사용량 확인
df -h

# 디렉터리별 용량 확인
du -sh /path/to/directory

# 실시간 CPU 및 메모리 사용량 확인
top

# 더 보기 편한 htop (별도 설치 필요)
htop

# 네트워크 설정 확인
ifconfig (또는 ip a)

# 실행 중인 프로세스 확인
ps aux

# 특정 프로세스 찾기
ps aux | grep nginx

# 프로세스 강제 종료
kill -9 process_id

# 포트 사용 중인 프로세스 찾기
netstat -tuln | grep 80

Tip: netstat 대신 ss 명령어가 더 빠르다. ss -tuln을 추천한다.


3. 사용자 및 권한 관리 - 보안과 효율을 동시에

서버 관리에서 사용자와 권한 설정은 필수다.

# 현재 사용자 확인
whoami

# 다른 사용자로 전환
su - username

# 관리자 권한으로 명령 실행
sudo command

# 파일 권한 변경
chmod 755 filename

# 파일 소유자 변경
chown user:group filename

4. 패키지 및 서비스 관리 - 우아한 서버 운영

Ubuntu 기준 패키지 관리와 서비스 운영에 필요한 명령어들이다.

# 패키지 목록 업데이트
sudo apt update

# 패키지 업그레이드
sudo apt upgrade

# 특정 패키지 설치
sudo apt install package_name

# 패키지 제거
sudo apt remove package_name

# 시스템 로그 확인
tail -f /var/log/syslog

# 웹 서버 로그 확인 (nginx 예시)
tail -f /var/log/nginx/access.log

5. 개인적인 팁과 경험

  1. Alias 설정으로 생산성 향상: 자주 쓰는 명령어는 단축키로 만들자.
  2. alias ll='ls -la' alias gs='git status'
  3. 반복 작업은 스크립트로 자동화: 반복되는 작업은 bash 스크립트로 처리하면 시간 절약에 큰 도움이 된다.
  4. SSH 키 설정: 비밀번호 없이 서버에 접속하려면 SSH 키를 설정해 두는 게 편리하다.
  5. ssh-keygen -t rsa ssh-copy-id user@your_server

6. 마무리

리눅스 명령어는 익숙해질수록 생산성과 효율이 높아진다. 특히 AWS EC2에서 서버 세팅하고 Node.js, PHP API, Redis, MySQL까지 관리하면서 이 명령어들에 크게 의지해 왔다. 이 글을 통해 리눅스를 조금 더 편하게 다루는 데 도움이 되길 바란다.

반응형