본문 바로가기
Linux

[Linux 기초] 생활 코딩 Linux 강의 정리 2

by _avocado_ 2021. 1. 12.

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 : 이 디렉토리에 있는 파일은 어디에서 실행해도 사용할 수 있다. (환경변수) 

댓글