입출력을 파일로 전달하는 것을 리다이렉트
다른 명령어 입출력으로 전환하는 것을 파이프라고 한다.
리다이렉트
명령어에 입력할 양이 많거나 출력한 결과를 파일로 저장하고 싶을 때 표준 입력 또는 표준 출력을 파일로 전환한다.
이때 사용하는 것이 리다이렉트(<,>) 라고 한다.
표준 출력
" > " : 표준 출력을 파일로 전환 / 출력을 저장할 파일 이름을 ">" 뒤에 지정
리다이렉트 기호 ">"를 사용했을 때 지정한 파일이 이미 존재하면 덮어쓰기한다.
덮어쓰기가 아니라 파일 끝에 추가하고 싶으면 리다이렉트 기호 ">>"를 사용한다.
ex) echo "I'm korean" > file.txt ( 덮어쓰기)
ex) echo "Name is Kim" >> file.txt (파일 끝 추가하기)
표준 입력
" < " : 표준 출력을 파일로 전환 / 입력할 파일은 "<" 뒤에 지정
ex) cat < file.txt ( 덮어쓰기)
표준 에러 출력
"2>" : 표준 에러를 파일로 전환 / 표준 에러 출력할 파일은 "2> 뒤에 지정
ex)
ls 2>
/dev/null
/dev/null : 에러 출력을 해당 디렉토리에 보낸다. 휴지통이라 생각하면 된다.
2>&1 : 표준 오류를 표준 출력으로 리다이렉트
&> : 표준 출력 및 표준 오류를 함께 리다이렉트
파이프 (|)
파이프는 한 명령어의 표준 출력을 다른 명령어의 표준 입력으로 전달합니다. 이는 두 명령어를 연결하여 하나의 명령어의 출력을 다른 명령어의 입력으로 사용할 때 유용합니다.
표준 출력 파이프(|)
ex) cat file.txt | grep "banana"
이 명령은 file.txt의 내용 중 "banana"라는 문자열을 포함하는 줄을 검색하여 출력합니다.
표준 입력 파이프(|)
ex) echo "banana" | wc -w
이 명령은 "banana"의 단어 수를 출력합니다. 여기서 echo 명령어의 출력이 wc -w의 입력으로 전달됩니다.
임베디드 시스템에서 gpio exporting하여 gpio를 제어한다.
이를 위해 echo 리다이렉트를 이용한다.
1. exporting echo X >/sys/class/gpio/export
X 에는 GPIO 접근 번호를 넣는다.
gpio 접근번호 = ( gpio group number -1 ) * 32 + gpio 번호
그러면 direction, value 생성된다.
2. direction 에 "out" 이나 "in" 을 넣어 gpio 를 출력 또는 입력 모드로 설정 할 수 있다.
- 출력 설정
]#echo "out" > /sys/class/gpio/direction
- 입력 설정
]#echo "in" > /sys/class/gpio/direction
3. 값 입출력은 value 를 이용한다.
- 출력
]#echo 0 >/sys/class/gpio/value
- 입력
]#cat /sys/class/gpio/value
'리눅스 > 임베디드 리눅스' 카테고리의 다른 글
pthread API (0) | 2024.10.25 |
---|---|
리눅스 디렉토리 구조[1] (0) | 2024.08.19 |
파일을 이용한 동기화 (0) | 2024.08.13 |
저수준 OpenAPI (0) | 2024.08.13 |