우당탕탕
Linux 명령어 실무에서 매일 쓰는 것들, 제가 직접 겪은 삽질과 해결법 본문
사실 Linux 서버 세팅하다 보면 기본 명령어도 가끔 헷갈려서 꽤 삽질하게 되더라고요. 저도 처음엔 명령어 조합이나 옵션 때문에 시간 많이 뺏겼는데, 직접 쓰면서 정리한 실무에서 매일 쓰는 Linux 명령어와 설정법을 공유해보려고 해요.
이 글에서는 기본 파일/디렉터리 조작부터 네트워크 상태 확인, 프로세스 관리, 권한 설정, 로그 확인까지 현업에서 제가 실제 문제를 해결하며 쓴 명령어와 팁들을 다룰 거예요.
Linux 명령어 실무에서 매일 쓰는 것들 정리 관련 정보
제가 쓰는 개발 환경과 버전
저는 주로 Ubuntu 22.04 서버에서 작업합니다. 물론 CentOS 7이나 Amazon Linux2 환경도 많이 다뤘어요. 기본 bash shell 환경에서 쓰는 명령어 위주입니다.
파일과 디렉터리 다루는 명령어, 저는 이렇게 씁니다
파일이나 디렉터리 조작은 매일 기본 중의 기본인데요, 복습도 할 겸 제가 평소에 자주 쓰는 명령어를 정리해봤어요.
# 현재 디렉터리 파일 목록, 숨김 포함 보기
ls -alh
# 특정 확장자 파일만 찾기
ls *.log
# 디렉터리 생성, 상위 포함
mkdir -p /var/www/html/newdir
# 복사: -r로 디렉터리 복사
cp -r ./source_dir ./backup_dir
# 이동 및 이름 변경
mv oldname.txt newname.txt
# 권한 변경, 실행 권한 추가
chmod +x deploy.sh
# 소유자 변경
sudo chown -R ubuntu:ubuntu /var/www/html
이 중에서 특히 chmod +x로 실행 권한 추가하는 걸 깜빡해서 스크립트가 안 돌아가던 경험이 여러 번 있었어요. 그리고 권한 문제 때문에 chown -R로 소유자 전체 변경하는 것도 빈번히 하죠.
Linux 명령어 실무에서 매일 쓰는 것들 정리 관련 정보
네트워크 상태를 확인하는 명령어, 이렇게 씁니다
실무에서 네트워크 장애나 연결 문제 체크할 때 반드시 쓰는 명령어들인데요, 이 부분에서 막히는 경우가 의외로 많아요.
# 내 IP 확인하기
ip a show eth0
# 네트워크 통신 테스트
ping -c 5 www.google.com
# 포트 상태 확인 (netstat 대체)
ss -tuln | grep 80
# 특정 호스트 포트가 열렸는지
nc -zv 192.168.1.10 22
# 네트워크 트래픽 실시간 확인
sudo iftop -i eth0
제가 특히 헤맸던 게 netstat이 최신 OS에선 deprecate 돼서 안 된다는 점이었어요. ss 명령어가 대체품이라 꼭 기억하세요.
프로세스 관리, 자원 점검은 이렇게 합니다
서버가 느려지거나 이상하게 동작할 때 프로세스부터 자원 점검을 빼먹으면 안 되잖아요? 저는 다음 명령어 조합으로 상태를 체크해요.
# 전체 프로세스 보기 (CPU 사용량 순)
top
# 특정 프로세스 찾기
ps aux | grep nginx
# 프로세스 종료하기
sudo kill -9 12345
# 메모리 사용량 확인
free -mh
# 디스크 사용량 확인
df -h
top에서 CPU 과다 점유 프로세스를 확인하고, kill -9로 강제 종료한 적이 많았어요. 그리고 free -mh로 메모리 상황 보는 것도 필수죠.
로그 확인과 실시간 모니터링, 이렇게 해봤어요
로그 파일 크기가 워낙 방대해서 제대로 보는 게 쉽지 않잖아요. 실시간 모니터링과 검색 팁도 꼭 알아두면 좋아요.
# 최신 100줄 로그 보기
sudo tail -n 100 /var/log/syslog
# 로그 실시간 출력
sudo tail -f /var/log/nginx/access.log
# 로그에서 특정 단어 포함 줄 검색
grep ERROR /var/log/myapp.log
# 대용량 로그에서 특정 시간대만 추출하기
awk '/2024-06-10 14:00/,/2024-06-10 15:00/' /var/log/myapp.log
# 로그 모니터링 툴로 less 활용 (앞뒤 스크롤 가능)
sudo less /var/log/syslog
이건 제가 직접 문제 찾을 때 너무 유용했는데, tail -f로 실시간 로그 흐름을 보면서 grep으로 필터링 하는 게 핵심이에요. 그리고 큰 로그 파일은 less로 편하게 넘기는 게 편리하더라고요.
여기서 막혔던 에러와 해결법
실제로 서버 세팅하면서 겪었던 문제 중 하나가 권한 문제였어요. 로그 파일에 접근이 안 돼서 이상하게 보이던 경우가 많았거든요.
tail: cannot open '/var/log/nginx/access.log' for reading: Permission denied
이 에러 메시지가 왜 나오는지 한참 고민했는데, 원인은 nginx 로그 파일 권한이 root만 읽을 수 있어서였어요. 그래서 sudo를 붙여서 명령어를 실행하거나, 로그 권한을 nginx 그룹에 맞게 조정해서 해결했어요.
추가 팁: 명령어 조합과 별도로 알면 좋은 점
명령어 하나하나도 중요하지만, 파이프(|)로 조합하거나 조건문, 배시 스크립트로 자동화하면 실무에서 훨씬 효율적이더라고요. 예를 하나만 보여드릴게요.
# nginx 프로세스가 제대로 돌고 있는지 없으면 재시작
if ! pgrep nginx > /dev/null; then
sudo systemctl restart nginx
echo "nginx 재시작 완료"
fi
이런 스크립트는 서버 모니터링 자동화에 특히 도움됐고, 나중에 크론탭(cron)에 넣어서 주기적으로 실행했어요.
개발자들이 자주 묻는 질문들, 제가 답해봤어요
Q. 왜 sudo를 붙여야 하는 명령어가 있나요?
A. 서버에서는 보안 때문에 일반 사용자 권한으로는 중요한 파일이나 프로세스에 접근을 막아놔서 그렇습니다. 로그 파일이나 시스템 설정 파일을 보거나 수정할 때는 반드시 sudo 권한이 필요해요.
Q. 명령어 옵션이 너무 많아서 헷갈려요, 어떻게 정리하면 좋을까요?
A. 제가 추천하는 건 사용하는 명령어 위주로 자주 쓰는 옵션을 메모장이나 노션에 정리해두는 겁니다. 예를 들어 ls -alh처럼 자주 쓰는 옵션 조합을 따로 모아놓으면 실수도 줄고 기억하기 좋아요.
Linux 명령어 실무에서 매일 쓰는 것들 정리 관련 정보
간단히 정리해도, 이 글에 나온 명령어와 팁만 잘 익히면 Linux 서버 관리하면서 겪는 대부분의 문제는 바로바로 해결할 수 있을 거예요. 그리고 이런 기본기 위에 쉘 스크립트나 자동화 도구를 더하면 업무 효율이 훨씬 올라가니 꼭 도전해보세요.
'Linux' 카테고리의 다른 글
| Linux systemd 서비스 등록하면서 꼭 확인해야 할 체크리스트 (0) | 2026.06.01 |
|---|---|
| Linux 명령어 실무에서 매일 쓰는 것들 직접 써보며 정리한 팁 (0) | 2026.05.29 |
| Linux cron job 설정하다가 저도 실수했던 부분들과 해결 방법 (0) | 2026.05.26 |
| [Linux] 서버 장애 요인파악 순서 (0) | 2022.09.06 |
| [Linux/Ubuntu] 리눅스/우분투 스왑 파일(Swapfile) 생성 (0) | 2022.09.03 |
