Unix-style file-name globbing

achrom의 이미지

우리가 shell에서 cp 명령을 수행할 때,

Quote:
cp ./* ..

처럼 하면,
* 는 그 디렉토리의 모든 파일이름으로 shell이 자동으로 치환해주나요?
만약 그렇다면, 파일이 매우 많고, 파일 이름도 매우 길어도, 모두 치환이 되나요?
bash에서 한 라인에 허용하는 문자가 몇개나 되죠?
pynoos의 이미지

가능한 모든 파일들을 쉘이 치환해줍니다.
다만 한줄의 최대 크기는 제한되어 있습니다.
정확한 값은 모르겠고, 에러가 나면

find -exec 를 사용하죠.

angpoo의 이미지

$ getconf ARG_MAX
131072
ARG_MAX Maximum length, in bytes, of the arguments for one of the exec subroutines, including environment data.

시스템에서의 제한이고 bash에서의 제한은 없는듯 합니다.

1: echo `cat 꽤큰텍스트`
2: /bin/echo `cat 꽤큰텍스트`
위에껀 실행이 되고 아래껀 인수명단이 길다고 나옵니다.

cp *같은 것은 recursive옵션을 사용해서 해결 할 수 있습니다.
$ cp -R . ..