리눅스 커맨드 라인에서 나오는 확장, 매개변수등 이게 무슨 뜻인지 아시는 분?
글쓴이: yellowstone / 작성시간: 목, 2013/08/29 - 2:12오후
리눅스 배우고 있는 입문자에 가까운 사람입니다.
제가 리눅스 커맨드 라인 완벽 입문서를 갖고 공부를 하고 있습니다.
echo 명령어 부분에서
확장, 변수, 매개변수등이 언급 되는데 이해가 안가더라구요.
책에서는 확장의 정의를 얘기 하고 있는데
"* 기호처럼 쉘에 여러 의미를 주는 경우, 단순히 연속된 문자열로 처리되는 것과 같은 몇 가지 경우를 살펴보았다. 이러한 프로세스를 확장이라고 하는데, 이 기능으로 인해 무엇이든 입력하면 쉘이 그것을 처리하기 전에 다른 무언가로 확장된다."
확장이 무슨 의미(뜻)인지, 저자가 무슨 말을 하고 있는지 이해가 안갑니다.
그 다음에 경로명 확장, 틸드(~) 확장 왜 자꾸 확장이란 말을 붙이는지....
리눅스 커맨드에 변수라는 의미가 프로그래밍에서 사용되는 그 용어 인가요?
매개변수는 무슨 뜻인지.
리눅스 커맨드 라인 정말 어렵습니다...
File attachments:
첨부 | 파일 크기 |
---|---|
_커맨드라인_완벽_입문서.jpg | 102.98 KB |
Forums:
shell 에서의 확장은 globbing을
shell 에서의 확장은 globbing을 의미합니다.
wildcard pattern을 expand하는 것이지요.
현재 디렉토리에 a, b 라는 두개의 파일이 있다고 해보면,
ls * 라고 타이핑하는 것은 ls a b 라고 타이핑하는 것과 동일합니다.
즉 ls * 라는 커맨드는 ls 라는 명령어에 모든 파일을 리스트하라고 하는것이 아니라,
ls를 호출하기 전에 shell에 의해서 *가 a b 로 바뀌는데, 이걸 확장 또는 globbing 이라고 합니다.
그 후 ls 라는 명령어에 2개의 파일 a b를 리스트하라고 명령이 전달되는 것입니다.
~ 라는 것도 shell에 의해서 내부적으로 홈디렉토리 경로로 바뀝니다. 그걸 확장이라고 하는거고요.
커맨드라인에서 그냥 * 또는 ~ 만 타이핑하고 엔터치시고 오류 메세지를 살펴보세요.
왜 그런 오류 메세지가 나왔는지 이해해보도로 하세요.
변수/매개변수라는 말은 context에 따라서 여러 의미를 가질 수 있어서, 따로 답변은 않겠습니다.
댓글 달기