IO Redirection
output의 방향 바꾸기
- 기본적으로 결과를 출력하는 방향이 있다.
- ex) ls : 쉘화면에 보여줌
- ls 결과를 파일로 만들어 저장할 수 있다.(redirection)
2가지 output : 1. 실행결과(정상적으로 명령 실행시)
2. error (잘못된 명령 실행시)
Redirection 방법
명령어 > 원하는 출력 방향 (정상적인 결과 '>' or '1>' / 에러 '2>)
ex1) ls -l 결과를 result.txt 파일로 저장하기
ls -l > result.txt
ex2) 에러를 error.log 파일로 저장하기
ls -l 2> error.log
ex3) 정상적인 결과는 result.txt에 에러가 난 경우 에러는 error.log에 저장하기
ls -l 1> result.txt 2> error.log
input의 방향 바꾸기
명령어 < input(키보드로 입력하는 standard input 대신 파일등을 입력)
ex) cat 는 실행 후 입력된 값을 출력한다.
cat에서 text.txt 파일을 출력하고 싶은 경우
cat < text.txt
※ input redirection의 효율성이 떨어지는 이유
위 예시를 그냥 cat text.txt처럼 커멘드라인으로 넣어도 같은 결과를 출력한다.
◎ Redirection 부가 기능
'>' : 출력을 새로 저장함 (덮어쓰기)
'>>' : 출력을 붙여서 저장함 (이어붙임)
'<< 특정단어' : 입력을 여러개 입력(키보드로) 특정단어를 입력시 종료
출력위치 /dev/null (ex ls -l > /dex/null) : 결과를 어디에도 출력하지 않음
Shell Script
- 프로그램 처럼 여러 명령을 모아 한번에 실행시킴
- ex) bak 디렉토리가 없다면 만들고 .log 파일을 복사하여라
- (지금 문법은 이해 못해도 괜찮다)
#!/bin/bash
if ! [ -d bak ]; then
mkdir bak
fi
cp *.log bak
위 파일을 backup 이라는 파일로 만들고 실행시키면 원하는 결과가 나온다.
파일 찾기
1. locate
locate 파일이름 : 파일을 찾아줌
locate 특징 : 직접 디렉토리에서 찾는 것이 아닌 파일이름을 보관하는 DB(mlocate)에서 찾는다 (빠르다.)
sudo updatedb : mlocate를 최신화(주기적으로 해줘야함)
2. find
find 디렉토리 파일이름 : 직접 디렉토리에서 찾는다.
- 다양한 사용법이 있다. 35가지 예제 : 링크
ex) *.log 파일을 home 디렉토리에서 찾기
find ~ -name '*.log'
패턴을 입력할 때 ''를 해주어야함 (우분투 20.04)
3. whereis
실행파일 찾기
파일의 종류
1. 데이터 파일 : 데이터를 저장하고 있는 파일
2. 실행 파일 : binary, source 파일 (ls처럼)
whereis 실행파일이름 : $PATH에 있는 실행파일을 찾는다.
$PATH : 이 디렉토리에 있는 파일은 어디에서 실행해도 사용할 수 있다. (환경변수)
'Linux' 카테고리의 다른 글
[Linux 기초] 생활 코딩 Linux 강의 정리 4 (0) | 2021.01.13 |
---|---|
[Linux 기초] 생활 코딩 Linux 강의 정리 3 (0) | 2021.01.13 |
[ Linux ] shell 언어 설정 (영어로 바꾸기) (0) | 2021.01.12 |
[Linux] dpkg locked by another process 에러 (0) | 2021.01.12 |
[Linux 기초] 생활 코딩 Linux 강의 정리 1 (0) | 2021.01.10 |
댓글