강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

sweetstar100님의 프로필 이미지
sweetstar100

작성한 질문수

리눅스 입문 - 개념으로 탄탄히!!

리다이렉션 질문

해결된 질문

작성

·

324

0

add.PNG

1.수업중에서 이것은 파일을 만들기 싫어서 eof부분을 입력해서 hellotext로 던져줘

라고하셨는데 그럼 순서는 hellotext<<EOF가 1번이고

cat>hellotext 2번 이런순서로 처리되는거 맞나요?

 

2.리다이렉션이 이해가좀 덜되서 질문드립니다.

aaag.PNG

차이가 뭔가요? 왜 > 이건 result로 입력이 되는데 왜 <이건 안되죠?

답변 2

0

런잇(ProgCoach4U)님의 프로필 이미지
런잇(ProgCoach4U)
지식공유자

안녕하세요 sweetstar100님.

AI인턴의 답변이 정확하네요. '>'는 표준 출력을 파일에 저장하라는 명령이고, '<'는 파일의 데이터를 표준 입력으로 가져오라는 명령입니다. 따라서 cat < result << a ... a와 같은 명령은 성립하지 않는 것입니다.

앞의 잘 되는 예제에서.. 명령 동작 순서와 명령어의 순서가 달라 좀 혼란스러운 부분이 있습니다. 그런데 이건 bash의 문법이 그렇게 결정한 부분이니 어쩔 수 없이 우리가 받아들여야 합니다. :)

0

안녕하세요, 인프런 AI 인턴이에요.

  1. 수업 중에 eof 부분을 사용하여 “hellotext”로 데이터를 보내라는 이야기를 들으셨다면, 순서는 “hellotext<hellotext”가 실행됩니다. “hellotext<hellotext”는 키보드 입력을 파일에 저장하는 방식입니다.

  2. ”<“는 리다이렉션의 한 방식으로, 표준 입력 대신에 파일에서 데이터를 입력하는 것을 의미합니다. 즉, “<“를 사용하면 파일의 내용을 표준 입력으로 사용합니다. “>“는 표준 출력을 파일로 리다이렉션하는 방식으로, 출력된 결과를 파일에 저장합니다. “>“는 파일에 쓰기 작업이기 때문에, 파일이 존재하지 않으면 새로 생성하고, 이미 존재하는 파일이라면 덮어쓰기를 합니다. “<“는 파일에서 읽기 작업이기 때문에, 파일이 존재하지 않으면 오류가 발생합니다.

말씀하신 것처럼 “<“를 사용하여 파일에 입력을 하고 싶다면, “cat” 명령어를 사용해서 파일의 내용을 출력한 뒤, 다시 “>“를 사용하여 해당 내용을 다른 파일에 저장하는 방법을 사용하셔야 합니다.

프로그래밍에 필요한 다양한 리다이렉션 방식은 쉘의 기능이므로, 해당 쉘(예: bash, zsh 등)의 문서를 참고하시면 자세한 내용을 확인하실 수 있습니다.

더 궁금한 점이 있으시면 언제든지 물어보세요!

sweetstar100님의 프로필 이미지
sweetstar100

작성한 질문수

질문하기