Linux를 처음 사용하므로 두 명령에 대한 몇 가지 개념을 이해해야 합니다. 과정을 하나씩 설명해 주시면 정말 감사하겠습니다.
이 명령은 무엇을 합니까?
cat ../test
이 명령은 무엇을 합니까?
cat /etc/shadow 2>&1 | wc -l
감사합니다!
답변1
"../"는 상위 디렉토리입니다.
따라서 "cat ../test"는 "상위 디렉터리에 있는 'test' 파일을 표준 출력으로 인쇄합니다."를 의미합니다.
두 번째 질문:
모든 Linux(및 Unix) 프로세스에는 3개의 표준 파일이 있습니다.
파일 0이 입력(stdin)입니다.
파일 1은 일반 출력(stdout)입니다.
파일 2는 오류 출력(stderr)입니다.
2&>1은 "오류 출력을 표준 출력으로 전송"을 의미합니다.
파이프 |는 "다른 프로그램의 입력으로 파이프 출력"을 의미합니다.
전체 행은 "/etc/shadow의 행 수를 계산하고 표시합니다(있는 경우 오류 메시지 포함).
답변2
아마도 이 명령이 무엇인지 알고 있을 것 cat
입니다. 페이지 man
에는 다음과 같이 명시되어 있습니다.
cat - 파일을 연결하고 표준 출력으로 인쇄
../
현재 작업 디렉터리의 상위 디렉터리를 나타냅니다. 따라서 test
해당 위치에서 파일이 호출 되면 cat
명령이 해당 파일을 터미널에 인쇄합니다.
/etc/shadow
두 번째 예에서는 (액세스 권한이 있는 경우) 내용이 명령이 piped
됩니다 .wc
wc - 각 파일의 줄 바꿈, 단어 및 바이트 수를 인쇄합니다.
-l, --lines: 줄 바꿈 횟수를 인쇄합니다.
그러면 터미널의 줄 수 /etc/shadow
(내용이 아닌 줄 수만 인쇄됨)가 인쇄됩니다. 이 2>&1
기호는 파일 설명자 2(표준 오류)를 파일 설명자 1(표준 출력)로 리디렉션합니다.