1. 기본 개념: 옵션(Options)이란?
옵션은 명령어의 동작 방식을 조정하는 부가적인 설정값
2. Short Options (-x
형식)
항목 | 설명 |
---|---|
형식 | - + 한 글자 (-a , -l 등) |
특징 | 짧고 간단하며 하나의 문자만 허용 |
조합 가능 여부 | 여러 개를 하나로 묶을 수 있음 (-al ) |
예시:
Bash
ls -l # long listing format
ls -a # show hidden files
ls -la # 두 옵션을 함께
Bash이건
ls -l -a
와 동일함
3. Long Options (--option
형식)
항목 | 설명 |
---|---|
형식 | -- + 전체 이름 (--help , --version ) |
특징 | 가독성이 좋고 의미가 명확함 |
조합 가능 여부 | 묶을 수 없음. 각 옵션은 개별적으로 지정해야 함 |
long option 예시:
Bash
ls --all # 숨긴 파일도 보여줌
ls --format=long # 출력 포맷 설정
rm --recursive # 디렉토리도 재귀적으로 삭제
Bashshort/long 비교 예:
Bash
grep -i "text" file.txt # -i = ignore case
grep --ignore-case "text" file.txt # 동일한 기능, long option 사용
Bash4. 어떻게 구현되는가?
각 명령어 도구에서 내부적으로:
getopt()
또는getopt_long()
(GNU 확장) 함수로 처리ls
,grep
,cp
,rm
등 GNU coreutils는 대부분 short + long 옵션 둘 다 지원
5. 옵션 사용 도움말 보기
Bash
ls --help
grep --help
Bash또는:
Bash
man ls
man grep
Bash6. 요약
구분 | Short Option | Long Option |
---|---|---|
형식 | -x | --option |
가독성 | 낮음 | 높음 |
조합 가능 | 여러 개 묶기 가능 (-al ) | 묶을 수 없음 (--a --b ) |
사용 목적 | 빠르고 간결한 입력 | 명확한 의미 전달 |
find
Bash
find . -name "*.c" -exec ls -l {} \;
Bash(단, 이건 한 번만 실행되는 게 아니라, .c
파일 하나하나마다 ls -l
이 실행됨)
확장된 예시
🔁 모든 .c
파일을 한 번에 전달하고 싶을 때
Bash
find . -name "*.c" -exec ls -l {} +
BashBash
find . -name "*.c" | xargs ls -l
Bash+
는 여러 개의 결과를 한 번의 명령으로 전달
즉, 아래처럼 실행됨:
Bash
ls -l file1.c file2.c file3.c ...
Bash성능면에서 훨씬 효율적 (프로세스를 여러 번 만들지 않음)
하나 더 개선:
Bash
find . -name "*.c" -exec ls -l {} + 2> /dev/null
Bash에러 출력을 버림
Bash
find . -name "*.c" | xargs ls -l
Bashxargs
는find
의 출력값을 인수로 변환해ls -l
에 전달- 단, 파일명이 공백/특수문자를 포함할 경우 오류 발생 가능
→ 해결책: 공백 처리하려면 -print0
과 xargs -0
조합 사용:
Bash
find . -name "*.c" -print0 | xargs -0 ls -l
BashLinux Package Managers
- yum
- apt : ubuntu
- sudo apt update
- sudo apt-get install
- sudo apt-get remove
- apt-cache search keyword
- apt-cache show aptitude
- apk : alpine
답글 남기기