개발자를 위한 리눅스 기본 명령어 완전 정복 (실무편)
안녕하세요, 주니어 개발자 여러분!
코드를 작성하고 실행하는 것만큼이나 중요한 것이 바로 그 코드가 살아 숨 쉬는 ‘서버 환경’을 이해하는 것입니다. 그리고 대부분의 서버는 리눅스(Linux) 라는 운영체제 위에서 동작하죠.
처음 검은 화면에 흰 글씨만 깜빡이는 리눅스 터미널을 마주하면 당황스럽고 막막할 수 있습니다. 하지만 걱정 마세요! 마치 우리가 일상 언어를 배우듯, 몇 가지 필수적인 명령어만 익히면 리눅스 환경을 자유자재로 돌아다니며 원하는 작업을 수행할 수 있게 됩니다.
오늘은 서버에 접속해서 파일을 둘러보고, 간단한 편집 작업을 하며, 시스템 상태를 확인하는 등 실무에서 매일같이 사용하는 핵심 명령어들을 모아 알려드릴게요. 이 가이드만 잘 따라오시면, 더 이상 리눅스 터미널이 두렵지 않을 겁니다!
1. 탐색과 이동: 서버 안을 자유롭게 돌아다니기
가장 먼저 배울 것은 파일과 디렉토리(폴더)를 보고, 원하는 위치로 이동하는 방법입니다.
ls: 현재 위치에 무엇이 있는지 확인하기
ls (list)는 현재 디렉토리에 있는 파일과 다른 디렉토리들의 목록을 보여줍니다.
ls: 가장 기본적인 형태.ls -l: 파일의 상세 정보(권한, 소유자, 크기, 수정 시간 등)를 긴(long) 형식으로 보여줍니다. (가장 많이 사용!)ls -a: 숨김 파일(이름이.으로 시작하는 파일)까지 모두(all) 보여줍니다.ls -F: 파일의 종류를 표시해 줍니다 (디렉토리는/, 실행 파일은*).
cd: 원하는 곳으로 이동하기
cd (change directory)는 다른 디렉토리로 이동하는 명령어입니다.
cd [디렉토리명]: 지정한 디렉토리로 이동합니다.cd ..: 현재 위치의 바로 위, 즉 상위 디렉토리로 이동합니다.cd ~또는cd: 나의 홈(home) 디렉토리로 바로 이동합니다.cd -: 바로 이전에 있었던 디렉토리로 이동합니다.
pwd: 현재 위치 확인하기
pwd (print working directory)는 현재 내가 있는 디렉토리의 전체 경로를 보여줍니다. 길을 잃었을 때 유용하겠죠?
2. 파일과 디렉토리 관리: 만들고, 복사하고, 옮기고, 지우기
이제 파일을 직접 다뤄볼 시간입니다.
touch: 빈 파일 만들기
touch [파일명]은 내용이 없는 빈 파일을 생성합니다. 주로 간단한 설정 파일이나 임시 파일을 만들 때 사용합니다.
mkdir: 새로운 디렉토리(폴더) 만들기
mkdir (make directory)는 새로운 디렉토리를 생성합니다.
mkdir [디렉토리명]: 새로운 디렉토리를 만듭니다.mkdir -p dir1/dir2:-p옵션은 부모(parent) 디렉토리가 없을 경우 자동으로 함께 생성해 줍니다.
cp: 복사하기
cp (copy)는 파일이나 디렉토리를 복사합니다.
cp [원본 파일] [새 파일 이름]: 파일을 복사합니다.cp -r [원본 디렉토리] [새 디렉토리 이름]:-r(recursive) 옵션은 디렉토리와 그 안의 모든 내용을 재귀적으로 복사합니다.
mv: 이동하거나 이름 바꾸기
mv (move)는 파일이나 디렉토리를 다른 위치로 옮기거나, 이름을 변경할 때 사용합니다.
mv [원본 파일] [목표 디렉토리]: 파일을 디렉토리로 이동시킵니다.mv [기존 이름] [새 이름]: 파일 또는 디렉토리의 이름을 변경합니다.
rm: 삭제하기
rm (remove)는 파일이나 디렉토리를 삭제합니다. (주의! 리눅스에는 휴지통이 없습니다. 삭제하면 영원히 사라집니다!)
rm [파일명]: 파일을 삭제합니다.rm -f [파일명]:-f(force) 옵션은 묻지 않고 강제로 삭제합니다.rm -r [디렉토리명]: 디렉토리와 그 안의 모든 내용을 재귀적으로 삭제합니다.
3. 파일 내용 확인: 열어보지 않고 엿보기
cat: 파일 내용 전체 출력하기
cat (concatenate)은 파일의 내용을 터미널에 쭉 출력합니다. 짧은 설정 파일을 확인할 때 유용합니다.
head & tail: 파일의 앞/뒤 부분만 보기
head [파일명]: 파일의 첫 10줄을 보여줍니다.tail [파일명]: 파일의 마지막 10줄을 보여줍니다.tail -f [로그 파일명]:-f(follow) 옵션은 파일에 새로운 내용이 추가될 때마다 실시간으로 보여줍니다. (실시간 로그 확인할 때 필수!)
less: 파일 내용 스크롤하며 보기
less [파일명]은 긴 파일의 내용을 위아래로 스크롤하며 편하게 볼 수 있게 해줍니다. cat으로 보기엔 너무 긴 파일에 사용하세요. (나갈 때는 q를 누르세요.)
4. 강력한 도구들: 리눅스 활용도 200% 높이기
grep: 원하는 텍스트만 찾아내기
grep은 파일 안에서 특정 텍스트 패턴을 포함한 줄만 찾아 출력해주는 강력한 검색 도구입니다.
grep "찾을 단어" [파일명]: 파일에서 ‘찾을 단어’가 포함된 모든 줄을 보여줍니다.ps -ef | grep "nginx":|(파이프라인) 기호와 함께 사용하면, 다른 명령어의 출력 결과 중에서 원하는 내용만 필터링할 수 있습니다. 위 예시는 현재 실행 중인 프로세스 목록에서 ‘nginx’라는 단어가 포함된 줄만 보여줍니다.
> & >>: 명령어 결과 저장하기 (Redirection)
명령어 > 파일명: 명령어의 실행 결과를 파일에 덮어씁니다.명령어 >> 파일명: 명령어의 실행 결과를 파일의 맨 뒤에 추가합니다.
마치며
오늘 배운 명령어들은 리눅스 세계로 들어가는 첫걸음입니다. 처음에는 손에 익지 않아 어색하겠지만, 서버에 자주 접속해서 이것저것 만져보며 연습하는 것이 가장 좋은 학습 방법입니다.
이 명령어들을 자유자재로 사용할 수 있게 되면, 서버 로그를 분석해 에러 원인을 찾고, 배포 스크립트를 작성하며, 시스템을 모니터링하는 등 개발자로서 한 단계 더 성장한 자신을 발견하게 될 것입니다.
두려워하지 말고, 지금 바로 여러분의 리눅스 터미널을 열어보세요!
답글 남기기