ETC

[Linux] 리눅스 기본 명령어 모음

Newbie Developer 2025. 2. 6. 17:49

안녕하세요. 새내기 개발자입니다. 공부하면서 정리하는 글로 틀린 부분은 언제나 댓글로 환영입니다!

 

리눅스는 강력한 커맨드라인 인터페이스(CLI)를 제공하며, 다양한 작업을 효율적으로 수행할 수 있습니다. 이 글에서는 리눅스를 처음 접하는 사용자부터 실무에서 활용하는 개발자까지 유용하게 사용할 수 있는 기본적인 리눅스 명령어들을 정리해 보겠습니다.


1. 시스템 정보 확인 명령어

1.1 현재 로그인된 사용자 확인

whoami

현재 로그인한 사용자의 계정을 출력합니다.

1.2 시스템 정보 확인

uname -a

운영체제, 커널 버전 등의 시스템 정보를 출력합니다.

1.3 CPU 및 메모리 사용량 확인

top

실시간으로 CPU와 메모리 사용량을 모니터링할 수 있습니다. 종료하려면 q를 누릅니다.

htop​

보다 직관적인 인터페이스를 제공하는 htop을 사용하려면 먼저 설치해야 합니다.

free -h

시스템의 메모리 사용량을 사람이 읽기 쉬운 단위로 출력합니다.

1.4 디스크 용량 확인

df -h

마운트된 파일 시스템의 디스크 사용량을 사람이 읽기 쉬운 형식으로 출력합니다.

du -sh *

현재 디렉토리 내 파일 및 폴더의 크기를 합산하여 출력합니다.


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

2.1 현재 디렉토리 확인

pwd

현재 작업 중인 디렉토리의 경로를 출력합니다.

2.2 디렉토리 목록 확인

ls -l

디렉토리 내 파일 목록을 자세한 정보와 함께 출력합니다.

ls -lh

파일 크기를 사람이 읽기 쉬운 형식으로 출력합니다.

ls -la

숨김 파일(.으로 시작하는 파일)까지 포함하여 출력합니다.

2.3 디렉토리 이동

cd /path/to/directory

지정한 디렉토리로 이동합니다.

cd ..

상위 디렉토리로 이동합니다.

cd ~

사용자의 홈 디렉토리로 이동합니다.

2.4 디렉토리 생성 및 삭제

mkdir my_directory

my_directory라는 새로운 디렉토리를 생성합니다.

rmdir my_directory

비어 있는 my_directory 디렉토리를 삭제합니다.

rm -r my_directory

디렉토리 및 내부 파일까지 모두 삭제합니다.

2.5 파일 생성 및 삭제

touch myfile.txt

빈 파일 myfile.txt를 생성합니다.

rm myfile.txt

파일을 삭제합니다.

rm -rf my_directory

강제(-f) 및 재귀(-r) 삭제 옵션을 사용하여 디렉토리와 그 내용을 삭제합니다.


3. 파일 내용 확인 및 편집

3.1 파일 내용 출력

cat filename

파일의 내용을 출력합니다.

less filename

파일 내용을 페이지 단위로 출력하며, q를 눌러 종료할 수 있습니다.

head -n 10 filename

파일의 처음 10줄을 출력합니다.

tail -n 10 filename

파일의 마지막 10줄을 출력합니다.

tail -f filename

파일이 변경될 때마다 실시간으로 내용을 확인할 수 있습니다. (로그 파일 모니터링에 유용)

 

3.2 파일 검색

grep "search_word" filename
 
 파일에서 "search_word"가 포함된 줄을 찾습니다.
 
grep -r "search_word" /path
 
지정된 경로 내의 모든 파일에서 "search_word"를 검색합니다.

3.3 파일 편집 (nano, vi, vim)

nano filename

간단한 텍스트 편집기 nano를 사용하여 파일을 수정합니다.

vi filename

강력한 텍스트 편집기 vi를 사용하여 파일을 수정합니다. (명령 모드에서 i를 눌러 입력 모드로 전환)


4. 사용자 및 권한 관리

4.1 현재 로그인한 사용자 확인

who

현재 로그인한 사용자 목록을 출력합니다.

4.2 사용자 목록 확인

cat /etc/passwd

 시스템에 등록된 사용자 목록을 출력합니다.

4.3 파일 권한 확인

ls -l filename

파일의 소유자, 그룹, 권한을 확인할 수 있습니다.

4.4 파일 권한 변경

chmod 755 filename

파일의 권한을 변경합니다.

chown user:group filename

파일의 소유자를 변경합니다.


5. 프로세스 및 네트워크 관리

5.1 프로세스 확인

ps aux

현재 실행 중인 모든 프로세스를 확인합니다.

kill <PID>

지정한 PID(프로세스 ID)를 가진 프로세스를 종료합니다.

kill -9 <PID>

강제 종료 옵션을 사용하여 프로세스를 종료합니다.

 

 

pkill process_name

 

지정한 프로세스 이름과 일치하는 모든 프로세스를 종료합니다.

5.2 네트워크 설정 확인

ifconfig

네트워크 인터페이스 정보를 확인합니다. (ip a 명령어도 동일한 역할 수행)

ping google.com

네트워크 연결 상태를 확인합니다.

 
netstat -tulnp

현재 열린 포트 및 네트워크 연결 상태를 확인합니다.


6. 패키지 관리

6.1 Ubuntu/Debian 계열

apt update
apt upgrade
apt install package_name
apt remove package_name

 

6.2 CentOS/RHEL 계열

yum update
yum install package_name
yum remove package_name

7. 로그 및 시스템 관리

7.1 시스템 로그 확인

journalctl -xe

시스템 로그를 확인할 수 있습니다.

dmesg | tail -n 20

최근 커널 메시지를 확인할 수 있습니다.

7.2 시스템 종료 및 재부팅

shutdown -h now

즉시 시스템을 종료합니다.

reboot

시스템을 재부팅합니다.

 


마무리

위에서 소개한 리눅스 명령어들은 기본적으로 시스템을 다룰 때 꼭 필요한 명령어들입니다. 이를 익히면 리눅스 환경에서 보다 효율적으로 작업할 수 있으며, 서버 관리 및 개발 환경 구성에도 유용하게 사용할 수 있습니다.

이 외에도 더 많은 명령어들이 있으니, 자주 사용하면서 익숙해지는 것이 중요합니다!