운영체제/Linux

[Linux/Ubuntu] 리눅스에서 자주 사용하는 명령어 정리

코코무 2025. 2. 20. 11:59

운영 서버에 프로젝트를 올리다 보면, 어쩔 수 없이 자주 사용하게 되는 명령어가 몇 가지 존재한다.

오늘은 그 명령어들에 대하여 알아보겠다.

참고로 < >라 표현되어 있는 명령어는 그 자리에 아무런 기호 필요없이 숫자만 작성하면 된다.


시스템 정보 확인

 

시스템 전체 정보 출력

uname -a

 

 

현재 호스트 이름 확인

hostname

 

 

시스템 가동 시간 및 평균 부하 확인

uptime

 

 

현재 로그인한 사용자 확인

whoami

 

 

현재 사용자 및 그룹 정보 확인

id

 

 

메모리 사용량 확인

free -h

 

 

디스크 사용량 확인

df -h

 

 

특정 폴더의 크기 확인

du -sh 폴더명

 

 

 

파일 및 디렉토리 관리

 

현재 디렉토리의 파일 목록 보기

ls
ls -l
ll
ls -a

 

 

현재 디렉토리 경로 확인

pwd

 

 

해당 폴더로 이동

cd 폴더명

 

 

한 단계 위 폴더로 이동

cd ..

 

 

새 폴더(디렉토리) 생성

mkdir 폴더명

 

 

빈 폴더 삭제

rmdir

 

 

폴더 및 내부 파일 삭제

rm -r 폴더명

 

 

특정 파일 삭제

rm 파일명

 

 

파일 복사

cp 파일1 파일2

 

 

파일 이름 변경 또는 이동

mv 파일1 파일2

 

 

빈 파일 생성

touch 파일명

 

 

 

파일 내용 확인 및 편집

파일 내용 출력

cat 파일명

 

 

파일 내용 거꾸로 출력

tac 파일명

 

 

파일을 페이지 단위로 보기

less 파일명

 

 

파일의 처음 10줄 출력

head -n 10 파일명

 

 

파일의 마지막 10줄 출력

tail -n 10 파일명

 

 

파일의 마지막 줄을 실시간으로 출력(로그 확인)

tail -f 파일명

 

 

간단한 텍스트 편집기 실행

nano 파일명

 

 

Vim  편집기 실행

vim 파일명

 

 

 

사용자 및 권한 관리

 

다른 사용자로 전환

su 사용자명

 

 

관리자 권한으로 명령 실행

sudo 명령어

 

 

파일 권한 변경

chmod 755 파일명

 

 

파일 소유자 변경

chown 사용자:그룹 파일명

 

 

 

네트워크 관련 명령어

 

네트워크 인터페이스 정보

ifconfig

 

 

ifconfig 대체 명령어

ip a

 

 

네트워크 연결 확인

ping 주소

 

 

파일 다운로드

curl -0 URL

 

 

 

소프트웨어 설치 및 관리

 

패키지 목록 업데이트

 

sudo apt update

 

 

모든 패키지 최신 버전으로 업그레이드

sudo apt upgrade

 

 

새로운 패키지 설치

sudo apt install 패키지명

 

 

패키지 삭제

sudo apt remove 패키지명

 

 

 

프로세스 실행 확인

 

전체 프로세스 확인

현재 사용자의 프로세스

*a: 모든 사용자 프로세스 표시

  u: 사용자 중심 정보 출력

  x: 터미널과 연결되지 않은 프로세스도 표시

ps aux

 

 

특정 프로세스 검색

ps aux | grep java

 

 

 

실시간 프로세스 검색

기본 프로세스 모니터링

CPU, 메모리 사용량이 높은 프로세스를 실시간으로 모니터링

top

 

 

특정 프로세스 확인

특정 프로세스의 PID 확인

pgrep -l java

 

특정 실행 파일의 PID 확인

pidof java

 

 

백그라운드 작업 확인

현재 쉘에서 실행 중인 백그라운드 작업 목록 표시

jobs

 

 

특정 포트에서 실행 중인 프로세스 확인

*tulnp: TCP/UDP 포트 사용 중인 프로세스 목록 표시

sudo netstat -tulnp | grep :<port number>
sudo ss -tulnp | grep :<port number>
sudo lsof -i :<port number>

 

 

 

WAS(Web Application Service) 실행 중지

 

PID로 종료

sudo kill <pid>

 

 

강제 종료

위 명령어로도 종료되지 않을 때 시도

sudo kill -9 <pid>

 

 

Java 프로세스 전체 종료

본인이 사용 중인 파일명 입력

sudo kill -f java -jar xxxxx.jar
rm -f nohup.out

 

 

백그라운드 프로세스를 포그라운드로 이동하여 종료

1. 백그라운드에서 실행 중인 작업 확인

jobs

 

> 예제 출력

[1] + Running java -jar xxxxx.jar &

 

2. 백그라운드 프로세스를 포그라운드로 이동

*%1: jobs 명령어에서 확인한 작업 번호

fg %1

 

3. 애플리케이션 종료 → Ctrl + C

 

[fg 대신 kill을 사용해야 하는 경우]

- nohup으로 실행된 경우

- 터미널을 닫았다가 다시 접속한 경우(jobs로 확인 불가능)

- 시스템 재부팅 후 다시 프로세스를 종료해야 하는 경우

 

동일한 세션에서 애플리케이션을 종료할 때는 fg만큼 편한 건 없는 것 같다.

 

 

 

 

기타 명령어

 

문자열 출력

echo "Hello"

 

실행한 명령어 기록 조회

history

 

ll 을 ls -alF로 단축 명령어 설정

alias ll='ls alF'

 

 

프로그램 종료(quit)

less, more, man 명령어에서 사용

q

 

vim에서 사용

:q
enter

 

 

터미널 화면 지우기

clear

 

현재 세션 종료

exit

 

개인적으로 간지나는 명령어는 clear와 exit 이 두 개다.