숏컷 코드
command --option value argument
ls -la /etc
cp -r src/ backup/
grep -n "error" app.log
command --help
man command
type command
which command| 요소 | 의미 |
|---|---|
| command | 실행할 프로그램이나 shell builtin |
| option | 동작 방식을 바꾸는 플래그 |
| argument | 명령이 처리할 대상 |
--help | 빠른 옵션 설명 |
man | 매뉴얼 페이지 |
type | builtin, alias, 함수, 실행 파일 여부 확인 |
명령 읽기
셸 명령은 보통 명령 + 옵션 + 대상 구조입니다. ls -la /etc에서 ls는 명령, -la는 옵션, /etc는 대상 경로입니다. 긴 옵션은 --all처럼 읽기 쉬운 형태이고, 짧은 옵션은 -a, -l처럼 한 글자 형태입니다. 명령마다 옵션 의미가 다를 수 있으므로 같은 글자라고 해서 항상 같은 기능이라고 가정하면 안 됩니다.
ls -la /etc
grep -R "TODO" src/
tar -czf logs.tar.gz logs/명령이 shell builtin인지 외부 실행 파일인지도 중요합니다. cd처럼 현재 셸 상태를 바꾸는 명령은 builtin이고, grep, tar 같은 명령은 보통 외부 프로그램입니다. type은 alias와 builtin을 포함해 실제로 무엇이 실행되는지 확인하는 데 유용합니다.
type cd
type ls
type grep도움말은 명령마다 깊이가 다르다
빠른 옵션 확인은 --help, 자세한 설명은 man이 기본입니다. 단, 모든 명령이 동일한 도움말 형식을 갖지는 않습니다. 배포판, BusyBox, GNU 도구, BSD 계열 도구는 옵션이 다를 수 있으므로 운영 서버에서는 해당 서버에서 직접 도움말을 확인하는 편이 안전합니다.
체크포인트
| 상황 | 먼저 볼 명령 |
|---|---|
| 옵션을 빠르게 확인 | <command> --help |
| 매뉴얼 전체 확인 | man <command> |
| 실제 실행 대상 확인 | type <command> |
| PATH에서 위치 확인 | which <command> |
| alias 때문에 동작이 다름 | type, alias |
| 명령이 없음 | command -v <command> |
주의할 점
인터넷 예제의 옵션을 그대로 복사하기 전에 현재 서버의 명령 구현을 확인하십시오. 같은 이름의 명령이라도 GNU, BSD, BusyBox 구현에 따라 옵션이 다를 수 있습니다.
type sed
sed --help
man sed참고 링크
2 sources