Linux

Linux 리다이렉션 & 파이프

5_jinseok12 2018. 1. 24. 10:36
728x90

리다이렉션 & 파이프

 

하드디스크를 복구하는 것은 끊어져있는 파일과 데이터를 연결시켜주는것이다.

즉, 삭제는 데이터를 없애는게 아니라 관련 링크를 끊어주는 것이다,

모든파일은 하나의 하드링크를 가지고 있다.

 

Redirection & Pipe

파일 디스크립터 / 파일 기술자(File Discriptior, FD)

- 리눅스의 모든 파일을 커널이 관리하는 방식

(1) 명령어를 사용한다 == 프로그램을 실행한다

(2) 프로그램을 실행한다 == 실행파일을 실행한다

(3) 파일을 실행한다 == 파일을 열여야한다(Open)

 

프로그램이 실행되면 프로세스 단위로 처리가 되어야 하는데 이 때 해당 프로세스를

처리하기 위한 입력과 출력의 통로 역할을 하는 것이 파일 디스크립터이다.

 

Redirection

- 표준 출력의 방향을 재지정한다.

- 출력 리다이렉션

#명령어 1>[파일명]

ex) ls 1(모니터 표준입력) >ls_test (파일로 바꾼다)

 

 

 

 

파일은 inode 라고 하는 파일명을 제외한 모든 정보를 가지고 있는 구조체와 연결되어 있으며 외부적으로는 번호로 표시된다.

 

date의 정보가 date_test 안으로 들어간 것을 사진을 통하여 확인할 수 있다.

명령어 1>[파일명] : 명령어가 파일명안에 들어간다.

 

ls -l의 정보가 ls_test1 으로 들어간것을 #cat ls_test1 을 통해 알수있다.

 

 

#date는 날짜와 시간을 나타낸다.

file-1 안에 들어간 것을 #cat file-1을 통해 확인 가능.

> 는 덮어쓰기 기능을 가지고 있다.

여기서 ls 1> file-1 을 입력하여 덮어쓰여진 file-1에 한번 더 덮어써봤다.

그랬더니 전에 덮어썼던 date는 사라졌고 ls 에 관한 정보만 file-1에 들어가있다.

 

 

 

위 사진을 통해 date의 정보가 사라진 것을 확인할 수 있다.

즉 date의 정보가 없어지고 ls 의 정보가 들어온 것이다

 

 

추가 리다이렉션

# 명령어 >>[파일]

   기존에 파일의 내용은 유지가 되고 새로운 내용이 하단에 추가되는 형태.

   위에 입력한 것부터 순서대로 추가된다.

 

> : 덮어쓰기 기능

>>: 추가 기능

file-2 에는 date , ls , date의 정보가 차례대로 들어가 있다.

#cat file-2 를 통해 확인.

 

입력 리다이렉션

#명령어 < [파일]

  표준 입력을 의미하는 0은 생략이 가능하다.

cat이라는 프로그램에게 입력 값으로 파일을 전달한다.

 

 

 

 

#명령어 2>[파일] : 오류난 것을 파일에 집어넣는다.

표준 오류 fd/2

 

 

/dev/null

- null (아무 내용이 없다)

- /dev/null 항상 아무 내용이 없는 null 상태를 유지하고 있는 파일

- 해당 파이로 들어간 데이터는 모두 사라진다

- 블랙홀같은 개념이다. windows로 따지자면 쓰레기통 개념이다.

 

파이프(Pipe) 기호 : (\+shift )

프로세스의 입/출력을 다음 프로세스에게 전달하는 방법

ex) #cat /etc/services   //화면에 전달하는 방법

    #cat /etc/services   // 프로그램이 동작했을 때 나오는 명령어의 출력결과를

 // 파이프를 통해 들어가고 다음 명령어에 입력으로 들어간다.

 

 

전체 ls -l의 출력 내용

 

$ls -l | grep "^d-"  :  디렉토리 파일들만 나타내라 라는 의미이다. 

즉 전체 ls -l의 내용들 중에 디렉토리 파일만 출력한다.

 

 

$ls -l | grep "d-" | wc -l  : 디렉토리의 개수

wc -l : 행의 개수를 알려준다. 총 디렉토리가 27개임을 알 수 있다.

 

 

디렉토리와 마찬가지로 링크파일민 나타낸다.

 


  #ls -l | grep "^-" | wc -l  :  파일의 개수를 나타낸다 총 15개임을 알 수 있다,

 


  /etc/services 파일의 udp가 들어간내용의 마지막 3줄만 출력

반응형

'Linux' 카테고리의 다른 글

Linux 사용자 계정 관리  (0) 2018.01.25
Linux vi 모드  (0) 2018.01.24
Linux grep 명령어  (0) 2018.01.17
Linux 기본 명령어  (0) 2018.01.16
Linux Xshell의 기능  (1) 2018.01.15