xargs는 표준 입력에서 명령줄을 작성하고 실행하기 위한 Linux/Unix의 강력한 명령입니다. 이는 한 명령의 출력을 승인하고 이를 다른 명령에 인수로 전달합니다. 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!