목록Linux - Ubuntu (13)
쿼카러버의 기술 블로그
SSH key-based authentication 오늘은 SSH의 Key based authentication에 대해 다뤄보려고 한다. 사실 이런 개념 글을 정리하게 되는 가장 주된 동기 중 하나는 다른 글을 작성하면서 생긴다. 자세히 설명하자니 주제에서 벗어나게 되고, 설명을 안하자니 이해하기 어려운 글이 되버리기 십상이기 때문이다. 물론 다른 잘 정리된 글에 링크를 걸어줄 수도 있겠지만, 나 또한 한번 개념을 제대로 짚고 넘어가고 싶은 주제라면 이렇게 별도의 글로 나누어 설명한다. 자 서론이 길었다. 본론으로 돌아가자. AWS, GCP, 네이버 클라우드 플랫폼 등 클라우드 서비스를 사용해 서버를 운용하는 개발자라면 SSH를 뗄레야 뗄 수 없다. 이번 글에서는 항상 명령어 중심으로 사용만 해왔던 SS..
1) sh나 makefile에서 인자의 특정 부분을 대체 할 때 .sh나 makefile에서 쓰기 좋음. s=`echo $1 | sed 's/{대체 당할 문자)/{대체 할 문자}/g'` 참고 : bash에서 사용자가 입력한 인자값에 대한 단축어는 아래와 같다. echo $# #입력한 인자 값 전부 echo $0 #파일 실행 명령어 echo $1~ ~n번째 인자값
리눅스를 조금이라도 사용해봤다면 항상 systemd라는 미지의 프로세스가 있다는 것을 눈치 챘을 것이다. PID1를 차지하고 있는 프로세스인 만큼 엄청 중요한 역할을 할 것만 같다. Systemd는 부팅부터 서비스 관리 로그 관리 등의 시스템 전반적인 영역에 걸쳐있는 프로세스다. 리눅스는 OS이기 때문에 전원을 ON 시킬 경우, 부팅이 되는 과정에서 시스템을 초기화하고, 환경 설정을 누군가 해줘야 한다. systemd이전에는 init이라는 프로세스가 PID1를 차지하고 그 역할을 해주었는데, init 프로세스는 부팅 시작시 가장 먼저 시작되는 프로세스이고, 부모 프로세스로 동작한다. 하지만 init의 한계를 극복하기 위해 systemd가 등장하면서 호환성도 제공하고, init과는 다르게 병렬로 실행되어서..
먼저 zsh를 설치한다 sudo apt-get update sudo apt-get install zsh #Y 입력 zsh --version #버전 확인 프롬프트 설정 zshrc에 적용 vim ~/.zshrc 아래 내용 하단에 입력 # ~/.zshrc # Find and set branch name var if in git repository. function git_branch_name() { branch=$(git symbolic-ref HEAD 2> /dev/null | awk 'BEGIN{FS="/"} {print $NF}') if [[ $branch == "" ]]; then : else echo '- ('$branch')' fi } # Enable substitution in the prompt..
개발을 하다보면 makefile을 사용할 때가 정말 많다. 매번 헷갈려서 정리해보고자 한다. 1. subst 2. patsubst 1) subst subst = substitution의 약자다. subst {from},{to},{text} 형식을 가진다. {text}에서 모든 {from}은 {to}로 바뀐다 $(subst ee,EE,feet on the street) 위를 수행하면 "fEEt on the strEEt"이 출력된다. 2) patsubst patsubst는 pattern substitution의 약자다 쉽게 말해서 특정 문자열을 대체하는게 아니라 패턴을 대체한다. 이때 %를 사용하는데, 와일드카드에서 사용되는 *와 비슷한 기능을 한다고 보면된다. patsubst {pattern},{repla..
make에서 %의 의미가 뭘까? 1) %의 의미 간단한 설명 2) 내가 가장 많이 사용하는 경우 1) %의 의미 간단한 설명 makedpsms 패턴 룰 (pattern rule)이라는 개념이 있다. %를 제외하고 다른 패턴들은, 정확하게 일치해야 하지만, %는 any nonempty sunstring과 매칭될 수 있다. (최소 1자 이상은 있어야함.) 예를 들어 설명하자면 %.c에서 %는 모든 .c로 끝나는 문자열과 매칭된다. 마찬가지로 s.%.c를 쓰게되면, s.로 시작하고 .c로 끝나는 문자열과 매칭된다. 즉 최소 5자는 되는 문자열과 매칭되는 것. 이때, %와 매칭되는 substring을 stem이라고 부른다. 여기서 주의사항이 있다. target에만 %가 있고, prerequisite에는 %가 없..
리눅스에서 tr은 치환의 의미를 가진다. (번역 아님 주의) 사용 목적 : tr은 지정한 문자를 바꾸거나 삭제하는 명령어다. 문자를 지우거나 바꾸고 싶을 때 주로 사용한다. 기본 명령어 format tr {옵션} A {B} 옵션없이 tr A B 문자열 내의 A를 모두 B로 변경 옵션 -d : 문자열 A에서 지정한 문자를 삭제한다. (--delete) -s : 문자열 B에서 반복되는 문자를 삭제한다. (--squeeze-repeats) -t : 문자열 A를 문자열 B의 길이로 자른다. (--truncate-set1) tr -d '0-9' : -d옵션으로 지정한 문자열을 모두 삭제한다. 대표적인 예를 보면 다음과 같다. 소문자 대문자로 변환 echo richet | tr '[a-z]' '[A-Z]' ## R..
sed 명령어는 편집에 특화된 명령어다. sed = streamlined editor의 약자 (능률적인) 수정 치환 삭제 글 추가 등 편집기 기능을 수행할 수 있다. vi, vim은 편집기를 열어서 수정하는 방식이라면, sed는 명령행에서 파일을 인자로 받고, sed 명령어를 통해 작업한 후에 결과를 화면으로 확인할 수 있다. sed 명령어를 이용해서 파일을 변경할 경우엔 원본을 손상하지 않는다. 쉘 리다이렉션을 통해서 편집 결과를 저장하지 않는 이상 파일이 변경되지 않는다. 모든 결과는 명령을 수행한 화면으로 출력이 되고, 원본에는 손해가 없다는 것이 명령어의 특징이다. 원리를 자세히 알기 위해선, pattern space, hold space에 대한 개념이해가 돼야 하지만 해당 내용은 추후에 다루고,..