운영 서버에 프로젝트를 올리다 보면, 어쩔 수 없이 자주 사용하게 되는 명령어가 몇 가지 존재한다.
오늘은 그 명령어들에 대하여 알아보겠다.
참고로 < >라 표현되어 있는 명령어는 그 자리에 아무런 기호 필요없이 숫자만 작성하면 된다.
시스템 정보 확인
시스템 전체 정보 출력
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 이 두 개다.