와일드카드 패턴

날아올라돼지야·2024년 8월 31일
0

와일드카드 패턴은 리눅스에서 파일이나 디렉토리의 이름을 지정할 때 특정 패턴에 맞는 파일들을 쉽게 선택할 수 있도록 도와주는 강력한 기능입니다. 이 기능은 특히 파일을 검색하거나 작업을 수행할 때 매우 유용합니다. 이 강의에서는 와일드카드 패턴에 대해 설명하고, 실습 예제와 함께 사용법을 익혀보겠습니다.

1. 와일드카드 패턴이란?

와일드카드 패턴은 파일 이름을 검색할 때 사용되는 메타문자입니다. 와일드카드는 특정 문자나 문자 집합을 대체하여 파일 이름의 일부분을 쉽게 지정할 수 있도록 합니다. 리눅스에서 주로 사용하는 와일드카드 패턴은 다음과 같습니다:

1.1 주요 와일드카드 패턴

  1. * (별표)

    • 설명: *는 0개 이상의 모든 문자와 일치합니다.
    • 예시: *.txt.txt 확장자를 가진 모든 파일과 일치합니다.
  2. ? (물음표)

    • 설명: ?는 정확히 1개의 문자와 일치합니다.
    • 예시: file?.txtfile1.txt, fileA.txt와 일치하지만, file12.txt와는 일치하지 않습니다.
  3. [] (대괄호)

    • 설명: 대괄호 안에 지정된 문자들 중 하나와 일치합니다.
    • 예시: file[12].txtfile1.txt, file2.txt와 일치하지만, file3.txt와는 일치하지 않습니다.
  4. [!...] 또는 [^...] (부정 대괄호)

    • 설명: 대괄호 안에 지정된 문자들을 제외한 문자들과 일치합니다.
    • 예시: file[!1].txtfile2.txt, file3.txt와 일치하지만, file1.txt와는 일치하지 않습니다.
  5. {} (중괄호)

    • 설명: 중괄호 안에 쉼표로 구분된 옵션 중 하나와 일치합니다.
    • 예시: file{1,2}.txtfile1.txt, file2.txt와 일치합니다.

2. 와일드카드 패턴 사용법

와일드카드는 ls, cp, mv, rm 등 다양한 명령어에서 사용할 수 있습니다. 아래의 실습 예제를 통해 각각의 와일드카드 패턴을 사용하는 방법을 알아보겠습니다.

2.1 * (별표) 실습

예제 1: 특정 확장자의 파일 나열하기

ls *.txt
  • 설명: 현재 디렉토리에서 .txt 확장자를 가진 모든 파일을 나열합니다.
  • 실습: 이 명령어를 입력하면, example.txt, notes.txt 등과 같은 .txt 파일들이 출력됩니다.

예제 2: 특정 패턴의 파일 나열하기

ls file*
  • 설명: file로 시작하는 모든 파일을 나열합니다.
  • 실습: file1.txt, fileA.txt, filename.csv 등이 출력됩니다.

2.2 ? (물음표) 실습

예제 3: 문자 하나가 다른 파일 찾기

ls file?.txt
  • 설명: file 다음에 하나의 문자가 있는 .txt 파일을 나열합니다.
  • 실습: file1.txt, fileA.txt는 출력되지만, file12.txt는 출력되지 않습니다.

2.3 [] (대괄호) 실습

예제 4: 특정 문자가 들어간 파일 찾기

ls file[12].txt
  • 설명: file 다음에 1 또는 2가 포함된 .txt 파일을 나열합니다.
  • 실습: file1.txt, file2.txt가 출력됩니다.

예제 5: 특정 범위의 문자 찾기

ls file[1-3].txt
  • 설명: file 다음에 1부터 3까지의 숫자가 들어간 .txt 파일을 나열합니다.
  • 실습: file1.txt, file2.txt, file3.txt가 출력됩니다.

2.4 [!...] 또는 [^...] (부정 대괄호) 실습

예제 6: 특정 문자가 없는 파일 찾기

ls file[!1].txt
  • 설명: file 다음에 1이 아닌 문자가 포함된 .txt 파일을 나열합니다.
  • 실습: file2.txt, fileA.txt 등이 출력되지만, file1.txt는 제외됩니다.

2.5 {} (중괄호) 실습

예제 7: 여러 패턴을 한 번에 찾기

ls file{1,A}.txt
  • 설명: file1.txt 또는 fileA.txt와 일치하는 파일을 나열합니다.
  • 실습: file1.txt, fileA.txt가 출력됩니다.

예제 8: 여러 확장자 파일 찾기

ls *.{txt,csv}
  • 설명: .txt.csv 확장자를 가진 모든 파일을 나열합니다.
  • 실습: example.txt, data.csv 등이 출력됩니다.

3. 와일드카드를 사용한 파일 관리

3.1 와일드카드를 사용한 파일 복사

예제 9: 특정 패턴의 파일 복사하기

cp *.txt backup/
  • 설명: 현재 디렉토리의 모든 .txt 파일을 backup 디렉토리로 복사합니다.
  • 실습: 이 명령어를 입력하면 backup 디렉토리에 .txt 파일들이 복사됩니다.

3.2 와일드카드를 사용한 파일 이동

예제 10: 특정 패턴의 파일 이동하기

mv file?.txt archive/
  • 설명: file 다음에 한 글자가 있는 모든 .txt 파일을 archive 디렉토리로 이동합니다.
  • 실습: file1.txt, fileA.txt 등이 archive 디렉토리로 이동됩니다.

3.3 와일드카드를 사용한 파일 삭제

예제 11: 특정 패턴의 파일 삭제하기

rm file[1-3].txt
  • 설명: file 다음에 1, 2, 3이 포함된 모든 .txt 파일을 삭제합니다.
  • 실습: file1.txt, file2.txt, file3.txt가 삭제됩니다.

4. 와일드카드 사용 시 주의사항

  • 예외적 일치: 와일드카드는 매우 강력한 기능이지만, 잘못 사용하면 원하지 않는 파일을 삭제하거나 이동시킬 수 있습니다. 예를 들어, rm * 명령어는 현재 디렉토리의 모든 파일을 삭제하므로 주의해야 합니다.
  • 이중 체크: 중요한 파일을 다룰 때는 와일드카드 패턴을 사용하기 전에 ls 명령어로 먼저 어떤 파일들이 선택되는지 확인하는 것이 좋습니다.
  • 따옴표 사용: 와일드카드를 인식하지 않게 하려면 따옴표(" 또는 ')로 감싸서 사용합니다. 예를 들어, echo "*"는 별표를 그대로 출력합니다.

이제 와일드카드 패턴을 사용하여 리눅스 파일 시스템에서 다양한 작업을 수행하는 방법을 익히셨습니다. 와일드카드는 리눅스에서 매우 강력한 도구이며, 올바르게 사용하면 작업 효율성을 크게 높일 수 있습니다.

profile
무슨 생각하며 사니

0개의 댓글

관련 채용 정보