리눅스 터미널에서 `xargs` 명령어는 표준 입력으로 받은 항목들을 모아 다른 명령어의 인수로 실행합니다. find, grep, printf 등과 조합하면 반복 작업을 줄일 수 있습니다.
처음에는 기본 문법과 대표 예제부터 익힌 뒤 필요한 옵션을 하나씩 추가하면 어렵지 않게 활용할 수 있습니다.
xargs 명령어란?
표준 입력으로 받은 항목들을 모아 다른 명령어의 인수로 실행합니다. find, grep, printf 등과 조합하면 반복 작업을 줄일 수 있습니다.
명령어를 실행해도 실제 출력은 리눅스 배포판, 설치된 버전, 현재 사용자 권한과 작업 경로에 따라 달라질 수 있습니다.
기본 문법
```bash
입력명령 | xargs [옵션] 실행할명령
```
대괄호로 표시된 부분은 일반적으로 선택 사항입니다. 실제 명령어를 입력할 때 대괄호 자체를 입력하지는 않습니다.
한 줄 입력을 인수로 바꾸기
```bash
printf 'a.txt\nb.txt\n' | xargs ls -l
```
두 파일 이름을 ls -l의 인수로 전달합니다.
한 번에 하나씩 처리하기
```bash
printf 'one\ntwo\n' | xargs -n 1 echo
```
각 항목마다 echo를 한 번씩 실행합니다.
안전한 파일 이름 전달하기
```bash
find . -type f -print0 | xargs -0 wc -l
```
공백과 특수문자가 있는 파일도 NUL 문자로 안전하게 구분합니다.
자주 사용하는 옵션과 표현
옵션 또는 표현 기능
`-n N` 한 번 실행할 때 사용할 인수 개수
`-0` NUL 문자로 입력 항목 구분
`-I {}` 치환 위치를 지정해 명령 구성
`-p` 실행 전 사용자에게 확인
`-P N` 최대 N개 작업 병렬 실행
옵션은 한 번에 여러 개를 조합할 수 있지만, 명령어마다 결합 방식이 다를 수 있습니다.
설치된 버전이 지원하는 옵션은 다음과 같이 도움말에서 확인할 수 있습니다.
```bash
xargs --help
```
더 자세한 설명서가 설치되어 있다면 매뉴얼 페이지를 확인합니다.
```bash
man xargs
```
초보자가 주의할 점
파일 이름을 다룰 때 단순 줄바꿈 구분은 공백과 개행이 포함된 이름에서 깨질 수 있습니다. find -print0와 xargs -0 조합을 권장합니다.
특히 파일 변경, 삭제, 권한 조정, 프로세스 종료 또는 시스템 설정과 관련된 명령어는 실행 전에 대상과 현재 상태를 조회하는 명령으로 먼저 확인하는 것이 안전합니다.
간단한 실습 방법
중요한 시스템 파일 대신 홈 디렉터리 아래에 연습용 디렉터리를 만들고 예제를 실행해 보세요.
```bash
mkdir -p ~/linux-practice
cd ~/linux-practice
pwd
```
실습이 끝난 뒤에는 생성된 파일과 명령 결과를 직접 확인합니다. 관리자 권한이 필요한 예제는 개인 실습 환경에서도 의미를 이해한 뒤 실행하세요.
마무리
`xargs` 명령어의 기본 형태와 대표 옵션을 익혀두면 입력 목록을 다른 명령어의 인수로 전달하기 작업을 터미널에서 빠르게 처리할 수 있습니다.
처음에는 다음 대표 예제를 직접 실행해 결과를 확인해 보세요.
```bash
printf 'a.txt\nb.txt\n' | xargs ls -l
```
익숙해진 뒤 시스템에 설치된 도움말과 `man` 문서를 참고해 필요한 옵션을 확장하면 됩니다.
#리눅스 #Linux #리눅스명령어 #xargs #터미널 #리눅스초보 #서버명령어
---