리눅스의 기본적인 개념으로 생각된다.
그 이유는 운영체제에서 사용자와 소통하고 프로세스와 운영체제가 소통하기 위한 입출력 방법을 파일로 만들었다는 것에 놀라움을 금치 않을 수 없었다.
표준 스트림에 대한 개념이 이해가 잘 가지 않았으나, 직접 그 장치들과 프로세스의 표준 스트림 파일을 확인하고 나서야 놀라우면서도 진짜 여기 있네? 라면 웃으며 이해가 되었다.
그런데
/dev/stdin | /proc/self/fd/0 | /dev/pts/0 |
---|
이것들이 링크? 된다는 것은 무엇인지 좀 더 검색이 필요할 것 같다.
- 2/13 추가내용
As you can see by ls command,/dev/stdin
is a link to/proc/self/fd/0
(at least in case of Debian). And/proc/self/fd/0
is a link to/dev/pts/0
. So/dev/stdin
is not directly a link to/dev/pts/0
. It is a link to the descriptor, and the descriptor is a link to/dev/pts/0
ls 명령으로 볼 수 있듯이,/dev/stdin
은/proc/self/fd/0
에 대한 링크입니다.
그리고,/proc/self/fd/0
은/dev/pts/0
에 대한 링크입니다.
따라서,/dev/stdin
은/dev/pts/0
에 대한 직접 링크가 아닙니다.
설명자에 대한 링크이며, 설명자는/dev/pts/0
에 대한 링크입니다.
출처 : 참고 링크
- 파일 설명자 (file descriptor)
In Unix and Unix-like computer operating systems, a file descriptor (FD, less frequently fildes) is a unique identifier (handle) for a file or other input/output resource, such as a pipe or network socket.
Unix 또는 Unix계열 운영체제에서 파일 설명자는
파일 또는 기타 입출력 리소스의 경우, 파이프 또는 네트워크 소켓과 같은 고유 식별자입니다.
출처 : 위키디피아
가져와서 추리고 파일로 저장하고 .. 여러개의 파이프 조합하는...
2/13 추가내용
~$ sort record.txt | uniq
record.txt의 내용을 정렬(sort)하고 중복 없는(uniq) 값을 출력한다.
~$ cat sample2.txt | head -7 | tail -5
sample2.txt에서 첫 7줄 마지막 5줄을 출력한다.예제 1
~$ ls -l | find ./ -type f -name "*.txt" -exec grep "program" {} \; | more
ls -l
를 실행 후find
로 찾은 텍스트를more
로 출력한다.예제 2
~$ cat result.txt | grep "Rajat Dua" | tee file2.txt | wc -l
cat
으로 result.txt를 표준출력 |grep
으로 "Rajat Dua"를 선택 |tee
으로 file2.txt에 저장 |wc -l
로 총 줄 수를 출력한다.이처럼 명령에 대한 출력을 다음 명령에 입력으로 전달하는 것이 파이프(
|
)이다.
터미널 병렬실행? || 와 && 으로 다음 리다이렉션을 실행한다.
참고 링크를 통해 복습하자!
이것은 옛날에 AOS 커널/롬을 다루면서 이미 이해를 했었던 내용들이라 너무나 익숙하므로 이해가 쉬웠다.
맨 앞 단어가 파일(-), 디렉토리(d)가 아닌 다른 단어는 무엇인가?
주말은 몰랐던 것들, 새로운 것을 찾고 정리하며, 보충 학습을 하자!