리눅스 와일드카드 문자

LinuxBeginner
지금 연습하기

소개

Linux 와일드카드 (wildcard) 는 파일 이름의 패턴을 기반으로 여러 파일을 한 번에 검색하고 조작할 수 있게 해주는 특수 문자입니다. 이는 명령줄 환경에서 파일을 효율적으로 관리하기 위한 강력한 도구입니다. 이 랩에서는 다양한 와일드카드를 사용하여 패턴 매칭 (pattern matching) 을 기반으로 파일 목록 표시, 복사, 삭제와 같은 일반적인 작업을 수행하는 방법을 배우게 됩니다.

이것은 가이드 실험입니다. 학습과 실습을 돕기 위한 단계별 지침을 제공합니다.각 단계를 완료하고 실무 경험을 쌓기 위해 지침을 주의 깊게 따르세요. 과거 데이터에 따르면, 이것은 초급 레벨의 실험이며 완료율은 88%입니다.학습자들로부터 100%의 긍정적인 리뷰율을 받았습니다.

별표 (*) 와일드카드 이해하기

별표 *는 Linux 에서 가장 흔하게 사용되는 와일드카드 문자입니다. 파일 이름에서 임의의 수의 문자 (0 개의 문자 포함) 를 나타냅니다. 이는 유사한 명명 패턴을 공유하는 파일 그룹으로 작업하는 데 매우 유용합니다.

별표 와일드카드를 사용하는 연습을 해보겠습니다.

  1. 먼저, 터미널을 열고 프로젝트 디렉토리로 이동합니다.

    cd ~/project
  2. 이 랩을 위한 연습 디렉토리를 만들고 해당 디렉토리로 이동합니다.

    mkdir -p wildcard_practice
    cd wildcard_practice
  3. 이제, 작업할 샘플 파일을 몇 개 만들어 보겠습니다.

    touch file1.txt file2.txt file3.txt document1.pdf document2.pdf image.jpg
  4. ls 명령을 사용하여 디렉토리의 모든 파일을 나열합니다.

    ls

    방금 생성한 모든 파일이 표시되어야 합니다.

    document1.pdf  document2.pdf  file1.txt  file2.txt  file3.txt  image.jpg
  5. 이제 별표 와일드카드를 사용하여 텍스트 파일만 나열해 보겠습니다.

    ls *.txt

    이 명령은 .txt로 끝나는 파일만 표시해야 합니다.

    file1.txt  file2.txt  file3.txt
  6. 특정 패턴으로 시작하는 파일을 일치시키기 위해 와일드카드를 사용할 수도 있습니다. "file"로 시작하는 모든 파일을 나열하려면:

    ls file*

    이 명령은 다음을 표시해야 합니다.

    file1.txt  file2.txt  file3.txt
  7. 모든 PDF 문서를 나열하려면:

    ls *.pdf

    이 명령은 다음을 표시해야 합니다.

    document1.pdf  document2.pdf

별표 와일드카드는 다재다능하며 패턴의 어느 위치에서나 사용할 수 있습니다. 예를 들어, *1*은 이름에 "1"이 포함된 모든 파일과 일치합니다.

물음표 (?) 와일드카드 사용하기

물음표 ? 와일드카드는 정확히 하나의 문자를 나타냅니다. 이는 유사한 이름을 가지고 특정 위치에서 단일 문자로만 다른 파일을 일치시키려는 경우에 유용합니다.

물음표 와일드카드가 어떻게 작동하는지 살펴보겠습니다.

  1. wildcard_practice 디렉토리에 아직 있는지 확인합니다.

    cd ~/project/wildcard_practice
  2. 물음표 와일드카드를 더 잘 시연하기 위해 몇 개의 추가 파일을 만들어 보겠습니다.

    touch file-a.txt file-b.txt file-c.txt test1.log test2.log test3.log
  3. "file-?.txt" 파일 (여기서 ?는 단일 문자) 을 모두 나열하려면:

    ls file-?.txt

    이 명령은 다음을 표시해야 합니다.

    file-a.txt  file-b.txt  file-c.txt
  4. 마찬가지로, "test?.log" 파일을 모두 나열하려면:

    ls test?.log

    출력은 다음과 같아야 합니다.

    test1.log  test2.log  test3.log
  5. 여러 개의 물음표를 결합하여 여러 개의 단일 문자를 일치시킬 수 있습니다. 예를 들어, "file?" 형식의 이름을 가진 모든 텍스트 파일을 일치시키려면:

    ls file?.txt

    이것은 다음을 표시해야 합니다.

    file1.txt  file2.txt  file3.txt
  6. 물음표 와일드카드는 정확한 위치의 변형과 함께 특정 패턴을 일치시켜야 할 때 특히 유용합니다. 예를 들어, 단일 숫자 다음에 .log 가 오는 파일이 필요한 경우:

    ls test?.log

물음표 와일드카드는 별표보다 더 구체적입니다. 별표는 임의의 수의 문자를 일치시킬 수 있는 반면, 물음표는 정확히 하나의 문자를 일치시킵니다.

문자 클래스를 위한 대괄호 [] 사용법

대괄호 [] 와일드카드를 사용하면 파일 이름의 특정 위치에서 일치시킬 문자 집합 또는 범위를 지정할 수 있습니다. 이는 별표 또는 물음표 와일드카드보다 더 정밀한 제어를 제공합니다.

대괄호 와일드카드를 사용하는 연습을 해보겠습니다.

  1. wildcard_practice 디렉토리에 아직 있는지 확인합니다.

    cd ~/project/wildcard_practice
  2. 작업할 몇 개의 추가 파일을 만들어 보겠습니다.

    touch data-1.csv data-2.csv data-3.csv data-a.csv data-b.csv
  3. 특정 위치에 숫자가 있는 파일을 나열하려면 범위와 함께 대괄호 표기법을 사용할 수 있습니다.

    ls data-[1-3].csv

    이것은 다음을 표시해야 합니다.

    data-1.csv  data-2.csv  data-3.csv
  4. 마찬가지로, 해당 위치에 문자가 있는 파일을 나열하려면:

    ls data-[a-z].csv

    이것은 다음을 표시해야 합니다.

    data-a.csv  data-b.csv
  5. 대괄호 내에서 특정 문자를 나열할 수도 있습니다. 예를 들어, "data-" 다음에 '1' 또는 'a'가 있는 파일을 나열하려면:

    ls data-[1a].csv

    이것은 다음을 표시해야 합니다.

    data-1.csv  data-a.csv
  6. 대괄호 내의 캐럿 ^ 기호는 일치를 부정합니다. "1" 또는 "2"로 끝나는 파일을 제외한 모든 "data-" 파일을 나열하려면:

    ls data-[^12].csv

    이 명령은 다음을 표시해야 합니다.

    data-3.csv  data-a.csv  data-b.csv

대괄호는 특정 위치에서 특정 문자로 다른 파일을 일치시켜야 할 때 정밀한 제어를 제공합니다.

와일드카드를 활용한 실용적인 파일 작업

이제 다양한 유형의 와일드카드를 이해했으므로, 이를 사용하여 파일 복사, 이동 및 제거와 같은 일반적인 파일 작업을 수행해 보겠습니다.

  1. 먼저, wildcard_practice 디렉토리에 있는지 확인합니다.

    cd ~/project/wildcard_practice
  2. 파일의 사본을 저장할 백업 디렉토리를 만들어 보겠습니다.

    mkdir backup
  3. 별표 와일드카드를 사용하여 모든 텍스트 파일을 백업 디렉토리로 복사합니다.

    cp *.txt backup/
  4. 파일이 올바르게 복사되었는지 확인해 보겠습니다.

    ls backup/

    백업 디렉토리에 모든 텍스트 파일이 표시되어야 합니다.

    file-a.txt  file-b.txt  file-c.txt  file1.txt  file2.txt  file3.txt
  5. 이제 다양한 파일 형식을 정리하기 위해 다른 디렉토리를 만들어 보겠습니다.

    mkdir csv_files pdf_files log_files
  6. 모든 CSV 파일을 csv_files 디렉토리로 이동합니다.

    mv *.csv csv_files/
  7. 모든 PDF 파일을 pdf_files 디렉토리로 이동합니다.

    mv *.pdf pdf_files/
  8. 모든 로그 파일을 log_files 디렉토리로 이동합니다.

    mv *.log log_files/
  9. 각 디렉토리에 올바른 파일이 포함되어 있는지 확인해 보겠습니다.

    echo "CSV Files:"
    ls csv_files/
    echo "PDF Files:"
    ls pdf_files/
    echo "Log Files:"
    ls log_files/

    출력은 각 디렉토리에 적절한 파일을 표시해야 합니다.

  10. 마지막으로, 이름에 숫자가 있는 모든 백업 텍스트 파일을 제거하여 정리해 보겠습니다.

    rm backup/file[0-9].txt
  11. 문자 이름의 텍스트 파일만 백업 디렉토리에 남아 있는지 확인합니다.

    ls backup/

    출력은 다음을 표시해야 합니다.

    file-a.txt  file-b.txt  file-c.txt

이러한 예는 와일드카드가 여러 명령이나 개별 파일의 수동 처리가 필요한 파일 관리 작업을 어떻게 크게 단순화할 수 있는지 보여줍니다.

요약

이 랩에서는 Linux 와일드카드를 사용하여 파일을 효율적으로 관리하고 조작하는 방법을 배웠습니다. 다룬 주요 개념은 다음과 같습니다.

  1. 별표 (*) 와일드카드를 사용하여 임의의 수의 문자와 일치시키기
  2. 물음표 (?) 와일드카드를 사용하여 정확히 하나의 문자와 일치시키기
  3. 대괄호 []를 사용하여 특정 문자 또는 범위와 일치시키기
  4. 파일 나열, 복사 및 제거와 같은 일반적인 파일 작업에 와일드카드 적용

이러한 와일드카드 기술은 모든 Linux 사용자에게 필수적인 도구이며, 여러 파일로 작업할 때 시간 절약과 오류 감소에 도움이 됩니다. 이를 통해 각 파일을 개별적으로 처리하지 않고도 간단하고 간결한 명령으로 복잡한 파일 작업을 수행할 수 있습니다.

Linux 시스템으로 계속 작업하면서 이러한 와일드카드 패턴을 워크플로우를 간소화하고 생산성을 높이는 데 적용할 수 있는 수많은 기회를 찾을 수 있습니다.