> 일반적인 문제 > Linux의 xargs 명령 및 예

Linux의 xargs 명령 및 예

不言
풀어 주다: 2019-03-02 16:08:55
원래의
2756명이 탐색했습니다.

xargs는 표준 입력에서 명령줄을 작성하고 실행하기 위한 Linux/Unix의 강력한 명령입니다. 이는 한 명령의 출력을 승인하고 이를 다른 명령에 인수로 전달합니다. xargs는 공백이나 줄 바꿈으로 구분된 표준 입력을 취하고 인수 뒤에 항목을 사용하여 명령을 한 번 이상 실행합니다. 표준 입력의 빈 줄은 무시됩니다.

Linux의 xargs 명령 및 예

예제

예 1: 많은 수의 파일을 다른 폴더에 복사합니다.

때때로 긴 파일 목록을 복사해야 하는 경우가 있습니다. 이 경우 "매개변수 목록이 너무 김" 오류와 함께 cp 명령이 실패합니다. 이 작업을 수행하기 위해 xargs를 사용할 수 있습니다.

# find /home/linuxman/public_html/tecadmin.net/ -type f | xargs -n1 -i cp {} /var/www/backup/
로그인 후 복사

예 2: 폴더에서 여러 파일을 삭제합니다.

때때로 폴더에서 많은 수의 파일을 삭제하고 싶을 때가 있습니다. 아래 예에서는 /var/log 디렉터리에서 모든 .log 파일을 삭제합니다.

# find /var/www/tmp/ -type f | xargs rm -f
로그인 후 복사

위 명령은 공백이 있는 파일을 삭제할 수 없습니다. xargs 명령에서 공백을 처리하려면 다음 명령이 필요합니다.

# find /var/www/tmp/ -type f -print0 | xargs -0 rm -f
로그인 후 복사

예 3: 여러 파일의 줄 수를 셉니다.

다음 예에서는 /opt 디렉터리와 해당 하위 디렉터리에 있는 각 .txt 파일의 줄 수를 계산합니다.

# find /opt -name "*.txt" | xargs wc -l
로그인 후 복사

이름에 공백이 포함된 파일을 처리하려면 다음 명령을 사용해야 합니다.

# find /opt/ -name "*.log" -print0 | xargs -0 wc -l
로그인 후 복사

예 4: 모든 구성 파일을 백업합니다.

시스템에 있는 모든 구성 파일(확장자 .conf)을 백업하려면 다음 명령을 사용하세요.

# find / -name "*.conf" |  xargs tar czf  config.tar.gz
# ls -l config.tar.gz
-rw-r--r--. 1 root root 193310 Apr  1 13:26 config.tar.gz
로그인 후 복사

예 5: xargs에 사용자 정의 구분 기호 사용.

사용자 정의 deleter 및 xargs 명령을 사용할 수도 있습니다. 기본적으로 공백과 새 줄을 구분 기호로 사용합니다. -d 매개변수를 사용하여 구분 기호를 정의합니다.

# echo "1,2,3,4,5" | xargs -d, echo
로그인 후 복사

Output

1 2 3 4 5
로그인 후 복사

예 6: xargs를 사용하여 별도의 줄에 출력을 표시합니다.

예제 5에서는 출력이 한 줄에 표시되지만 각 출력이 별도의 줄에 표시되도록 지정할 수도 있습니다.

# echo "1,2,3,4,5" | xargs -d, -L 1 echo
로그인 후 복사

Output

1
2
3
4
5
로그인 후 복사

예 7: 파일 이름 또는 경로의 공백 처리.

이름의 공백을 처리하려면 find 명령에 -print0을 사용하고 xargs 명령에 -0을 인수로 사용합니다.

#  find /tmp -print0 | xargs -0 -L 1 echo
로그인 후 복사

이 기사는 여기서 끝났습니다. 더 흥미로운 내용을 보려면 PHP 중국어 웹사이트의 다른 관련 칼럼 튜토리얼을 참조하세요! ! !

위 내용은 Linux의 xargs 명령 및 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿