본문 바로가기
Linux

Linux Basic Command - 2

by 개폰지밥 2019. 3. 5.
반응형

★ tail

1) 개요

리눅스 파일 끝부분 보기 tail

/usr/bin/tail

문서 파일이나 지정된 데이터의 마지막 몇 줄을 보여주는 리눅스 명령어

2) 기본 기능

명령어

tail 파일명

→ 파일의 끝부분 10개행을 보여준다.

tail 파일명 -n숫자

→ 숫자만큼 파일의 끝부분 행을 보여준다.

3)실시간 로그 감시: -f 옵션을 주면 한번만 파일을 읽고 끝내는 것이 아니라 계속 모니터링한다. 주로 실시간으로 로그가 쌓이는 것을 확인하는 용도로 많이 사용한다. 종료는 Ctrl+C

★ Eof

end-of-file, end of file; EOF

l 파일 끝

l 데이터 소스로부터 더 이상 읽을 수 있는 데이터가 없음을 나타내는 값(코드)

★ Stty

터미널 라인 설정을 변화/출력한다. 아무런 인수도 주어지지 않으면, stty 은 보드율(baud), 회선 제어 번호( 지원하는 시스템에서만 ), `stty sane' 으로부터 변화한 회선 설정값들을 보여준다. 모드 읽기/설정은 표준입력이 연결되어 있는 tty 회선에서 이루어진다.

<mgicdb-20181207.tar.gz에 있는 내용>

stty 유틸리티를 사용하여 현재 사용중인 터미널의 설정을 변경할 수 있다.

명령 형식: stty [-a]

★ $0

명령 라인에서 실행 시 쉘명

스크립트에서 실행 시 실행된 쉘 스크립트 경로를 포함한 파일명

★ Base 64

8비트 이진 데이터(예를 들어 실행 파일이나, ZIP 파일 등)를 문자 코드에 영향을 받지 않는 공통 ASCII 영역의 문자들로만 이루어진 일련의 문자열로 바꾸는 인코딩 방식을 가리키는 개념이다.

원래 Base 64를 글자 그대로 번역하여 보면 64진법이란 뜻이다.

★ ldconfig[동적 링크 설정]

공유 라이브러리 캐시를 재 설정하는 명령어

사용법: ldconfig [옵션] 디렉토리

라이브러리란 시스템에서 프로그램을 직접 컴파일 할 때 프로그램에서 공통으로 사용하는 기능을 미리 모아 놓은 파일이다. 프로그램은 직접 하나 하나의 기능을 제작하는 대신, 이미 존재하는 라이브러리의 기능을 활용한다. 이것을 동적 링크 프로그램이라 부른다. 또한 컴파일 할 때 자체 라이브러리를 사용하는 것을 정적 링크 프로그램이라 한다.

ldconfig는 runtime때 여러 위치에 존재하는 share object, 쉽게 말해 동적 라이브러리를 연결해주는 dynamic linker의 설정프로그램이다. 여기서 runtime dynamic linker는 /lib/ld.so를 말하는 겁니다. 어떤 share object가 필요한지는 실행파일이 말해줍니다.

ld.so.conf

라이브러리 Path 설정(윈도우에서는 환경변수)이 필요한 경우

1) vi /etc/ld.so.conf

2) 해당 라이브러리 파일이 있는 경로 삽입 후 문서 저장

3) ldconfig 명령을 통해 적용

★ 리눅스 ln

/bin/ln

링크 생성 리눅스 명령어

2 명령어[편집]

하드 링크 생성

ln 원본 링크파일

심볼릭 링크 생성

ln -s 원본 링크파일

[옵션]

· --backup[=CONTROL] : 대상파일이 이미 존재할 경우에 백업파일을 만든 후에 링크파일 생성

· -b : 링크파일 생성시에 대상파일이 이미 존재하면 백업파일을 만든 후에 링크파일을 생성

· -d : 디렉토리에 대한 하드링크파일생성을 가능하게 함. 단 root 권한으로 수행하더라도 시스템의 권한제한으로 인하여 실패할 가능성이 높음. (-F 와 --directory 는 -d 와 동일함)

· -f : 대상파일이 존재할 경우에 대상파일을 지우고 링크파일을 생성

· -i : 대상파일이 존재할 경우에 대상파일을 지울것인가를 확인요청 (--interactive 와 동일)

· -s : 심볼릭 링크파일을 생성

· -S : 백업파일 생성시에 원하는 접미사(suffix)를 지정할 수 있음

· -t, --target-directory=DIRECTORY : 링크파일을 생성할 디렉토리를 지정

출처: http://webdir.tistory.com/148 [WEBDIR]

★ Checksum

설치 파일 정상 여부를 확인해준다.

77467540은 체크섬 값이고, 544는 파일 크기이다.

★ 무결성이란?

데이터베이스에 들어 있는 데이터의 정확성을 보장하기 위해 데이터의 변경이나 수정시 제한을 두어 안정성을 저해하는 요소를 막아 데이터 상태들을 항상 옳게 유지하는 것을 의미한다.

★ 특수한 변수 타입

지역 변수: 지역 변수는 코드 블록이나 함수에서만 나타납니다.

환경 변수: 쉘의 동작과 사용자 인터페이스에 영향을 미치는 변수

만약에 스크립트가 환경 변수를 세트하면 그 변수는 “export”되어야 합니다. 즉 그 스크립트에 해당하는 환경으로 보고되어야 한다는 뜻입니다.

명령어줄에서 스크립트로 넘어온 인자들로 $0, $1, $2, $3…. 이런식으로 표현되는데 $0은 스크립트의 이름 그 자체를 나타내고 $1은 첫번째 인자를, $2는 두번째를, $3은 세번째를 나타내는 식입니다. $9 다음의 인자는 ${10}, ${11}, ${12} 처럼 중괄호로 묶어줘야 합니다.

★ 문자열 비교

문자열의 비교는 두 문자열이 같은가 다른가를 비교 합니다. 다음은 문자열 비교시의 형식을 정리하고 있습니다.

구분

의미

[“String1” = ”String2”

두 문자열이 같은 경우

[String1” != “String2”

두 문자열이 다른 경우

[-z “String”]

문자열의 길이가 0인 경우

[-n “String”]

문자열의 길이가 0이 아닌 경우

★ 파일 다루기

조건문은 파일의 상태를 기준으로 올 수 있습니다. 즉, 파일이 존재하고 있는지, 파일의 내용이 있는지, 읽거나 쓰기가 가능한지의 여부를 기준으로 스크립트 파일을 만들 수 있습니다.

구분

의미

[-f 파일명]

파일이 있는 경우

[-s 파일명]

파일이 존재하고 내용이 있는 경우

[-d 파일명]

파일이 아니고 디렉토리인 경우

[-r 파일명]

읽기가 가능한 파일인 경우

[-w 파일명]

쓰기가 가능한 파일인 경우

[-x 파일명]

파일이 존재하고 실행 가능한 경우

[! -옵션 파일명]

옵션의 조건이 아닐 경우

★ 관계 연산자

쉘 스크립트 파일을 작성할 때, and나 or 같은 관계연산자를 사용하면 편리한 경우가 많습니다.

관계연산자

의미

-a

And

-o

or

★ 사용자 정의 함수 형식

함수명()

}

……

}

예를들어 GuGu()라는 구구단을 원하는 단을 인자로 받아들여 출력하는 함수를 만들었으면 3,5,7단을 출력하고 싶으면

GuGu 3

GuGu 5

GuGu 7

입력하면 된다.

★ Case 문

case 변수 in

패턴1)

스크립트;;

패턴2)

스크립트;;

*)

스크립트;;

esac

case문은 변수의 값을 받아들여서, 이 값에 따라 각각 다른 스크립트들을 실행할 때 사용합니다. 리눅스 쉘 스크립트 파일에서 가장 많이 사용되는 조건문이라 할 수 있습니다. 실제로 /etc/rc.d/init.d 디렉토리 안에 있는 대부분의 스크립트 파일들이 case문을 사용하고 있습니다.

사용상 주의할 점은 다음과 같습니다.

1) 패턴의 각 항목을 마칠 때는 ;;를 사용한다.

2) Wildcard(*)를 사용할 경우는 각 패턴의 마지막에 사용한다.

3) ‘|’를 사용하여 여러 개의 패턴을 사용할 수 있다.

case문은 case로 시작해서 esac로 끝압니다. Esac는 case문자를 거꾸로 한 것입니다.

예제)

 

★ ssty -echo : 암호

스크립트가 “비밀” 문자열을 입력해야한다면, 키보드에서 입력 한 문자열을 화면에 표시해서는 안됩니다. 입력 한 문자의 표시를 중지 하려면

ssty -echo

사용될 수 있다.

문자의 방향을 재개하려면

ssty echo

사용

Ex)

#!/bin/sh

echo -e "Please enter your passcode: \c"

stty -echo

read PASSCODE

stty echo

echo "The passcode was not seen when typed."


반응형

'Linux' 카테고리의 다른 글

Shall Script Command - 1  (0) 2019.03.05
Linux Basic Command - 1  (0) 2019.03.05
Linux File 권한 살펴보기  (0) 2019.02.15
selinux 비활성화 하는 방법  (0) 2019.02.07
FTP 동작원리부터 설치 파일질라 이용하기(Centos6)  (0) 2019.01.15

댓글