리눅스 실전 스킬 3종 세트: ln, cron, log 분석
처음 리눅스를 배우려 하면 머리가 아픕니다. 왜 이렇게 복잡하게 만들어놨을까? 이걸 왜 내가 알아야 하지? 그런 질문이 들기 마련이죠. 누군가는 리눅스를 무료라서 씁니다. 누군가는 시스템을 내 손으로 직접 다루고 싶어서 배우죠. 그리고 어떤 이는, 세상이 너무 자동화되어가기에 나만이라도 컴퓨터의 원리를 알아야겠다는 마음으로 시작합니다.
이 글은 그런 당신에게 바칩니다. “나는 너무 모르겠어”라고 말할 수 있는 용기를 가진, 진짜로 배우고자 하는 사람. 그 한 걸음이 리눅스를 익히는 가장 멋진 출발점이니까요.
리눅스를 조금 더 깊이 있게 사용하고 싶다면, 아래 3가지 기술을 꼭 알아야 합니다. 바로 심볼릭 링크(파일 연결), 자동 실행(cron job), 로그 분석(/var/log). 이 세 가지는 실무에서도 자주 쓰이며, 리눅스를 리눅스답게 사용하는 길이기도 하죠.

📌 1. 파일을 연결하자 – 심볼릭 링크 vs 하드 링크
🔹 심볼릭 링크란?
- 윈도우의 ‘바로가기’와 유사
- 원본 파일의 경로를 참조하는 일종의 포인터
ln -s /home/user/app/main.sh /usr/local/bin/runapp
이렇게 하면 /usr/local/bin/runapp
을 실행해도 원본 main.sh
가 실행됩니다.
🔹 하드 링크는?
- 실제 파일 데이터(아이노드)를 가리킴
- 원본 파일을 삭제해도 링크는 여전히 동작
ln /home/user/data.txt /home/user/copy.txt
🔍 차이점 요약
항목 | 심볼릭 링크 | 하드 링크 |
---|---|---|
삭제 영향 | 원본 삭제 시 깨짐 | 원본 삭제해도 유지 |
경로 방식 | 절대/상대경로 사용 | 동일 파일 시스템에서만 가능 |
용도 | 실행 파일 단축, 설정 경로 리디렉션 | 백업 또는 동일 파일 접근 |
💡 활용 팁
설정 파일이나 자주 쓰는 스크립트는 /usr/local/bin
에 링크를 걸면 터미널에서 바로 실행 가능!
📌 2. 정해진 시간에 자동으로 – crontab의 세계
🔹 crontab 기본 구조
* * * * * command
- - - - -
| | | | |
| | | | +----- 요일 (0 - 6, 일요일 = 0)
| | | +------- 월 (1 - 12)
| | +--------- 일 (1 - 31)
| +----------- 시 (0 - 23)
+------------- 분 (0 - 59)
🔹 예제
매일 오전 3시에 백업 스크립트 실행
0 3 * * * /home/user/backup.sh
5분마다 로그 정리 실행
*/5 * * * * /home/user/log-clean.sh
🔹 crontab 명령어
crontab -e
: 편집 모드crontab -l
: 현재 설정 확인crontab -r
: 삭제
⚠️ 주의사항
- 환경변수(PATH 등)는 crontab 내에서 따로 지정 필요
- 실행 권한 + 절대경로 사용 필수
PATH=/usr/bin:/bin:/home/user/bin
📌 3. 문제를 추적하자 – 시스템 로그 살펴보기
🔹 /var/log 폴더 이해하기
로그 파일 | 설명 |
---|---|
/var/log/syslog | 시스템 전반 로그 (Ubuntu) |
/var/log/messages | 커널/시스템 메시지 (RHEL 계열) |
/var/log/auth.log | 인증 관련 로그 (로그인, sudo 등) |
/var/log/dmesg | 부팅 시 커널 메시지 |
🔹 로그 보기 명령어
tail -n 100 /var/log/syslog # 최근 100줄 보기
tail -f /var/log/syslog # 실시간 보기
less /var/log/auth.log # 검색 가능한 뷰어
🔹 문제 진단 팁
- 특정 시간대 필터링:
grep "May 28" /var/log/syslog
- sudo 실패 추적:
grep "sudo" /var/log/auth.log
🧭 마무리 체크리스트
- ✅ ln -s 명령어로 파일을 간편하게 연결할 수 있다
- ✅ crontab을 이용해 정기적인 작업을 자동화할 수 있다
- ✅ /var/log를 통해 시스템 문제를 직접 추적할 수 있다