안녕하세요. 이번 시간에는 /dev/null 2>&1의 의미를 알아보겠습니다. 이 글을 읽기 전에 파일 디스크립터와 dup2 함수 등에 대한 개념을 잡고 오시면 조금 더 편할 듯 싶습니다. [관련글] 파일 디스크립터와 관련된 dup2 함수에 대해 알아봅시다. 먼저 0, 1, 2는 표준 입력인 stdin, 표준 출력인 stdout, 에러 stderr를 뜻하는 것은 알고 계실 겁니다. 다 터미널과 연관이 되어 있습니다. 따로 파일 디스크립터가 다른 것을 가리키게 하지 않는 (dup2나 dup 등을 이용해서) 이상은요. 파일 디스크립터 (fd)는 프로세스마다 독립적으로 가지고 있는 자원 중 하나입니다. 먼저, cat 2.txt는 2.txt의 내용을 출력해 줍니다. 만약에 없으면 No such file or d..
명령어 검색 결과
리눅스에서 파일 줄 수를 셀 때 wc 명령어를 이용하면 됩니다. 예를 들어 파일 1의 줄 수를 세기 위해서는 cat 1 | wc -l을 입력하시면 됩니다. 이는 1의 내용을 출력한 결과를 piping 해서 wc -l에 넘기는데요. "abc\ndef"가 저장이 되어 있었다면, "abc\ndef"가 wc -l의 입력으로 넘어가게 됩니다. 당연하게도, 2개의 줄이 있으니, 2가 출력됩니다. 윈도우 cmd에서는 조금 복잡한데요. 간단하게 알아봅시다. 제 문서. 즉 C:\Users\chokw에 있는 1.txt에 있는 특수 문자들을 보도록 하겠습니다. notepad++을 쓰고 있다면, 보기에서 기호 보기에서 특수 문자 표시에 체크해 줍니다. 그러면, CR LF가 뜨게 되는데요. 캐리지 리턴인 \r와 개행 문자인 \..
리눅스에 있는 head 명령어에 대해 알아봅시다. 문제는 표준 출력으로 특정한 소스 파일들의 맨 마지막 줄만 제외하고 이어서 출력하라는 것입니다. man 페이지에서는, 기본적으로 파일에 있는 처음 10개 줄을 출력한다고 되어 있습니다. 10개 줄보다 적다면, 당연하게도 파일의 줄 수만큼 출력할 겁니다. file name은 여러 개 올 수 있습니다. 예를 들어 1.txt, 2.c와 같은 것들입니다. 옵션을 보니, 문제 상황에 맞아 떨어지는 것은 -c나 -n인 듯 싶습니다. 문제는 line과 관련된 것이므로, -n이나 --lines를 주면 좋겠네요. 여기서 [-]NUM이라는 것이 있는데, 앞에 -가 붙으면, 마지막 NUM개의 line을 제외하고 출력합니다. 예를 들어, 파일이 11개의 줄로 이루어져 있고 -..
최근댓글