Dandy Now!
  • [Linux] 생활코딩 리눅스 : 다운로드, 파이프, IO Redirection, shell & kernal, shell script
    2024년 04월 03일 09시 10분 20초에 업로드 된 글입니다.
    작성자: DandyNow
    728x90
    반응형

    1. 다운로드

    ✔️ 출처 : https://opentutorials.org/module/1588/12591

    1.1. wget

    root@(생략):/# wget -O image_sample.png https://(이미지 URL)/image_sample.png		# image_sample.png라는 파일명으로 현재 경로에 다운로드

     

    1.2. git

    root@(생략):/# git clone https://github.com/facebook/react.git react_src		# react_src 폴더에 리액트 소스 코드 클론

     

    2. 파이프

    ✔️ 출처 : https://www.opentutorials.org/course/2598/14190

    파이프(|)를 이용해 앞선 명령어의 출력을 이용한다.

    root@(생략):/# grep CLI linux.txt			# linux.txt 내에서 CLI 키워드가 있는 행을 찾는다.
    root@(생략):/# ls --help | grep sort			# ls --help에서 출력되는 내용 중에서 sort 키워드가 있는 행을 찾는다.
    root@(생략):/# ls --help | grep sort | grep file	# ls --help에서 출력되는 내용 중에서 sort 키워드가 있는 행 중 file 키워드가 있는 행을 찾는다.

     

    3. IO Redirection

    ✔️ 출처 : https://www.opentutorials.org/course/2598/14199

    ">"를 이용해서 모니터에 출력되는 결과를 리다이렉션 해서 파일에 저장(덮어쓰기)한다.

    root@(생략):/# ls -l > result.txt		# ls -l 출력 결과를 result.txt 파일로 저장
    root@(생략):/# ls -l 1> result.txt		# 상동
    root@(생략):/# rm result2.txt 2> error.log		# 에러 로그를 error.log 파일로 저장
    root@(생략):/# rm result2.txt 1> result.txt 2> error.log		# 실행 결과 result.txt에 저장, 에러 발생시 error.log에 저장
    root@(생략):/# head -n3 nohup.out > one.txt		# nohup.out의 첫 3줄을 one.txt 파일로 저장
    root@(생략):/# ls -al > /dev/null		# /dev/null은 리눅스에서 휴지통 같은 개념. 출력 결과가 버려짐

    😉 ">>"는 출력결과를 기존 파일에 추가한다.

     

    4. shell & kernel

    ✔️ 출처 : https://www.opentutorials.org/course/2598/14203

    shell과 kernel은 분리되어 있다. kernel은 하드웨어 제어하고, shell은 kernel에 명령을 전달한다. shell은 다양한 종류가 있다(bash, zsh ).

    root@(생략):/# echo $0		# echo는 따라오는 내용을 화면에 출력한다. $0는 현재 shell을 의미한다.
    -bash

     

    5. shell script

    ✔️ 출처 : https://www.opentutorials.org/course/2598/14204

    쉘 스크립트는 리눅스와 유닉스 기반 시스템에서 사용되는 스크립트 언어이다. 텍스트 기반의 명령어를 사용하여 시스템 작업을 자동화한다. 쉘 스크립트는 파일로 저장되며, 실행 가능한 권한을 갖추어야 한다.

    5.1. nano로 backup 파일을 작성한다.

    root@(생략):/# nano backup

     

    5.2. backup 파일에 작성하는 스크립트는 다음과 같다.

    if ! [ -d bak ]; then
            mkdir bak
    fi
    cp *.log bak

     

    1. -d는 디렉터리를 말하며 bak 디렉터리가 존재하지 않으면 then 아래의 명령어인 mkdir bak를 실행한다.
    2. fi는 if 블록을 닫는 용도이다.
    3. 마지막으로 cp 명령어를 실행한다.

     

    5.3. 실행 권한 부여

    생성한 backup 파일에 실행 권한을 부여한다.

    root@(생략):/# chmod +x backup

     

    5.4. 실행

    root@(실행):/# ./backup

     

    6. 프로세스

    ✔️ 출처 : https://www.opentutorials.org/course/2598/14210

    프로세스는 메모리에 올라간 프로그램이며 프로세서(CPU)가 처리한다.

    6.1. 프로세스 확인

    root@(생략):~# ps aux | grep java	# 실행 중인 자바 프로세스 확인

     

    6.2. htop을 이용한 확인

    😉 htop 설치 방법 : https://postforty.tistory.com/449

    [그림 1] htop 실행 화면

    • 0~15는 CPU 코어수를 말한다.
    • Load average의 숫자는 CPU 부하 평균을 말하며 왼쪽부터 1분, 5분, 15분이다. 싱글 코어라면 1.0이고 CPU 전체 부하율이 100%라는 뜻이다. 최대치를 넘을 수도 있는데 불특정 프로세스가 CPU를 점유하기 위해 대기 중이라는 뜻이다.
    • 초록색의 각 컬럼 헤드를 클릭하면 해당 칼럼을 기준으로 오름차순/내림차순 정렬을 할 수 있다.

     

    728x90
    반응형
    댓글