개발 지식/기본지식 · 2025. 5. 14.

터미널 기본 명령어 / 실습

728x90

터미널 기본 명령어

 

기본 명령어

명령어 설명
pwd 현재 위치 확인
ls -l 현재 디렉토리 내용 확인
cd [폴더명] [폴더명] 으로 이동
cd .. 이전 디렉토리로 이동
touch [파일명] 파일 하나 생성
rm [파일명] 파일 삭제
mkdir [폴더 이름] 디렉토리 생성

텍스트 검색 및 처리

명령어 설명
grep [패턴] [파일] 파일에서 특정 문자열(패턴) 검색
예: grep error logfile.txt
grep -r [패턴] [디렉토리] 디렉토리 내 모든 파일에서 재귀적으로 검색
awk '{print $1}' [파일] 파일의 각 줄에서 첫 번째 필드 출력
예: awk '{print $2}' access.log
awk -F',' '{print $1}' [파일] 구분자를 쉼표(,)로 설정해 필드 출력
sed 's/old/new/' [파일] 첫 번째 일치 항목만 교체 (표준출력)
전체 교체는 s/old/new/g
sed -i 's/old/new/g' [파일] 실제 파일 내용 수정 (in-place 편집)

 

환경에 따라 다른 형식

환경 기본 형식 설명
macOS sed -i '' 's/old/new/g' 파일 백업 없이 in-place 수정
macOS sed -i '.bak' 's/old/new/g' 파일 .bak 확장자의 백업본 생성 후 수정
Linux sed -i 's/old/new/g' 파일 별도 확장자 없이도 바로 in-place 수정 가능

 

 


파일 보기 및 조작

명령어 설명
tail [파일] 마지막 10줄 보기
tail -n 20 [파일] 마지막 20줄 보기
tail -f [파일] 실시간 로그 확인
head [파일] 처음 10줄 보기
head -n 20 [파일] 처음 20줄 보기
less [파일] 큰 파일을 페이지 단위로 보기 (q로 종료)

 

 


네트워크 관련

명령어 설명
curl [URL] URL의 데이터를 터미널에 출력
curl -O [URL] URL의 파일을 현재 디렉토리에 저장
curl -X POST -d 'key=value' [URL] POST 요청 보내기
wget [URL] 파일 다운로드
wget -r [URL] 웹사이트 전체 재귀 다운로드

 

 


파일 검색

명령어 설명
find [경로] -name [이름] 이름 기준으로 파일 검색
예: find . -name "*.log"
find [경로] -type f -size +10M 10MB보다 큰 파일 찾기

 

 


원격 접속

명령어 설명
ssh [user]@[host] 원격 서버에 SSH 접속
예: ssh root@192.168.0.1
ssh -i [key.pem] [user]@[host] 키 파일을 이용한 SSH 접속

 

 


프로세스 관리

명령어 설명
ps aux 현재 실행 중인 모든 프로세스 보기
kill [PID] 지정한 PID의 프로세스 종료
kill -9 [PID] 강제 종료
pkill [프로세스명] 이름으로 프로세스 종료

 

 


기타

명령어 설명
history 명령어 기록 보기
clear 터미널 화면 정리
echo $PATH 환경 변수 출력
which [명령어] 명령어의 경로 확인

 

 


실습

  1. 실습 환경 준비
  2. 테스트용 디렉토리 만들기
  3. 명려어 실습

 


1. 실습 환경 준비

로컬 테스트

macOS나 Linux는 바로 터미널에서 가능

Windows는 WSL(Windows Subsystem for Linux) 설치 후 Ubuntu 사용 권장

 

 


2. 테스트용 디렉토리 만들기

mkdir terminal-test
cd terminal-test
echo "apple banana cherry" > fruits.txt
echo -e "line1\nline2\nline3" > lines.txt
mkdir logs
echo "error: something broke" > logs/app.log

 

명령어 설명
mkdir [폴더 이름] 디렉토리 생성
cd [폴더 이름] 이동
echo [-e] "문자열" > 파일명 문자열을 출력
> : 출력 리디렉션, 내용을 파일에 저장
[-e] : \n 등의 이스케이프 시퀀스를 해석하라는 의미

 

 


3. 명령어 실습

 

디렉토리/파일

pwd
ls -l
cd ..
cd terminal-test
touch newfile.txt
rm newfile.txt

 

명령어 설명
pwd 현재 위치 확인
ls -l 현재 디렉토리 내용 확인
cd [폴더명] [폴더명] 으로 이동
cd .. 이전 디렉토리로 이동
touch [파일명] 파일 하나 생성
rm [파일명] 파일 삭제

 


검색

grep banana fruits.txt
awk '{print $2}' fruits.txt
sed 's/cherry/grape/' fruits.txt

 

명령어 설명
grep [패턴] [파일] 파일에서 특정 문자열(패턴) 검색
예: grep error logfile.txt
awk '{print $2}' [파일] 파일의 각 줄에서 첫 번째 필드 출력
sed 's/old/new/' [파일] 첫 번째 일치 항목만 교체 (표준출력) → 원본 파일은 변경되지 않는다.
전체 교체는 s/old/new/g

파일보기

1. 파일 보기

head lines.txt
tail -n 2 lines.txt
less lines.txt  # q로 종료
명령어 설명
head [파일명] **파일의 앞부분(기본 10줄)**을 출력
tail -n [숫자] [파일명] 파일의 끝에서부터 N줄 출력
less [파일명] 스크롤 가능한 화면으로 파일 전체 보기, 대용량 파일 확인에 유리

 

2. 실시간 로그 확인

tail -f fruits.txt    # 종료 : Ctrl + C

다른(새로운) 터미널 탭 열고 파일에 줄 추가

echo "peach" >> fruits.txt

처음 터미널에 실시간으로 출력됨

명령어 설명
tail -f [파일] 실시간 로그 확인

 


네트워크

curl https://example.com
wget https://example.com -O example.html

 

명령어 설명
curl [URL] URL의 데이터를 터미널에 출력
wget [URL] 파일 다운로드

 


파일찾기

find . -name "*.txt"
find . -type f -size -1M

 

명령어 설명
find [경로] -name [이름] 이름 기준으로 파일 검색
. : 현재 디렉토리
find [경로] -type f -size -1M 1MB보다 작은 파일 찾기

 


SSH

ssh user@host.com

 

테스트 서버가 없다면 실제 접속이 어렵다.

명령어 설명
ssh [user]@[host] 원격 서버에 SSH 접속
예: ssh root@192.168.0.1

 


프로세스 관리

ps aux | head -n 10
kill 12345  # → 임의로 실행하지 마세요, 시스템 프로세스가 죽을 수 있음

 

명령어 설명
ps aux 현재 실행 중인 모든 프로세스 보기
kill [PID] 지정한 PID의 프로세스 종료
  • ps : 현재 실행 중인 프로세스를 보여주는 명령어
  • a : 모든 사용자의 프로세스를 표시
  • u : 프로세스를 사용자 이름과 함께 표시
  • x : 터미널에 연결되지 않은 프로세스도 포함하여 출력
  • | : 파이프 기호로, 왼쪽 명령어의 출력을 오른쪽 명령어로 전달합니다.
  • head -n 10 : 출력되는 상위 10줄만 표시

 

728x90

'개발 지식 > 기본지식' 카테고리의 다른 글

프로세스 간 통신(IPC) 란  (0) 2025.05.16
메모리 관리란  (2) 2025.05.15
스레드와 동시성  (0) 2025.05.13
프로세스 관리  (0) 2025.05.08
운영체제(OS)의 일반적인 작동 원리  (0) 2025.05.02