xargs
위키백과, 우리 모두의 백과사전.
xargs는 유닉스 및 유닉스 계열 운영 체제의 명령어로 표준 입력을 통해 명령 줄을 만들고 만들고 실행하는 데 사용한다. 버전 2.6.23 이전의 리눅스 커널에서는 긴 목록의 매개변수가 명령어를 통해 이용하지 못하는 경우도 간혹 있으므로[1] xargs는 변수 목록을 여러 하부 목록으로 잘게 나누어서 받아들일 수 있게 한다.
예를 들면, 다음 명령어들은 /path 아래에 파일들이 너무 많이 있을 경우 "Argument list too long"이란 메시지를 내며 실행되지 않는다.
rm /path/*
또는
rm `find /path -type f`
그러나, (rm `find /path -type f` 같은 역할을 하는) 다음 명령어는 파일 갯수와 상관없이 실행된다.
find /path -type f -print0 | xargs -0 rm
이 예제에서, find는 파일이름의 리스트를 갖는 xargs를 입력으로 받는다. xargs는 이 리스트를 세부리스트로 나누면서 각각의 리스트에대해서 rm을 호출한다. 이 방법은 같은 역할을 하는 다음의 명령어 보다 더 효율적이다.
find /path -type f -exec rm '{}' \;
위 명령어에서는 각각의 파일에 대해 rm이 호출된다.
참고로, 근래의 find 명령어에서는, xargs의 기능을 다음과 같이 대체 시킬 수 있다.
find /path -type f -exec rm '{}' +
주석 [편집]
바깥 고리 [편집]
|
유닉스 명령 줄 인터페이스 프로그램과 내부 명령어 |
|
|---|---|
| 파일 시스템 | |
| 프로세스 | |
| 유저 환경 | |
| 텍스트 처리 | |
| 셸 프로그램 | |
| 네트워크 | |
| 검색 | |
| 그외 | |
| 이 글은 컴퓨터에 관한 토막글입니다. 서로의 지식을 모아 알차게 문서를 완성해 갑시다. |