"<>"은(는) 무슨 뜻인가요?

"<>"은(는) 무슨 뜻인가요?

리디렉션을 이해하는 데 어려움을 겪고 있습니다. exec <>를 Linux 명령으로 사용하는 방법과 그 의미는 무엇입니까? 예를 들어 설명해 주실 수 있나요?

답변1

리디렉션 <>연산자는 읽기 및 쓰기를 위해 오른쪽에 있는 단어로 지정된 파일을 엽니다. 왼쪽에 있는 파일 설명자 번호(이 번호가 생략된 경우 대부분의 쉘에서는 0)가 파일에 연결됩니다.

예:

$ echo Hello >file

Hello파일 에 문자열을 쓰고 그 뒤에 개행 문자가 옵니다.

$ { read -r message <&3; printf 'Got "%s"\n' "$message"; echo Good bye >&3; } 3<>file
Got "Hello"

그러면 파일 설명자 3에서 읽고 쓰기 위해 파일이 열립니다. 파일 설명자 3에서 문자열을 읽고 터미널에 인쇄합니다. 그런 다음 동일한 파일 설명자에 새 문자열이 기록됩니다.

$ cat file
Hello
Good bye

이제 파일에는 이전 명령에서 작성한 추가 문자열이 포함됩니다. 문자열은 Hello파일에 쓸 때 파일 포인터가 있는 곳이기 때문에 개행 문자 뒤에 삽입됩니다 . 나중에 파일에 더 많은 데이터가 있으면 Hello문자열 Good bye이 일부 데이터를 덮어씁니다.

답변2

이해하려고 노력 해봐 cat.

cat평소대로 사용할 수 있습니다 .

cat > somefilecontrol+d이제 일부 입력을 작성할 수 있으며 입력이 완료된 후리디렉션>운영자 와 함께일부 파일.

지금 시도해보세요:

cat <> somefile

cat이전과 동일한 작업을 수행합니다.

하지만 입력이 없을 것입니다일부 파일.

지금 시도해보세요:

cat <(echo "hello world")> somefile

이제 약간의 입력이 있을 것입니다.일부 파일리디렉션 연산자를 광범위하게 활용하세요.

관련 정보