[Linux] 복사, 이동 실습

mommers·2026년 1월 29일

Linux

목록 보기
6/59

복사와 이동 (cp, mv)

  • 학습: 파일명 변경(mv의 활용). 백업 습관.
  • 실습:
    • cp -r로 디렉터리 통째로 백업본 만들기 (_bak 붙이기).
    • mv를 사용해 파일 10개의 확장자를 .txt에서 .bak으로 일괄 변경(와일드카드 활용).
    • 덮어쓰기 경고 옵션 i 테스트. ⇒~/ .bashrc 맨 아래에 추가.
alias rm="rm -i"
  • *브레이스 확장({})rename** 명령어를 쓰면 순식간에 처리됨.

1. 폴더 생성 및 파일 10개 만들기

숫자 범위를 지정하는 {1..10} 문법이 핵심.

Bash

# 1.txt ~ 10.txt 한 방에 생성
touch ~/project/my_app/build/{1..10}.txt

2. 확장자 일괄 변경 (.txt → .bak)

가장 쉬운 방법은 rename 명령어를 쓰는 것임.

Bash

# 문법: rename 's/찾을문자/바꿀문자/' 대상파일
rename 's/.txt/.bak/' *.txt

rename 명령어가 없다면?

우분투/라즈베리파이에 기본으로 없을 수 있음. 설치하거나 for문을 써야 함.

  • 설치: sudo apt install rename
  • 설치 없이 하기 (쉘 스크립트):Bash
for f in *.txt; do mv "$f" "${f%.txt}.bak"; done


for f in *.txt; do mv "$f" "${f%.txt}.bak"; done

이 코드가 어떻게 동작하는건지 알아보고 싶어서 이것저것 만져봤다..

  1. for f in *.txt; : .txt로 끝난 모든 파일마다 반복
  2. do mv "~~" : do-while 문에서 do 내용은 한번 무조건 실행하고, 그 뒤에 while문 조건에 맞게 안의 내용을 반복하는 느낌이였으니까 do 뒤에 문장을 실행해라. 이런 의미로 받아들임
  3. mv "$f" "${f%.txt}.bak" : 파일 이름을 수정하는데, ${f%.txt}에 해당하는 부분을 $f .bak 을 붙게 하도록 파일 이름을 바꾼다.
profile
임베디드 개발자가 되기 위해 공부중입니다!

0개의 댓글