파일 및 디렉토리 관리

기본 탐색

# 현재 디렉토리 확인
pwd

# 디렉토리 내용 보기
ls              # 기본 목록
ls -la          # 상세 정보 + 숨김 파일
ls -lh          # 파일 크기를 읽기 쉽게
ls *.txt        # txt 파일만 보기

# 디렉토리 이동
cd /path/to/dir # 절대 경로로 이동
cd ..           # 상위 디렉토리
cd ~            # 홈 디렉토리
cd -            # 이전 디렉토리로 돌아가기

파일/디렉토리 생성/삭제

# 디렉토리 생성
mkdir dirname
mkdir -p path/to/nested/dirs  # 중간 디렉토리도 함께 생성

# 파일 생성
touch filename.txt
touch file{1..5}.txt          # file1.txt부터 file5.txt까지 생성

# 복사
cp source.txt dest.txt
cp -r source_dir dest_dir     # 디렉토리 복사

# 이동/이름 변경
mv oldname.txt newname.txt
mv file.txt /path/to/new/location/

# 삭제
rm filename.txt
rm -rf dirname               # 디렉토리와 내용 전체 삭제 (주의!)

파일 내용 조작

파일 보기

# 파일 내용 출력
cat filename.txt             # 전체 내용
less filename.txt            # 페이지별로 보기
head filename.txt            # 처음 10줄
tail filename.txt            # 마지막 10줄
tail -f logfile.txt          # 실시간으로 추가되는 내용 보기

파일 검색

# 파일 찾기
find . -name "*.txt"         # 현재 디렉토리에서 txt 파일 찾기
find /path -type f -size +1M # 1MB 이상 파일 찾기

# 파일 내용에서 텍스트 검색
grep "pattern" filename.txt
grep -r "pattern" directory/ # 디렉토리 내 모든 파일에서 검색
grep -i "pattern" file.txt   # 대소문자 구분 안함

파일 편집

# 텍스트 에디터
nano filename.txt            # 간단한 에디터
vim filename.txt             # vim 에디터
code filename.txt            # VS Code (설치되어 있다면)

프로세스 관리

# 실행 중인 프로세스 보기
ps aux                       # 모든 프로세스
top                         # 실시간 프로세스 모니터링
htop                        # 더 보기 좋은 프로세스 모니터 (설치 필요)

# 프로세스 종료
kill PID                    # 프로세스 ID로 종료
killall process_name        # 이름으로 모든 관련 프로세스 종료

# 백그라운드 실행
command &                   # 백그라운드에서 실행
nohup command &             # 터미널 종료 후에도 계속 실행

시스템 정보

# 시스템 정보
uname -a                    # 시스템 정보
whoami                      # 현재 사용자
id                          # 사용자 ID 정보
date                        # 현재 날짜/시간
uptime                      # 시스템 가동 시간

# 디스크/메모리 정보
df -h                       # 디스크 사용량
du -sh *                    # 현재 디렉토리 각 항목의 크기
free -h                     # 메모리 사용량 (Linux)

네트워크

# 네트워크 연결 테스트
ping google.com             # 연결 테스트
curl <https://api.github.com> # HTTP 요청
wget <https://example.com/file.zip> # 파일 다운로드

# 네트워크 정보
ifconfig                    # 네트워크 인터페이스 (macOS/Linux)
netstat -an                 # 네트워크 연결 상태