고양이와 파이프 및 리디렉션

고양이와 파이프 및 리디렉션

이 두 명령의 차이점은 무엇입니까?

cat /proc/uptime | awk '{print $1}'

< /proc/uptime awk '{print $1}'

구체적으로 두 번째 명령은 어떻게 작동하나요? 리디렉션 연산자에는 <명령이 있어야 하지 않나요? 이와 같이 파일의 내용을 리디렉션한다는 것은 무엇을 의미합니까?

답변1

일반적으로 foo < bar< bar foobash 스크립트에서는 동일합니다. 쉘에 의해 처리될 때마다 < filename이는 연관된 명령의 표준 입력이 이 파일에서 나온다는 것을 의미합니다. 추가 명령이나 절차는 포함되지 않습니다. 쉘이 자체적으로 수행합니다.

Run은 cat filename지정된 파일의 내용을 읽고 이를 표준 출력에 씁니다. |두 명령 사이는 왼쪽 명령의 표준 출력을 오른쪽 명령의 표준 입력에 연결하는 것을 의미합니다.

따라서 이 두 명령은 awk에 콘텐츠를 보내는 것과 동일한 효과를 가지지만 /proc/uptime, 첫 번째 방법은 cat이를 수행하기 위해 추가 프로세스를 시작합니다.

관련 정보