이 두 명령의 차이점은 무엇입니까?
cat /proc/uptime | awk '{print $1}'
< /proc/uptime awk '{print $1}'
구체적으로 두 번째 명령은 어떻게 작동하나요? 리디렉션 연산자에는 <
명령이 있어야 하지 않나요? 이와 같이 파일의 내용을 리디렉션한다는 것은 무엇을 의미합니까?
답변1
일반적으로 foo < bar
및 < bar foo
bash 스크립트에서는 동일합니다. 쉘에 의해 처리될 때마다 < filename
이는 연관된 명령의 표준 입력이 이 파일에서 나온다는 것을 의미합니다. 추가 명령이나 절차는 포함되지 않습니다. 쉘이 자체적으로 수행합니다.
Run은 cat filename
지정된 파일의 내용을 읽고 이를 표준 출력에 씁니다. |
두 명령 사이는 왼쪽 명령의 표준 출력을 오른쪽 명령의 표준 입력에 연결하는 것을 의미합니다.
따라서 이 두 명령은 awk에 콘텐츠를 보내는 것과 동일한 효과를 가지지만 /proc/uptime
, 첫 번째 방법은 cat
이를 수행하기 위해 추가 프로세스를 시작합니다.