모든 개발자가 알아야 할 19가지 Linux 명령
Source: Dev.to
Introduction
Linux는 현대 소프트웨어 개발의 기반입니다. 클라우드 서버와 CI/CD 파이프라인부터 컨테이너, 임베디드 시스템까지, Linux는 어디에나 존재합니다.
개발자라면 Linux 명령어를 마스터하는 것은 선택이 아니라 생산성을 크게 높여주는 필수 요소입니다.
이 글에서는 모든 개발자가 알아야 할 필수 Linux 명령어를 명확한 설명과 실제 사용 사례와 함께 다룹니다.
ls – List Directory Contents
디렉터리와 파일을 표시합니다.
ls
ls -l
ls -la
왜 중요한가: 프로젝트 폴더, 로그, 설정 디렉터리를 계속 탐색하게 됩니다.
cd – Change Directory
디렉터리 사이를 이동합니다.
cd /var/www
cd ..
cd ~
왜 중요한가: 탐색 속도는 작업 효율에 직접적인 영향을 미칩니다.
pwd – Print Working Directory
현재 작업 중인 디렉터리를 보여줍니다.
pwd
왜 중요한가: 잘못된 디렉터리에서 파괴적인 명령을 실행하는 실수를 방지합니다.
mkdir – Create Directories
하나 혹은 여러 디렉터리를 생성합니다.
mkdir project
mkdir -p src/components
왜 중요한가: 프로젝트 구조를 잡고 깔끔하게 유지할 수 있습니다.
rm – Remove Files and Directories
파일이나 폴더를 삭제합니다.
rm file.txt
rm -r folder
rm -rf folder
왜 중요한가: 자주 사용되지만 위험합니다. 항상 두 번 확인하세요.
cp – Copy Files and Directories
cp file1 file2
cp -r src backup
왜 중요한가: 빌드, 백업, 배포 과정에서 사용됩니다.
mv – Move or Rename Files
mv old.txt new.txt
mv file.txt /tmp
왜 중요한가: 파일 이름을 바꾸거나 프로젝트 구조를 재배치할 때 필요합니다.
cat – View File Content
파일 내용을 표시합니다.
cat file.txt
왜 중요한가: 설정 파일, 로그, 스크립트를 빠르게 확인할 수 있습니다.
less – Read Large Files Safely
less logfile.log
왜 중요한가: 큰 파일을 터미널이 멈추지 않게 읽을 수 있습니다.
grep – Search Text
파일 안에서 패턴을 검색합니다.
grep "error" app.log
grep -R "TODO" .
왜 중요한가: 디버깅, 코드 리뷰, 로그 분석에 필수적입니다.
find – Locate Files
이름, 유형, 크기 등으로 파일을 찾습니다.
find . -name "*.js"
find /var -type f -size +100M
왜 중요한가: 잃어버린 파일을 찾거나 디스크 공간을 정리할 때 유용합니다.
chmod – Change Permissions
chmod +x script.sh
chmod 644 config.txt
왜 중요한가: 스크립트, 배포, 보안에 있어 필수적인 권한 설정입니다.
chown – Change File Owner
chown user:user file.txt
왜 중요한가: 서버와 Docker 볼륨을 다룰 때 반드시 필요합니다.
ps – View Running Processes
ps aux
왜 중요한가: 멈추었거나 리소스를 많이 잡는 프로세스를 식별합니다.
top – Monitor System Resources
top
왜 중요한가: 실시간 CPU, 메모리, 프로세스 상태를 모니터링합니다.
kill – Stop Processes
kill PID
kill -9 PID
왜 중요한가: 응답이 없거나 비정상적인 애플리케이션을 종료합니다.
df – Disk Space Usage
df -h
왜 중요한가: 디스크가 가득 차서 발생하는 서비스 중단을 방지합니다.
du – Directory Size
du -sh *
왜 중요한가: 어떤 것이 디스크 공간을 많이 차지하는지 파악합니다.
tar – Archive Files
tar -czvf project.tar.gz project/
tar -xzvf project.tar.gz
왜 중요한가: 백업, 배포, 파일 전송에 활용됩니다.
Final Thoughts
모든 Linux 명령어를 외울 필요는 없습니다—하지만 여기 소개한 명령어들은 일상적인 개발 작업의 기반을 이룹니다.
이들을 자신 있게 사용할 수 있다면 다음을 기대할 수 있습니다:
- 작업 속도 향상
- 더 효과적인 디버깅
- 어떤 Linux 서버에서도 편안함
- 전문 개발자로서 한 단계 성장
터미널을 마스터하면, 터미널이 당신을 위해 일하게 됩니다.