본문 바로가기
ubuntu

[ubuntu] 표준 입출력과 리디렉션으로 파일 만들기

by 코코아kokoa 2020. 5. 22.
리눅스 표준 입출력
  • 리눅스에서 명령어로 실행되는 프로세스는 <표준 입력 스트림 stdin stream>, <표준 출력 스트림 stdout stream>, <표준 에러 스트림 stderror stream> 등을 가지고 있다.
  • 기본적으로 명령어 실행으로 발생하는 모든 스트림은 plain text 로 콘솔 모니터에 출력된다.
  • 리디렉션 redirection 은 이러한 표준 입출력 스트림의 방향을 바꾸는데 사용한다.

  • 리디렉션 기호는 명령어와 결합하여 다음과 같이 사용한다.
> 명령어 > 파일명 명령어의 결과를 파일로 저장
>> 명령어 >> 파일명 명령어의 결과를 기존 파일에 추가
< 명령어 < 파일명 파일의 데이타를 명령에 입력

 

  • 기타 리디렉션과 파이프, 파일 디스크립터 등을 결합한 사용방법은 따로 연구해본다. 

 

https://jdm.kr/blog/74

 

리눅스 리다이렉션 & 파이프(Linux redirection & pipe) :: JDM's Blog

이번엔 리눅스에서 리다이렉션(Redirection)과 파이프(pipe)에 대해 알아보고자 합니다. 리눅스 리다이렉션(Linux Redirection) 리다이렉션은 표준 스트림standard stream의 흐름을 바꿔줍니다. 리눅스에서 리

jdm.kr

 

 

 

echo 명령어와 리디렉션을 사용하여 문자열/텍스트 파일 만들기
  • echo 명령어는 인수로 넘겨준 문자열/텍스트를 화면에 출력하는 명령어이다. (메아리로 생각하면 됨)
  • 사용법 : echo [옵션] 문자열/텍스트
  • 옵션 -n : 줄을 바꾸지 않고 출력
  • 옵션 -e : 백슬래쉬 '\'와 조합한 특수문자를 인식 (자세한 내용은 이 블로그 참조)
  • 따라서, echo 명령어와 리디렉션 '>' 기호를 함께 사용하면 텍스트 파일을 만들 수 있다. 
//#1. echo 명령어 및 리디렉션으로 hello.txt 를 만든다. 
...$ cd ~
~$ mkdir -p foo/bar
~$ cd foo/bar
~/foo/bar$ echo "hello baz" > hello.txt 
~/foo/bar$ cat hello.txt 
hello baz 

//#2. cat 명령어 및 리디렉션으로 hello.txt 의 내용을 hello2.txt로 복사한다. 
~/foo/bar$ cat hello.txt > hello2.txt 
~/foo/bar$ cat hello2.txt 
hello baz 

//#3. echo 명령어 및 리디렉션으로 hello.txt 에 내용을 추가한다. 
~/foo/bar$ echo "hello baz again" >> hello.txt 
~/foo/bar$ cat hello.txt 
hello baz 
hello baz again 

//#4. cat 명령어 및 리디렉션으로 hello.txt 의 내용을 hello2.txt 에 추가한다. 
~/foo/bar$ cat hello.txt >> hello2.txt 
~/foo/bar$ cat hello2.txt 
hello baz 
hello baz 
hello baz again 

//#5. 지금까지 만들어진 파일은 다음과 같다. 
~/foo/bar$ ls -al 
total 16 
drwxrwxr-x 2 kokoa kokoa 4096 May 20 12:12 . 
drwxrwxr-x 7 kokoa kokoa 4096 May 20 06:48 .. 
-rw-rw-r-- 1 kokoa kokoa 36 May 20 12:33 hello2.txt 
-rw-rw-r-- 1 kokoa kokoa 26 May 20 12:23 hello.txt 
~/foo/bar$ tree 
. 
├── hello2.txt 
└── hello.txt 0 directories, 2 files

 

 

 

'ubuntu' 카테고리의 다른 글

[ubuntu] apt-get, apt 패키지 매니저  (0) 2020.05.22