[Linux] 터미널 생산성을 10倍 올리는 마법, 리눅스 와일드카드(*, ?) 완벽 정리
안녕하세요! 리눅스 터미널이나 라즈베리파이 환경에서 파일 작업을 하다 보면, 한두 개가 아니라 수십 개의 파일을 동시에 복사하거나 삭제해야 하는 순간이 찾아옵니다.
예를 들어, 어떤 폴더 안에 있는 수많은 파일 중 test로 시작하는 파이썬 파일만 골라서 복사하고 싶다면 어떻게 해야 할까요? 일일이 파일 이름을 타이핑해야 할까요?
이럴 때 전 세계 개발자들이 마법처럼 사용하는 치트키가 있습니다. 바로 와일드카드(Wildcard) 문자입니다. 오늘은 터미널 칼퇴를 보장하는 와일드카드의 핵심 개념과 실무 활용법을 알아보겠습니다.
🙋♂️ 와일드카드(Wildcard)란 무엇인가요?
컴퓨터 공학에서 와일드카드는 “어떤 문자열이든 대체할 수 있는 만능 기호”를 뜻합니다. 포커 카드 게임에서 어떤 카드로도 변신할 수 있는 ‘조커’ 카드와 같은 역할을 하죠. 리눅스 셸(Shell) 환경에서는 크게 두 가지 와일드카드가 가장 많이 쓰입니다.
- 별표 (
*) : 글자 수 제한 없는 만능 기호 -
물음표 (
?) : 딱 한 글자만 대체하는 기호
1. 글자 수 제한 없는 무한 변신: 별표 (*)
별표(*)는 0개 이상의 모든 문자를 대신할 수 있는 기호입니다. 글자 수가 몇 개이든, 심지어 글자가 아예 없어도 전부 매칭해 줍니다.
💡 실무 활용 예시
- 특정 글자로 시작하는 모든 파일 찾기/복사하기
$ cp /usr/share/code-the-classics/soccer/so* ./
위 명령어를 실행하면 soccer 폴더 안에서 이름이 so로 시작하는 모든 파일(soccer.py, sounds 등)을 글자 수 상관없이 한 번에 지정하여 현재 폴더(.)로 복사합니다.
- 특정 확장자만 골라서 삭제하기
$ rm *.txt
폴더 내에 있는 파일 중 이름이 무엇이든 끝이 .txt로 끝나는 텍스트 파일만 몽땅 골라서 삭제합니다.
- 특정 단어가 포함된 파일 전부 조회하기
$ ls *backup*앞뒤로 어떤 글자가 붙어있든 이름 중간에 backup이라는 단어가 들어가 있는 모든 파일을 찾아서 리스트로 보여줍니다.
2. 딱 한 글자의 정밀 타격: 물음표 (?)
물음표(?)는 별표와 달리 임의의 딱 한 글자만 대체합니다. 글자 수가 정확히 맞아떨어져야 할 때 사용하는 정밀 타격용 기호입니다.
💡 실무 활용 예시
- 정해진 자리수의 파일만 제어하기
$ ls test?이 명령어는 test1, testA, test_ 처럼 test 뒤에 딱 한 글자만 더 붙은 파일만 매칭합니다. 만약 글자 수가 더 많은 test12나 testing 같은 파일은 제외됩니다.
- 특정 버전이나 연도별 파일 골라내기
$ rm image_2026_0?.pngimage_2026_01.png부터 image_2026_09.png까지, 마지막 자리가 한 자리 숫자로 끝나는 이미지들만 깔끔하게 골라 지울 때 유용합니다.
⚠️ 주의해야 할 리눅스 에러 상황
와일드카드를 쓰다 보면 터미널에서 간혹 이런 에러 메시지를 마주치게 됩니다.
cp: -r not specified; omitting directory '...'
이 에러는 와일드카드(so*)로 지정한 대상 중에 일반 파일뿐만 아니라 디렉터리(폴더)가 함께 포함되어 있어서 발생하는 에러입니다. 리눅스는 안전을 위해 폴더를 복사할 때 하위 구조를 모두 복사하는 -r (Recursive) 옵션을 강제하기 때문입니다. 따라서 와일드카드로 폴더까지 한 번에 제어하고 싶다면 반드시 옵션을 잊지 마세요!
# 디렉터리까지 통째로 안전하게 복사하기
$ cp -r /usr/share/code-the-classics/eggzy* .
📌 와일드카드 한 눈에 요약 가이드
| 기호 | 의미 | 매칭 예시 (기준: test* 또는 test?) |
|---|---|---|
| * | 글자 수 제한 없음 (0개 이상) | test.py, testing.txt, test 모두 매칭 ⭕ |
| ? | 정확히 딱 한 글자만 대체 | test1, testA 매칭 ⭕ / test12, testing 제외 ❌ |
| –help | 옵션이 기억 안 날 때 덤 | 명령어 뒤에 붙여 간이 매뉴얼 확인 (예: rm –help) |
처음에는 마우스로 드래그하는 것이 편할지 몰라도, 와일드카드 기호에 익숙해지면 수천 개의 데이터를 단 1초 만에 정제하는 개발자의 짜릿함을 맛보실 수 있습니다. 오늘 준비한 CLI 꿀팁은 여기까지입니다. 궁금한 점이 있다면 댓글로 남겨주세요.😊
댓글 남기기