본문 바로가기
리눅스/임베디드 리눅스

echo 리다이렉트 정의 및 사용법

by [Akashic Records] 개발의선지자 2024. 11. 13.

입출력을 파일로 전달하는 것을 리다이렉트

다른 명령어 입출력으로 전환하는 것을 파이프라고 한다.

리다이렉트

명령어에 입력할 양이 많거나 출력한 결과를 파일로 저장하고 싶을 때 표준 입력 또는 표준 출력을 파일로 전환한다.
이때 사용하는 것이 리다이렉트(<,>) 라고 한다.

 

표준 출력 
" > " : 표준 출력을 파일로 전환 /  출력을 저장할 파일 이름을 ">" 뒤에 지정

리다이렉트 기호 ">"를 사용했을 때 지정한 파일이 이미 존재하면 덮어쓰기한다.

덮어쓰기가 아니라 파일 끝에 추가하고 싶으면 리다이렉트 기호 ">>"를 사용한다.

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