프로필 Linux 에서 cp 와 mv 의 조합{,}셸 에서 의 용법

2610 단어 Linuxshell
블 로그 나 게시판 에서 다음 명령 과 같은 대괄호 확장 을 자주 볼 수 있 습 니 다.  Brace expansion  {     }  shell   역할.

  cp /etc/httpd/httpd.{,.bakup}

혹은

  mv resume{z,}.doc

그럼 uinx/linux 에서  셸 명령 은 무슨 뜻 입 니까?무슨 역할 을 할 까요?
{  } 실제 적 인 의 미 는 없 지만 Brace expansion(괄호 확장 또는 괄호 확장)으로 여러 그룹 을 만 드 는 데 자주 사용 된다.다음은 GNU/BASH 번역 입 니 다.  man page  의 내용:
    Brace expansion(괄호 확장 또는 괄호 확장)은 문자열 조합 을 무 작위 로 만 드 는 메커니즘 입 니 다.이 메커니즘 은 파일 의 확장자 와 유사 하지만 응답 하 는 파일 이 필요 하지 않 습 니 다.Brace expansion(대괄호 확장 또는 대괄호 확장)모드 는 선택 할 수 있 는 preamble(선도 문자)입 니 다.뒤에 일련의 쉼표 로 구 분 된 문자열 이 있 습 니 다.한 쌍 의 괄호 에 포함 되 고 그 다음은 선택 할 수 있 는 potscript(인쇄 프로 그래 밍 언어)입 니 다.preamble(선도 문자)는 괄호 안에 있 는 모든 문자열 앞 에 추가 되 었 으 며,potscript(인쇄 프로 그래 밍 언어)는 결과 문자열 마다 추 가 된 후 왼쪽 에서 오른쪽으로 확장 되 었 습 니 다.  괄호 확장 은 끼 워 넣 을 수 있 습 니 다.확장 문자열 의 결과 가 정렬 되 지 않 았 습 니 다.왼쪽 에서 오른쪽 순 서 를 유지 한 것 이다.
 
1.터미널 에 다음 명령 을 입력 하 십시오:

  echo foo{1,2,3}.txt

출력 은 다음 과 같 습 니 다:

foo1.txt foo2.txt foo3.txt
 
2.아래 에 추 가 된 인 스 턴 스 를 사용 하여 명령 에 인 자 를 만 들 고 입력 하 는 시간 을 절약 하 며 작업 효율 을 높 일 수 있 습 니 다.
    echo file.txt{,.bak}

  echo file-{a..d}.txt

  echo mkdir -p /apache-jail/{usr,bin,lib64,dev}

  echo cp httpd.conf{,.backup}

  echo mv delta.{txt,doc}

 
3.Brace expansion(괄호 확장 또는 괄호 확장)을 사용 하여 파일 을 복사 하거나 이름 을 바 꾸 거나 백업 파일 을 만 들 수도 있 고 디 렉 터 리 를 만 들 수도 있 습 니 다.아래 의 습관 적 으로 사용 되 는 예 에서   file1.txt  백업  file2.txt.bak  ,입력:

cp  -v file1.txt file1.txt.bak
 
Brace expansion 을 사용 하여 시간 을 절약 하면 입력:

cp  -v  file1.txt{,.bak}
 
출력 은 다음 과 같 습 니 다:

file1.txt -> file1.txt.bak

더 많은 괄호 확장 인 스 턴 스 는 다음 과 같 습 니 다.
4.우리 가 실행 하면:

$ cp /etc/apt/sources.list     /etc/apt/sources.list.bak

 
이 두 개/etc/apt/sources 부분 은 같 습 니 다./etc/apt/sources 를 두 번 적 게 입력 하기 위해 괄호 확장 파 라미 터 를 사용 합 니 다.그리고 평소에 이름 을 바 꾸 고 파일 을 백업 하 며 링크 를 만 들 때 큰 괄호 로 파 라 메 터 를 확장 하 는 방법 으로 효율 을 높 일 수 있 습 니 다.
큰 괄호 확장,즉 큰 괄호 로 둘러싸 여 있 으 며,쉼표 로 구 분 된 매개 변 수 는 독립 된 여러 매개 변수 로 확 장 됩 니 다.

$ cp /etc/apt/sources.{list,list.bak}
 
Shell 은 설명 할 때 자동 으로 뒤의 인 자 를 두 개 로 확장 하여 위 와 같은 완전한 명령 으로 변 합 니 다.
물론   list  쉼표 앞 에 아무것도 쓰 지 않 는 것 도 고려 해 보 자.다음 과 같다.

$ cp /etc/apt/sources.list{,.bak}
 
이렇게 쉼표 앞 에 물건 이 없 으 면 매개 변 수 는 원래 의 변 하지 않 고 쉼표 뒤의 것 은 그대로 확 장 됩 니 다.

좋은 웹페이지 즐겨찾기