<* 리눅스 와일드카드( wildcard ) *>
■ 리눅스 와일드카드( wildcard ), 정확히는 와일드카드 문자 ( wildcard character ) 이다.
■ 와일드카드는 컴퓨터에서 특정 명령어로 명령을 내릴 때, 여러 파일을 한꺼번에 지정할 목적으로 사용하는 문자열 기호를 가리킨다
■ UNIX에서 부터 사용되어 왔으므로 UNIX 계열(UINX-like)에선 모두 사용할 수 있다.
*** < 와일드 카드 > ***
▪ { } 중괄호 안의 각 문자열과 일치 (딕셔너리)
▪ [ ] 대괄호. 안의 문자열 중 하나와 일치
▪ - 하이픈 양 옆에 있는 문자에서 문자범위를 설정대괄호와 쓰인다
▪ [! ] 또는 [^ ] [ ] 의 여집합 (complementary set)
▪ * 애스터리스크. 0개 이상의 문자를 대체
▪ ? 1개의 글자를 대체
▪ ~ 해당 유저의 홈 디렉토리 (/home/<userid>)
** 와일드카드는 따옴표( " " ) 안에 넣으면 안된다 **
예 ) (test.txt, tes/123.txt 등 일치하는 모든 파일/디렉토리(내부)가 출력)
$ ls tes*
예 ) test.txt, test.txx 등 하나 일치한 파일을 출력
$ ls test.tx?
예 ) ls 명령에서 대괄호와 ' ! ' , ' - ' 를 활용
$ ls -l
total 0
-rw-r--r--. 1 root root 0 Jun 20 21:30 aaa
-rw-r--r--. 1 root root 0 Jun 20 21:30 CCC
-rw-r--r--. 1 root root 0 Jun 20 21:32 Other
-rw-r--r--. 1 root root 0 Jun 20 21:44 shvatio?
-rw-r--r--. 1 root root 0 Jun 20 21:47 Zvezda*
$ ls -l [!a-C]*
-rw-r--r--. 1 root root 0 Jun 20 21:32 Other
-rw-r--r--. 1 root root 0 Jun 20 21:44 shvatio?
-rw-r--r--. 1 root root 0 Jun 20 21:31 So#Me
-rw-r--r--. 1 root root 0 Jun 20 21:47 Zvezda*
$ ls -l [!aZ]*
-rw-r--r--. 1 root root 0 Jun 20 21:30 CCC
-rw-r--r--. 1 root root 0 Jun 20 21:32 Other
-rw-r--r--. 1 root root 0 Jun 20 21:44 shvatio?
-rw-r--r--. 1 root root 0 Jun 20 21:31 So#Me
예 ) *
$ ls * // 현재 디렉토리에 있는 모든 파일 list 출력
$ ls *.c // 현재 디렉토리에 있는 .c 파일 list 출력
$ ls ma* // ma으로 시작하는 현재 디렉토리에 있는 모든 파일 출력
$ ls *aba* // aba가 들어있는 현재 디렉토리에 있는 모든 파일 출력
예 ) ?
$ ls m???.c // main.c 출력
$ ls a? // a1 a2 a3 출력
$ ls ?? // a1 a2 a3 출력
$ ls ?app?.t?t // happy.txt 출력
예 ) [ ]
$ ls [a]* // a1 a2 a3 a4 출력
$ ls [a][1-4] // a1 a2 a3 a4 출력
$ ls [mh]* // main.c happy.txt 출력
// *[mh] 할 경우에는 m과 h가 들어가 있는 것을 모두 출력해줌
$ ls *[2-4] // a2 a3 a4