Linux

Linux 기본 명령어 완전 정복 🐧

kerasi 2025. 6. 29. 07:09
728x90
반응형

기본 명령어

Linux 기본 명령어 완전 정복 🐧

Linux를 처음 접하는 분들에게 가장 큰 장벽은 바로 **명령줄 인터페이스(CLI)**입니다. 하지만 기본 명령어들을 익히고 나면 GUI보다 훨씬 빠르고 효율적으로 작업할 수 있습니다. 이 글에서는 Linux를 사용하는 데 꼭 필요한 기본 명령어들을 실전 예제와 함께 완전히 정복해보겠습니다.

📁 파일 및 디렉토리 관련 명령어

1. ls - 파일과 디렉토리 목록 보기

# 현재 디렉토리의 파일 목록
ls

# 자세한 정보와 함께 보기
ls -l

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

# 파일 크기를 읽기 쉽게 표시
ls -lh

# 최신 파일부터 정렬
ls -lt

실무 팁: ls -la는 가장 자주 사용하는 조합입니다. 파일 권한, 소유자, 크기, 수정 시간을 한눈에 볼 수 있어요.

2. cd - 디렉토리 이동

# 홈 디렉토리로 이동
cd
cd ~

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

# 이전 디렉토리로 돌아가기
cd -

# 절대 경로로 이동
cd /home/user/Documents

# 상대 경로로 이동
cd ../Downloads

3. pwd - 현재 위치 확인

# 현재 작업 디렉토리의 전체 경로 출력
pwd

4. mkdir - 디렉토리 생성

# 단일 디렉토리 생성
mkdir myproject

# 여러 디렉토리 동시 생성
mkdir project1 project2 project3

# 중간 경로까지 모두 생성 (-p 옵션)
mkdir -p documents/projects/2024/january

5. rmdir / rm - 디렉토리 및 파일 삭제

# 빈 디렉토리 삭제
rmdir empty_folder

# 파일 삭제
rm filename.txt

# 디렉토리와 그 안의 모든 내용 삭제
rm -rf directory_name

# 삭제 전 확인 메시지
rm -i filename.txt

⚠️ 주의: rm -rf는 매우 강력한 명령어입니다. 실행 전 반드시 경로를 확인하세요!

📄 파일 내용 관련 명령어

6. cat - 파일 내용 출력

# 파일 내용 전체 출력
cat file.txt

# 여러 파일 내용 연결해서 출력
cat file1.txt file2.txt

# 줄 번호와 함께 출력
cat -n file.txt

7. less / more - 파일 내용 페이지별로 보기

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

less 사용법:

  • 스페이스바: 다음 페이지
  • b: 이전 페이지
  • /검색어: 텍스트 검색
  • q: 종료

8. head / tail - 파일의 앞부분/뒷부분 보기

# 파일의 처음 10줄 보기
head file.txt

# 파일의 처음 20줄 보기
head -n 20 file.txt

# 파일의 마지막 10줄 보기
tail file.txt

# 실시간으로 파일 끝부분 감시 (로그 파일 모니터링에 유용)
tail -f /var/log/system.log

9. grep - 텍스트 검색

# 파일에서 특정 문자열 검색
grep "error" logfile.txt

# 대소문자 구분 없이 검색
grep -i "Error" logfile.txt

# 줄 번호와 함께 출력
grep -n "error" logfile.txt

# 여러 파일에서 검색
grep "error" *.txt

# 디렉토리 내 모든 파일에서 재귀 검색
grep -r "error" /var/log/

📋 파일 조작 명령어

10. cp - 파일/디렉토리 복사

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

# 디렉토리 복사 (재귀적)
cp -r source_dir destination_dir

# 기존 파일 덮어쓰기 전 확인
cp -i source.txt destination.txt

# 파일 속성까지 함께 복사
cp -p source.txt destination.txt

11. mv - 파일/디렉토리 이동 및 이름 변경

# 파일 이동
mv file.txt /home/user/Documents/

# 파일 이름 변경
mv old_name.txt new_name.txt

# 디렉토리 이름 변경
mv old_folder new_folder

12. ln - 링크 생성

# 하드 링크 생성
ln original.txt hardlink.txt

# 심볼릭 링크 생성
ln -s /path/to/original.txt symlink.txt

# 디렉토리 심볼릭 링크
ln -s /path/to/directory link_to_dir

🔍 파일 및 시스템 정보 명령어

13. find - 파일 검색

# 이름으로 파일 찾기
find /home -name "*.txt"

# 크기로 파일 찾기 (100MB 이상)
find /home -size +100M

# 수정 시간으로 찾기 (7일 이내)
find /home -mtime -7

# 특정 권한을 가진 파일 찾기
find /home -perm 755

14. which / whereis - 명령어 위치 찾기

# 명령어의 실행 파일 위치
which python
which ls

# 명령어 관련 모든 파일 위치
whereis python

15. file - 파일 유형 확인

# 파일 유형 확인
file document.pdf
file script.sh
file image.jpg

🔐 권한 및 소유권 관련 명령어

16. chmod - 파일 권한 변경

# 파일에 실행 권한 추가
chmod +x script.sh

# 숫자로 권한 설정 (rwxrwxrwx = 777)
chmod 755 file.txt

# 디렉토리와 그 안의 모든 파일 권한 변경
chmod -R 755 /path/to/directory

권한 숫자 이해하기:

  • 4: 읽기(r)
  • 2: 쓰기(w)
  • 1: 실행(x)
  • 755 = rwxr-xr-x (소유자: 모든 권한, 그룹/기타: 읽기+실행)

17. chown - 파일 소유권 변경

# 파일 소유자 변경
sudo chown user file.txt

# 파일 소유자와 그룹 변경
sudo chown user:group file.txt

# 디렉토리와 하위 모든 파일 소유권 변경
sudo chown -R user:group /path/to/directory

💻 시스템 정보 및 프로세스 관리

18. ps - 실행 중인 프로세스 보기

# 현재 터미널의 프로세스
ps

# 모든 프로세스 자세히 보기
ps aux

# 특정 프로세스 검색
ps aux | grep nginx

19. top / htop - 실시간 시스템 모니터링

# 실시간 프로세스 모니터링
top

# 더 예쁜 인터페이스 (설치 필요)
htop

20. kill - 프로세스 종료

# 프로세스 ID로 종료
kill 1234

# 강제 종료
kill -9 1234

# 프로세스 이름으로 종료
killall firefox

📊 디스크 및 시스템 정보

21. df - 디스크 사용량 확인

# 디스크 사용량 보기
df

# 읽기 쉬운 형태로 보기
df -h

# 특정 파일시스템만 보기
df -h /home

22. du - 디렉토리 크기 확인

# 현재 디렉토리 크기
du -sh .

# 하위 디렉토리별 크기
du -sh *

# 가장 큰 디렉토리 찾기
du -sh * | sort -hr | head -10

23. free - 메모리 사용량 확인

# 메모리 사용량 보기
free

# 읽기 쉬운 형태로 보기
free -h

🌐 네트워크 관련 명령어

24. ping - 네트워크 연결 테스트

# 웹사이트 연결 테스트
ping google.com

# 4번만 ping 보내기
ping -c 4 google.com

25. wget / curl - 파일 다운로드

# 파일 다운로드
wget https://example.com/file.zip

# HTTP 요청 보내기
curl https://api.example.com/data

# 파일로 저장
curl -o downloaded_file.html https://example.com

📦 압축 및 아카이브

26. tar - 파일 압축 및 해제

# tar.gz 파일 생성
tar -czf archive.tar.gz directory/

# tar.gz 파일 해제
tar -xzf archive.tar.gz

# 압축 해제하면서 내용 확인
tar -xzf archive.tar.gz -v

# 압축 파일 내용만 보기
tar -tzf archive.tar.gz

27. zip / unzip - ZIP 파일 처리

# ZIP 파일 생성
zip -r archive.zip directory/

# ZIP 파일 해제
unzip archive.zip

# 특정 디렉토리에 해제
unzip archive.zip -d /path/to/extract/

🔧 유용한 조합 명령어와 팁

파이프(|)와 리다이렉션(>, >>)

# 명령어 결과를 다른 명령어의 입력으로 사용
ls -la | grep ".txt"

# 출력을 파일로 저장
ls -la > file_list.txt

# 출력을 파일에 추가
echo "new line" >> file_list.txt

# 에러 메시지도 함께 저장
command 2>&1 | tee output.log

자주 사용하는 조합들

# 가장 큰 파일/디렉토리 찾기
du -sh * | sort -hr | head -5

# 특정 확장자 파일 개수 세기
find . -name "*.py" | wc -l

# 로그 파일에서 에러 라인만 추출
grep -i error /var/log/system.log | tail -20

# 프로세스 메모리 사용량 순으로 정렬
ps aux --sort=-%mem | head -10

🎯 실전 연습 과제

Linux 명령어를 완전히 익히려면 직접 연습해보는 것이 중요합니다. 다음 과제들을 차례대로 해보세요:

  1. 기본 파일 조작 연습
    • 홈 디렉토리에 practice 폴더 생성
    • 그 안에 documents, scripts, backup 하위 폴더 생성
    • 각 폴더에 테스트 파일들 생성하고 이동, 복사, 삭제 연습
  2. 텍스트 처리 연습
    • 시스템 로그 파일에서 특정 키워드 검색
    • 파일 내용을 다양한 방법으로 확인하고 필터링
    • 여러 파일의 내용을 합쳐서 새 파일 생성
  3. 시스템 모니터링 연습
    • 현재 시스템의 디스크, 메모리, CPU 사용량 확인
    • 실행 중인 프로세스 분석
    • 네트워크 연결 상태 확인

💡 효율성을 높이는 꿀팁

1. 히스토리 활용

# 명령어 히스토리 보기
history

# 이전 명령어 재실행
!!

# 특정 번호의 명령어 실행
!123

# 특정 문자로 시작하는 최근 명령어 실행
!ls

2. 탭 자동완성

  • 파일명, 디렉토리명을 타이핑하다가 Tab 키를 누르면 자동으로 완성됩니다
  • 두 번 Tab을 누르면 가능한 모든 옵션을 보여줍니다

3. 별칭(Alias) 설정

# 자주 사용하는 명령어에 별칭 설정
alias ll='ls -la'
alias la='ls -la'
alias ..='cd ..'
alias grep='grep --color=auto'

# ~/.bashrc 파일에 추가하면 영구적으로 사용 가능

4. Ctrl 키 조합

  • Ctrl + C: 실행 중인 명령어 중단
  • Ctrl + Z: 프로세스 일시 정지
  • Ctrl + L: 화면 클리어 (clear 명령어와 동일)
  • Ctrl + R: 명령어 히스토리 검색

🚀 마무리

Linux 기본 명령어들을 익히는 것은 마치 새로운 언어를 배우는 것과 같습니다. 처음에는 어렵게 느껴질 수 있지만, 꾸준히 연습하다 보면 자연스럽게 손에 익게 됩니다.

무엇보다 중요한 것은 두려워하지 말고 직접 해보는 것입니다. 실수를 통해 배우는 것이 가장 확실한 학습 방법이니까요.

이 글에서 소개한 명령어들만 완전히 익혀도 Linux 시스템을 효율적으로 사용할 수 있습니다. 더 고급 기능들은 필요에 따라 차근차근 배워나가시면 됩니다.

Linux의 세계는 정말 넓고 깊습니다. 이 글이 그 첫걸음을 내딛는 데 도움이 되었기를 바랍니다! 🐧✨


도움이 되셨다면 댓글로 어떤 명령어가 가장 유용했는지 알려주세요!

 

 

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

728x90