Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
Tags
- 제주ICT
- 리눅스셸명령어
- 링크명령어
- 백준2587
- 네트워크정리
- 리눅스기초
- 파이썬
- 코테
- 디렉토리관리
- Python
- 네트워크기초
- 리눅스
- 코딩테스트
- 네트워크면접
- 터미널명령어
- Linux
- 파일명령어
- javascript
- 자료구조
- 개발자
- 네트워크
- 코테준비
- 제주코딩베이스캠프
- 더오름
- 리눅스퍼미션
- 컴퓨터네트워크
- 위니브
- 네트워크핵심정리
- 백준1312
- 백준
Archives
- Today
- Total
hyei-devlog
[Linux] 리눅스 디렉토리 구조 & 기초 파일·링크 명령어 총정리 본문
- 중요한 디렉토리
- bin (ls, cat 등)
- etc (시스템 설정 파일)
- home (일반 사용자 디렉토리)
- tmp (임시파일 저장, 재부팅하면 내용 삭제)
주요 디렉토리
디렉토리 | 설명 |
/bin | 기본 명령어(ls, cat 등)가 저장된 디렉토리 |
/etc | 시스템 설정 파일이 위치 (ex. 네트워크, 방화벽 등) |
/home | 일반 사용자들의 홈 디렉토리 |
/tmp | 임시 파일 저장소 (재부팅 시 삭제됨) |
/root | 루트 사용자의 홈 디렉토리 |
/var/log | 로그 파일 저장소 |
/usr | 사용자 프로그램과 라이브러리 저장 경로 |
/dev | 장치 파일 (하드디스크, USB 등) |
/proc | 시스템 정보가 담긴 가상 파일 시스템 |
파일 및 디렉토리 확인 명령어
명령어 | 설명 |
ls -a | 숨김 파일 포함 목록 보기 |
ls -l | 상세 정보 보기 (권한, 소유자, 크기 등) |
ls -F | 파일 종류 표시 (디렉토리 /, 실행파일 * 등) |
ls -R | 하위 디렉토리까지 재귀적으로 목록 보기 |
pwd | 현재 경로(절대 경로) 확인 |
cd | 디렉토리 이동 |
파일 내용 보기
명령어 | 설명 |
cat 파일명 | 전체 내용 한번에 출력 |
less 파일명 | 스크롤 가능한 읽기 (실무에서 자주 사용됨) |
head 파일명 | 처음 몇 줄 출력 (기본 10줄) |
tail 파일명 | 마지막 몇 줄 출력 (기본 10줄) |
tail -n 3 파일명 | 마지막 3줄만 출력 |
파일 줄 수, 단어 수, 문자 수 세기
명령어 | 설명 |
wc 파일명 | 줄 수, 단어 수, 바이트 수 순으로 출력 |
wc -l | 줄 수만 출력 |
wc -w | 단어 수만 출력 |
wc -c | 바이트 수 출력 |
wc -m | 문자 수 출력 (멀티바이트 문자도 반영) |
절대 경로 vs 상대 경로
- 절대 경로: /home/user/file.txt처럼 루트(/)부터 시작
- 상대 경로: 현재 위치 기준 → ../, ./, file.txt 등
파일 생성 및 디렉토리 생성
명령어 | 설명 |
mkdir dir | 디렉토리 생성 |
mkdir -p a/b | 하위 디렉토리까지 한 번에 생성 |
파일 복사 (cp)
cp fileA fileAA # 파일 복사
cp fileA fileAA dirX/ # 디렉토리로 복사
- 디렉토리를 복사할 땐 -r 옵션 필요
cp -r dirX dirXX
명령어 | 설명 |
cp src dst | 파일 복사 |
cp -r src dst | 디렉토리 복사 (재귀) |
파일 이동(mv)
mv fileD dirC/ # 파일 이동
mv fileA fileF # 이름 변경도 가능
명령어 | 설명 |
mv a b | 파일 또는 디렉토리 이동 및 이름 변경 |
파일 삭제 (rm, rmdir)
rmdir dirA/ # 빈 디렉토리만 삭제 가능
rm -r dirC/ # 내용이 있는 디렉토리 삭제
명령어 | 설명 |
rmdir dir | 빈 디렉토리 삭제 |
rm -r dir | 하위 내용 포함 전체 삭제 |
링크 파일 (ln)
하드 링크
ln fileB hardB
ls -il fileB hardB # 같은 inode 번호 확인
- 같은 inode를 가리킨다. 원본이 삭제되어도 살아있다.
- 하나 수정하면 다른 것도 같이 바뀐다.
심볼릭 링크
ln -s fileC symbolC
ls -il fileC symbolC
- 링크 자체는 별도 inode를 가진다.
- 원본 경로를 가리키므로, 원본이 삭제되면 링크는 깨진다.
항목 | 하드 링크 (Hard Link) | 심볼릭 링크 (Symbolic Link) |
연결 방식 | 실제 파일 데이터(inode)에 직접 연결 | 파일 경로를 가리키는 포인터 |
inode 공유 | ✅ 공유 (같은 번호) | ❌ 각자 다른 번호 |
원본 삭제 시 링크 | ✅ 링크 유효 (내용 그대로 유지) | ❌ 링크 깨짐 (경로만 가리키므로) |
디렉토리 링크 | ❌ 대부분 불가 | ✅ 가능 |
크기 차이 | 거의 없음 (실제 데이터 공유) | 경로 문자열만 저장 |
사용 명령어 | ln | ln -s |
실습 예시 | ln file.txt hard.txt | ln -s file.txt soft.txt |
비유로 이해해보기
상황 | 하드 링크 | 심볼릭 링크 |
책 | 하나의 책에 여러 개의 책갈피를 꽂은 느낌 | 책 이름을 쓴 표지판을 만든 느낌 |
핵심 | 책갈피는 원본 없어도 책이 남아있으면 계속 읽을 수 있음 | 표지판은 책이 사라지면 갈 곳이 없음 |
'Infra & Cloud > Linux' 카테고리의 다른 글
[Linux] vi 편집기 사용법부터 파일 권한, 셸 명령어까지 총정리 (0) | 2025.06.26 |
---|---|
[Linux] grep, find로 텍스트 & 파일 검색하기 (0) | 2025.06.25 |
[Linux] 리눅스란 무엇인가? 개념 · 특징 · 역사 (0) | 2025.06.24 |