✅ 리다이렉션(Redirection)
리다이렉션은 표준 스트림의 흐름을 바꿉니다.
리다이렉션을 사용하면 각 스트림의 방향을 지정할 수 있습니다.
종류 | 기호 | 사용방법 | 설명 |
---|
출력(덮어쓰기) | > | 명령어 > 파일 | 도착 지점을 파일로 설정(덮어쓰기) |
출력(추가) | >> | 명령어 >> 파일 | 도착 지점에 내용 추가 |
표준 입력 | < | 명령어 < 파일 | 파일로부터 입력받음 |
✅ 파이프(Pipe)
리다이렉션은 프로세스의 입력이나 파일로 사용하는 것이지만, 파이프는 서로 다른 프로세스간 사용하는 것 입니다.
- 특수기호
|
를 사용합니다.
A|B
형태로 사용합니다. (A커맨드의 표준 출력을 B커맨드의 표준 입력으로 사용)
✅ 포그라운드와 백그라운드
- 포그라운드
- 입력한 명령어 실행이 결과가 나올 때까지 기다리는 방식입니다.
- 명령어를 입력하면 해당 명령어가 완료될 때까지 다음 명령어를 실행할 수 없습니다.
- 백그라운드
- 프로세스가 실행되는 동안 다른 프로세스를 실행 가능합니다.(하나의 쉘에서 여러 개의 프로세스를 동시에 실행하는 방식)
- 명령어를 입력하면 바로 다음 명령어를 실행할 수 있습니다.
✅ 하드링크와 소프트링크
- 소프트링크
- 쉽게 말하자면 바로가기 링크 입니다.
- 예를 들면 바탕화면에 바로가기 버튼을 만들면 클릭 시 바로 가지만, 이 파일을 삭제한다고 해서 원본 파일이 삭제되지는 않습니다.
- 하드링크
- 하드링크는 파일이 같은 inode를 가지기 때문에, 하나를 삭제해도 괜찮습니다.
- ln을 이용하면 하드링크로 생성됩니다.