Bash 파일 및 디렉토리 작업

Source: Dev.to | Dec 31, 2025 (UTC)

Bash 파일 및 디렉토리 작업

Bash에서 파일과 디렉토리를 효율적으로 관리하는 방법을 정리했습니다.

현재 위치 확인

pwd echo $PWD

Enter fullscreen mode

Exit fullscreen mode

디렉토리 이동

cd ~user_name # 특정 사용자의 홈 디렉토리 cd - # 이전 디렉토리로 이동

Enter fullscreen mode

Exit fullscreen mode

ls 명령어

ls -l # 상세 정보 ls ~ / # 여러 위치 동시 조회 ls -t # 수정 시간순 (최신 먼저) ls -R # 하위 디렉토리 포함 ls -d */ # 디렉토리만 ls -p # 디렉토리에 / 표시 ls -d $PWD/* # 전체 경로 ls -lh file # 파일 용량 (human readable)

Enter fullscreen mode

Exit fullscreen mode

파일/디렉토리 생성

디렉토리 생성

mkdir -p /path/to/directory # 경로상의 모든 디렉토리 생성

Enter fullscreen mode

Exit fullscreen mode

파일 생성

touch filename

Enter fullscreen mode

Exit fullscreen mode

파일 내용과 함께 생성

# 덮어쓰기 cat <<END >a.txt aa ab da END # 추가 cat <<END >> a.txt aa ab da END # 한 줄 추가 echo "aa" >> a.txt

Enter fullscreen mode

Exit fullscreen mode

Note: $가 텍스트에 포함된 경우 \$를 사용해야 합니다.

파일 복사/이동/삭제

복사 (cp)

cp source_file destination_file cp -i file1 file2 # 덮어쓰기 전 확인 cp *.txt directory cp * /home/tom/backup cp -R * /home/tom/backup # 재귀적 복사

Enter fullscreen mode

Exit fullscreen mode

이동 (mv)

mv source_file destination_file mv -i file1 file2 # 덮어쓰기 전 확인 mv file1 file2 file3 dir1 # 여러 파일을 디렉토리로

Enter fullscreen mode

Exit fullscreen mode

삭제 (rm)

rm file1 file2 rm -i file1 file2 # 삭제 전 확인 rm -r dir1 dir2 # 디렉토리 재귀 삭제 rm mysql* # 패턴으로 삭제

Enter fullscreen mode

Exit fullscreen mode

파일 내용 보기

cat filename # 전체 내용 less a.txt # 페이지 단위 file a.zip # 파일 타입 확인

Enter fullscreen mode

Exit fullscreen mode

파일 정보

# 파일명만 추출 basename $file_path # 라인/단어/글자 수 wc filename wc -l # 라인 수만

Enter fullscreen mode

Exit fullscreen mode

파일 권한

chmod

# Classes: a(all), u(user/owner), g(group), o(other) # Permissions: read(r,4), write(w,2), execute(x,1) # Operators: +(add), -(remove) chmod -R +xr directory # 재귀적으로 권한 설정 chmod 400 file # 소유자만 읽기 chmod 600 file # 소유자만 읽기/쓰기

Enter fullscreen mode

Exit fullscreen mode

chown

sudo chown -R mysql /usr/local/mysql/data sudo chown -R $(whoami) /usr/local/sbin

Enter fullscreen mode

Exit fullscreen mode

파일 시스템 구조

경로

설명

/boot

커널 및 부트 로더

/etc

설정 파일

/etc/init.d

시스템 서비스 스크립트

/bin, /usr/bin

프로그램 (/bin: 시스템, /usr/bin: 사용자)

/sbin, /usr/sbin

슈퍼유저 프로그램

/usr/local

사용자 설치 애플리케이션

/var

변경되는 파일 (로그 등)

/var/log

로그 파일

/lib

공유 라이브러리

/tmp

임시 파일

/dev

장치 파일

디렉토리 사용량

du # 디렉토리 용량 df -h # 디스크 사용량

Enter fullscreen mode

Exit fullscreen mode

Pathname Expansion

*는 파일명의 모든 문자와 매칭됩니다:

ls * # 현재 위치와 하위 폴더 파일 echo D* # D로 시작하는 파일 echo [[:upper:]]* # 대문자로 시작하는 파일 echo /usr/*/share # 디렉토리 내 파일 반복 for filename in $dir/*; do fn=$(basename "$filename") if [ -f "$filename" ]; then echo "$fn" fi done

Enter fullscreen mode

Exit fullscreen mode

Tilde Expansion

echo ~ # 현재 사용자 홈 echo ~hyun # hyun 사용자의 홈

Enter fullscreen mode

Exit fullscreen mode

파일 검색

sudo find / -name 'wp-content'

Enter fullscreen mode

Exit fullscreen mode

링크

# Symbolic link 생성 ln -s /path/to/original /path/to/link sudo ln -s /var/myapp/myapp.jar /etc/init.d/myapp

Enter fullscreen mode

Exit fullscreen mode

압축

tar

# 압축 tar -czvf name-of-archive.tar.gz /path/to/directory-or-file # 해제 tar -xzvf archive.tar.gz

Enter fullscreen mode

Exit fullscreen mode

zip

# 암호화 압축 zip -er archive.zip folder zip -e archive.zip file # 폴더 제외하고 압축 cd MyFolder; zip -r -X "../MyFolder.zip" *

Enter fullscreen mode

Exit fullscreen mode

스니펫

스크립트 위치 가져오기

${0%/*}

Enter fullscreen mode

Exit fullscreen mode

폴더 없으면 생성

if [ ! -d "/Users/hyun/temp" ]; then mkdir /Users/hyun/temp fi

Enter fullscreen mode

Exit fullscreen mode

PATH에 경로 추가

echo 'export PATH=/usr/local/mysql/bin:$PATH' >> ~/.bash_profile

Enter fullscreen mode

Exit fullscreen mode

Originally published at https://dss99911.github.io

For further actions, you may consider blocking this person and/or reporting abuse

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Читайте також