Linux 디렉터리 구조와 명령어
2026. 6. 13. 20:00ㆍ리눅스
Ⅰ. Linux 디렉터리 구조
| 디렉터리 | 역할 및 설명 | |
| / |
개념 | 최상위 경로 |
| 모든 파일과 디렉터리의 시작점 | ||
| /bin |
개념 | 기본 명령어 (binary) 저장소 |
| 일반 사용자와 관리자 모두 사용 가능 | ||
| 예시 |
ex) ls | |
| ex) cp | ||
| ex) mv | ||
| /sbin |
개념 | 시스템 관리용 명령어 저장소 |
| 예시 | ex) shutdown | |
| ex) reboot | ||
| ex) ifconfig | ||
| /boot | 개념 | 부팅 관련 파일 (커널 이미지, GRUB 설정 등) 저장 |
| /dev |
개념 | 장치 파일 저장 |
| 하드디스크, USB, 키보드 같은 장치를 파일 형태로 관리 | ||
| /etc |
개념 | 시스템 및 애플리케이션 설정 파일 저장 |
| 예시 | ex) /etc/passwd | |
| ex) /etc/hosts | ||
| /home | 개념 | 일반 사용자 계정의 홈 디렉터리 |
| /root | 개념 | root (관리자) 계정의 홈 디렉터리 |
| /lib, /lib64 |
개념 | 프로그램 실행에 필요한 기본 라이브러리 저장소 |
| 32비트 / 64비트별 구분 | ||
| /media | 개념 | USB, CD-ROM과 같은 이동식 미디어 자동 마운트 지점 |
| /mnt | 개념 | 임시로 다른 파일 시스템을 마운트하는 지점 |
| /opt | 개념 | 추가 애플리케이션 소프트웨어 패키지 설치 경로 |
| /proc | 개념 | 실행 중인 프로세스 및 커널 정보를 담은 가상 파일 시스템 |
| /srv | 개념 | 시스템에서 제공하는 서비스 관련 데이터 저장 |
| 예시 | ex) 웹서버 /srv/www | |
| /tmp |
개념 | 임시 파일 저장소 |
| 재부팅 시 자동 삭제 | ||
| /usr | 개념 | 사용자 프로그램, 라이브러리, 매뉴얼 저장 |
| /var | 개념 | 로그, 메일, 캐시 등 자주 변경되는 데이터 저장 |
| /run |
개념 | 시스템이 부팅된 후 동작 중인 프로세스의 런타임 데이터 (소켓, PID 파일 등) 저장 |
| /var/run의 대체 경로 | ||
| /lost + found | 개념 | 파일 시스템 복구 (fsck) 시 손상되거나 잃어버린 파일 조각 보관하는 디렉터리 (파티션별 존재) |
| /sys | 개념 | 커널의 장치, 모듈, 매개변수 등을 관리하는 가상 파일 시스템 |
| /proc과 유사하지만 구조적 | ||
| /var/log |
개념 | 시스템 로그 저장 |
예시 |
ex) /var/log/messages | |
| ex) /var/log/syslog | ||
| ex) /var/log/secure | ||
| /var/lib |
개념 | 프로그램 실행 중 변경되는 데이터 저장 |
| 예시 | ex) 데이터베이스 | |
| ex) 패키지 관리 정보 | ||
| /var/cache |
개념 | 애플리케이션 캐시 데이터 저장 |
예시 |
ex) dnf 캐시 | |
| ex) yum 캐시 | ||
| ex) apt 캐시 | ||
Ⅱ. 리눅스 기본 명령어
Ⅱ-Ⅰ. 파일 및 디렉터리 관련 명령어
● ls (list)
| 명령어 | 설명 |
| ls | 디렉터리 내용 확인 |
| ls -l | 파일 권한, 소유자, 크기 등 상세 정보 표시 |
| ls -a | 숨김 파일 포함 출력 |
| ls -i | inode 번호 표시 |
| ls -R | 하위 디렉터리까지 재귀적으로 표시 |
| ls -F |
/ (디렉터리) 표시 |
| * (실행 파일) 표시 | |
| @ (링크 파일) 표시 | |
| ls -lh | 용량을 사람이 읽기 쉬운 단위로 표시 |
| ls -color=auto | 파일 타입에 따라 색상 구분 |
● cd (change directory)
| 명령어 | 설명 |
| cd | 홈 디렉터리로 이동 |
| cd 경로 | 지정한 디렉터리로 이동 |
| cd .. | 상위 디렉터리로 이동 |
| cd - | 직전 디렉터리로 이동 |
| cd / | 최상위 디렉터리인 루트 (/) 디렉터리로 이동 |
● pwd (print working directory)
| 명령어 | 설명 |
| pwd | 현재 디렉터리 확인 |
| 현재 작업 중인 절대 경로 출력 |
● cp (copy)
| 명령어 | 설명 |
| cp | 파일 및 디렉터리 복사 |
| cp -r | 디렉터리를 재귀적으로 복사 |
| cp -i | 덮어쓰기 전 사용자 확인 |
| cp -p | 권한, 소유자, 시간 정보 유지 |
| cp -v | 복사 과정 상세 표시 |
● mv (move)
| 명령어 | 설명 |
| mv | 파일 이동 및 이름 변경 |
| mv -i | 덮어쓰기 전 확 |
| mv -v | 이동 / 변경 과정을 상세히 표시 |
| mv fileA fileB | fileA의 이름을 fileB로 변경 |
| mv file dir | file을 dir로 이동 |
| mv dirA dirB | dirA의 이름을 dirB로 변경 |
● rm (remove)
| 명령어 | 설명 |
| rm | 파일 및 디렉터리 삭제 |
| rm -r | 디렉터리와 내부 파일 모두 삭제 |
| rm -f | 확인 없이 강제 삭제 |
| rm -i | 삭제 시 사용자에게 확인 요청 후 삭제 |
● mkdir (make directory)
| 명령어 | 설명 |
| mkdir 디렉터리명 | 디렉터리 생성 |
| mkdir -p 경로 | 상위 디렉터리가 없을 경우, 함께 생성 |
| mkdir -v | 생성되는 디렉터리 이름 출력 |
● rmdir (remove directory)
| 명령어 | 설명 |
| rmdir 디렉터리명 | 비어있는 디렉터리 삭제 |
| rmdir -p 경로 | 하위 디렉터리 포함 삭제 |
● touch
| 명령어 | 설명 |
| touch 파일명 | 파일 없는 경우, 비어있는 파일 생성 |
| touch -t | 파일의 시간 정보 변경 |
● df (disk free)
| 명령어 | 설명 |
| df | 전체 디스크 용량 확인 |
| df -h | 읽기 쉬운 단위 (KB, MB, GB)로 표시 |
| df -T | 파일시스템 종류 표시 |
● du (disk usage)
| 명령어 | 설명 |
| du | 디렉터리별 사용 용량 표시 |
| du -h | 사람이 읽기 쉬운 단위로 표시 |
| du -s | 전체 합계만 표시 |
● ln (link)
| 명령어 | 설명 |
|
| ln | 파일이나 디렉터리에 링크 (연결 파일)을 생성 | |
| ln 파일명 링크명 | 하드링크 생성 | 원본 파일의 데이터 블록 직접 참조 |
| 동일 inode 번호 사용 | ||
| ln -s 대상경로 링크명 | 심볼릭링크 (소프트링크) 생성 | 원본 경로 참조 |
| 원본 삭제 시 링크 깨짐 | ||
Ⅱ-Ⅱ. 권한 및 소유자 관련 명령어
● chmod (change mode)
| 명령어 | 설명 |
| chmod | 파일 권한 변경 |
| chmod 755 file | 숫자로 권한 설정 |
| user = 읽기쓰기실행 = rwx = 421 = 7 | |
| group = 읽기-실행 = r-x = 4-1 =5 | |
| others = 읽기-실행 = r-x = 4-1 = 5 | |
| chmod u + x file | 사용자에게 실행 권한 추가 |
| chmod g - w file | 그룹에서 쓰기 권한 제거 |
● chown (change owner)
| 명령어 | 설명 |
| chown | 파일 소유자 변경 |
| chown user file | 소유자를 usre로 변경 |
| chown user:group file | 소유자와 그룹 변경 |
● chgrp (change group)
| 명령어 | 설명 |
| chgrp | 파일과 디렉터리의 소유 그룹 변경 |
● pwconv / pwunconv
| 명령어 | 설명 |
| pwconv |
/etc/shadow 생성 |
| 암호 해시 분리 저장 | |
| pwunconv | /etc/shadow 제거 |
| 해시를 /etc/passwd로 이동 |
Ⅱ- Ⅲ. 프로세스 관련 명령어
● ps (process status)
| 명령어 | 실행 |
| ps | 현재 실행 중인 프로세스 목록 표시 |
| ps -ef | 전체 프로세스 표시 |
| ps -u 사용자 | 특정 사용자의 프로세스만 표시 |
● top
| 명령어 | 설명 |
| top | CPU 및 메모리 사용률 실시간 확인 |
| 프로세스 상태 실시간 확인 |
● kill
| 명령어 | 설명 |
| kill | 프로세스 종료 |
| kill PID | 지정한 PID 프로세스 종료 |
| kill -9 PID | 강제 종료 (SIGKILL) |
● jobs / fg / bg
| 명령어 | 설명 |
| jobs | 백그라운드 실행 중인 작업 목록 표시 |
| fg %번호 | 해당 작업을 포그라운드로 전환 |
| bg %번호 | 해당 작업을 백그라운드로 전환 |
Ⅱ-Ⅳ. 시스템 관련 명령어
● uptime
| 명령어 | 설명 |
| uptime | 시스템 가동 시간, 부하, 사용자 수 확인 |
| uptime -p | 가동 시간만 간단히 표시 |
| uptime -s | 시스템 부팅 시간 출력 |
● who / w / whoami
| 명령어 | 설명 |
| who | 현재 로그한 사용자 정보 표시 |
| who -q | 로그인한 사용자 이름만 출력 |
| who -b | 마지막 부팅 시간 표시 |
| w | 로그인 사용자 및 실행 중인 작업 표시 |
| whoami | 현재 사용자 이름 출력 |
● id / groups
| 명령어 | 설명 |
| id | UID, GID 정보 확인 |
| groups | 사용자가 속한 그룹 확인 |
● shutdown / reboot
| 명령어 | 설명 |
| shutdown -h now | 즉시 종료 |
| shutdown -r now | 즉시 재부팅 |
| shutdown +10 | 10분 후 종료 예약 |
| shutdown -c | 예약된 종료 취소 |
| reboot | 즉시 재부팅 |
| reboot -f | 강제 재부팅 |
● fdisk
| 명령어 | 설명 |
| fdisk d | 파티션 삭제 |
| fdisk n | 새 파티션 생성 |
| fdisk p | 파티션 테이블 출력하여 현재 상태 확인 |
| fdisk w | 변경 사항을 디스크에 저장하고 종료 |
| fdisk q | 변경 사항을 디스크에 저장하지 않고 종료 |
| fdisk t | 파티션의 타입 변경 |
| fdisk L | 파티션의 타입 리스트 확인 |
Ⅱ- Ⅴ. 네트워크 관련 명령어
● ping
| 명령어 | 설명 |
| ping 주소 |
네트워크 연결 상태 확인 |
| ICMP 패킷 전송 | |
| ping -c N 주소 | N회만 테스트 후 종료 |
| ping -i N 주소 | N초 간격으로 패킷 전송 |
● curl
| 명령어 | 설명 |
| curl URL | URL 요청 및 응답 확인 |
| curl -O URL | 원본 파일 이름 유지한 채 다운로드 |
| curl -o 파일명 URL | 지정 이름으로 다운로드 |
| curl -I URL | HTTP 헤더만 확인 |
● wget
| 명령어 | 설명 |
| wget URL | 파일 다운로드 |
| wget -O 파일명 URL | 저장 파일 이름 지정 |
| wget -c URL | 중단된 다운로드 이어받기 |
| wget -r URL | 웹사이트 전체 재귀 다운로드 |
● netstat / ss
| 명령어 | 설명 |
| netstat -tuln | 열러 있는 포트와 연결 상태 확인 |
| ss -tuln | 포트 및 소켓 상태 빠르게 확인 |
● ip / ifconfig / nslookup
| 명령어 | 설명 |
| ip addr | IP 주소 및 네트워크 인터페이스 정보 확인 |
| ifconfig | 네트워크 장치 상태 확인 (구버전) |
| nslookup 도메인 | DNS 서버를 통한 IP 주소 조회 |
Ⅱ- Ⅵ. 검색 / 출력 관련 명령어
● cat (concatenate)
| 명령어 | 설명 |
| cat 파일 | 파일 내용 출력 |
| cat -n | 줄 번호 포함 출력 |
| cat 파일1 파일2 > new.txt | 두 파일을 합쳐 새 파일 생성 |
● head / tail
| 명령어 | 설명 |
| head 파일 | 파일 앞부분 10줄 출력 |
| head -n N 파일 | 앞부분 N줄 출력 |
| tail 파일 | 파일 끝부분 10줄 출력 |
| tail -f 파일 | 파일의 끝부분을 실시간으로 모니터링 |
| 로그 확인 시 유용 |
● find
| 명령어 | 설명 |
| find /경로 -name "파일명" | 이름으로 파일 검색 |
| find /경로 -type d -name "dir" | 디렉터리 검색 |
| find /경로 -size + 100M | 특정 크기 이상의 파일 검색 |
● grep (global regular expression print)
| 명령어 | 설명 |
| grep 문자열 파일 | 파일에서 문자열 검색 |
| grep -i 문자열 파일 | 대소문자 구분 없이 검색 |
| grep -v 문자열 파일 | 특정 문자열 제외 검색 |
| grep -w 단어 파일 | 단어 단위로 정확히 일치 검색 |
● wc (word count)
| 명령어 | 설명 |
| wc 파일 | 행, 단어, 문자 개수 출력 |
| wc -l 파일 | 행 (line) 수만 출력 |
| wc -w 파일 | 단어 수만 출력 |
| wc -c 파일 | 문자 수만 출력 |
● cmp / diff
| 명령어 | 설명 |
| cmp 파일1 파일2 | 두 파일의 차이점을 간단히 비교 |
| diff 파일1 파일2 | 파일 내용의 상세 비교 |
| diff -c | 파일 이름, 시간, 날짜 함께 출력 |
| diff -i | 대소문자 무시하고 비교 |
● sort
| 명령어 | 설명 |
| sort 파일 | 오름차순 정렬 |
| sort -n | 숫자 기준 정렬 |
| sort -r | 내림차순 정렬 |
| sort -k 2 파일 | 2번째 필드 기준으로 정렬 |
| sort -t ':' 파일 | 구분자 지정 (기본 공백) |
● sed / awk /cut /tr /uniq
| 명령어 | 설명 |
| sed | 텍스트 검색, 치환, 삭제 필터 명령 |
| awk | 패턴 기반 텍스트 분석 및 처리 명령 |
| cut -d ':' -f1 파일 | 특정 필드만 추출 |
| tr a-z A-Z | 문자 변환 |
| uniq | 중복 행 제거 |
● file / echo / env / whereis / which
| 명령어 | 설명 |
| find | 파일 유형 확인 |
| echo | 텍스트나 변수 값을 파일에 저장 |
| env | PATH 환경 변수에 등록된 디렉터리 안에 있는 실행 파일 검색 |
| whereis | $PATH 환경 변수에 등록된 디렉터리와 관계없이 파일 검색 |
| which | $PATH 환경 변수에 등록된 디렉터리 내에서만 파일 검색 |
| alias 설정된 명령어인 경우, alias 명령어 정보 같이 출력 |
Ⅱ- Ⅶ. 사용자 계정 및 로그인 관련 명령어
● passwd
| 명령어 | 설명 |
| passwd | 현재 사용자의 비밀번호 변경 |
| passwd username | 특정 사용자의 비밀번호 변경 (root 권한 필요) |
● su
| 명령어 | 설명 |
| su 사용자명 |
다른 사용자 계정으로 전환 |
| 환경 유지 | |
| su - 사용자명 |
로그인 환경까지 전환 |
| 환경변수 포함 |
● last / lastb
| 명령어 | 설명 |
| last | 로그인과 로그아웃 이력 및 현재 로그인 상태 표시 |
| lastb | 로그인 실패 이력 표시 |
Ⅱ- Ⅷ. 명령어 기록 관리
● history - 명령어 기록 확인
| 명령어 | 설명 |
| history | 명령어 실행 기록 확인 |
| history -c | 현재 세션의 명령어 기록 삭제 |
| history -d N | N번째 명령 기록만 삭제 |
| history -w | 현재 세션 기록을 .bash_history에 저장 |
Ⅱ- Ⅸ. 압축 및 아카이브 관련 명령어
● gzip / gunzip
| 명령어 | 설명 |
| gzip 파일 | .gz 확장자로 압축 |
| gzip -r 디렉터리 | 하위 폴더 포함 전체 압축 |
| gzip -k 파일 | 압축 후 원본 파일 유지 |
| gunzip 파일.gz | gzip 압축 해제 |
| zcat 파일.gz | 압축 해제 없이 내용 확인 |
● bzip2 / bunzip2
| 명령어 | 설명 |
| bzip2 파일 | .bz2 확장자로 압축 |
| bzip2 -k 파일 | 원본 유지하며 압축 |
| bunzip2 파일.bz2 | 압축 해제 |
| bzcat 파일.bz2 | 압축 해제 없이 내용 확인 |
● tar (tape archive)
| 명령어 | 설명 |
| tar -C 경로 | 지정한 경로에 압축 해제 |
| tar -xvf 파일.tar | 묶음 해제 |
| tar -cvf 파일.tar 디렉터리 | 여러 파일 및 폴더 묶음 생성 |
| tar -czvf 파일.tar.gz 디렉터리 | gzip으로 묶음 압축 |
| tar -xzvf 파일.tar.gz | gzip으로 압축 해제 |
| tar -jcvf 파일.tar.bz2 | bzip2로 묶음 압축 |
| tar -jxvf 파일.tar.bz2 | bzip2 압축 해제 |
| tar -tvf 파일.tar | 묶음 파일 내부 목록 확인 |
● zip / unzip
| 명령어 | 설명 |
| zip 파일.zip 대상 | zip 형식으로 압축 |
| zip -r 파일.zip 디렉터리 | 하위 포함 압축 |
| zip -9 | 최대 압축률 |
| zip -1 |
빠른 압축 |
| 압축률 낮음 | |
| unzip 파일.zip | 압축 해제 |
'리눅스' 카테고리의 다른 글
| Linux 파일 시스템 생성 및 마운트 (0) | 2026.06.13 |
|---|---|
| Linux 디스크 파티션 작업 (0) | 2026.06.13 |
| Linux 프로세스 관리 (0) | 2026.06.13 |
| Linux Shell (0) | 2026.06.13 |
| VMware과 MobaXterm 환경 세팅 (0) | 2026.06.13 |