개요

man 명령어로 볼 수 있는 매뉴얼 중에서 공부겸 유용한 명령어 위주로 정리해놓은 포스팅이다…

워낙 내용이 많기 때문에 수시로 내용이 추가 될 것 같다.


A

apply

apply [-a c] [-d] [-#] command argument ...

각 인자를 받아 명령어를 실행시켜준다.

-#
한번에 받아들일 인자의 갯수를 정한다. 기본값은 1이다.

-a c
magic character를 'c' 로 바꿔서 사용한다. 기본값은 % 이다.

-d 
실행할때의 명령어를 보여준다. 하지만 실제로 실행하지는 않도록한다.

예제

# echo a, ..., echo d 까지 실행한다
apply 'echo %1' a b c d

awk

awk [ -F fs ] [ -v var=value ] [ 'prog' | -f progfile ] [ file ... ]

패턴기반 스캔, 처리언어 이다.

  • 팁) awk는 서수의 시작을 0이 아닌 1을 사용한다.

예제

$ cat split.awk
function print_arr(arr) {
    for (i = 1; i <= length(a); i++)
        print a[i]
}

{
    s = $1
    split(s, a, ",")
    print_arr(a)
}

$ printf 'foo,bar,baz\nhello,world' | awk -f split.awk
foo
bar
baz
hello
world

B

basename

basename string [suffix]
basename [-a] [-s suffix] string [...]

경로값을 받아 파일이름을 돌려준다.

base64

$ echo test | base64
dGVzdAo=


$ echo dGVzdAo= | base64 -d
test

base64 인코딩을 하는 명령어이다. 바이너리 파일을 텍스트 형태로 변환할때 유용하다.

bc

bc [ -hlwsqv ] [long-options] [ file ... ]

수식을 받아서 계산하는 계산기이다.

X

xargs

stdin으로 부터 문자열을 받아와 tab, space, newline 등을 구분자로 하여 인자로 사용, 명령어를 실행할 수 있도록 돕는 유틸리티 이다. apply의 stdin version이라고 생각하면 될 것 같다.

xargs에 대해 아무런 유틸리티(명령어)가 지정되지 않은경우, 기본값으로 echo를 사용한다.

-0
NULL ('\0') 문자를 구분자로 받아인다.

-n
stdin 에서 몇 개의 구분자로 구분된 인자를 가져올 지 결정한다. 기본값은 5000이다.

e.g.)
$ echo foo bar baz | xargs -n2
foo bar
baz

$ echo foo bar baz | xargs -n1
foo
bar
baz


-I
명령어로 사용되는 문자열에서 인자로 치환할 문자를 지정하는 옵션이다.
예로, 아래 두 명령어의 실행 결과는 같다.

$ ls | xargs -n1
$ ls | xargs -I% echo %