Linux 125

[Vim] 붙여넣기 시 자동 들여쓰기(계단) 현상 방지

개요 Vim(vi) 편집기로 소스 코드 등을 복사하여 붙여 넣을 때 들여 쓰기로 인해 개행, code format이 엉망이 되는 경우가 존재한다. 예시 ) release repository Release Repository http://myhost/content/repositories/releases/ true 들여쓰기가 블록을 결정하는 언어인 경우에는 포맷을 맞추기 골치 아픈데, 간단하게 해결할 수 있는 방법을 적어둔다. 현재 모드 확인 :set 명령을 통해 현재 vim의 모드를 확인할 수 있다. :set 붙여넣기 모드 활성화 계단 현상이 발생할 때, set paste 명령으로 붙여 넣기 모드를 활성화한 후 코드를 붙여 넣으면 들여 쓰기 원본 형식을 유지하면서 소스를 붙여 넣을 수 있다. :set pa..

Linux 2022.10.18

[Vim] 변경 내역 확인

개요 Vim 편집기에서 편집한 내용을 실행 취소(undo)할 때는 :u를 입력하면 된다. 그리고 실행 취소한 내용을 다시 실행(redo)할 때는 CTRL + R을 입력하면 된다. 그렇다면 변경 내역 자체는 어떻게 확인할 수 있을까? :changes Vim은 변경 사항이 발생한 위치(열 번호, 줄 번호)를 변경 목록에 기록하고, 각 버퍼에는 실행 취소할 수 있는 최근 100개의 변경을 기억한다. 한 줄에 수정이 여러 번 이루어졌다면 나중에 변경된 위치만 기록된다. 변경 목록은 :changes를 입력하여 확인할 수 있다. 예시 예로 들어 위의 내용을 가진 파일이 있다고 하자. # test file import os import re from flask import request @app.route('/met..

Linux 2022.10.02

[Linux] ~<username> - 사용자 홈 디렉터리

~ 쉘 스크립트를 보다 아래와 같은 구문을 보았다. BASE_DIR=~ # 예시 BASE_DIR=~ubuntu 특정 디렉터리 정보를 담은 변수를 선언한 것 같긴 한데, 정확히 어느 경로인지 확인해보려고 한다. 확인 쉘에서 변수를 직접 선언한 뒤, echo 명령으로 확인해봤다. BASE_DIR=~ubuntu echo $BASE_DIR ubuntu 계정의 홈 디렉터리였다. 사용자 이름 앞에 ~ 기호를 붙이면 해당 사용자의 홈 디렉터리를 의미한다. ~root인 경우 root 사용자의 홈 디렉터리를 의미한다.

Linux 2022.09.30

[HTTPie] http 요청 도구

HTTPie 명령줄 HTTP 클라이언트. '에이치티티파이'라고 읽는다고 소개한다. CLI와 웹 서비스 간의 인간친화적인 상호작용을 목표로 하는 프로젝트로, API와 HTTP 서버의 테스트, 디버깅, 전반적인 상호작용을 위해 설계되었다. https도 지원하는 것으로 보인다. 설치 apt install httpie 공식 문서에서 여러 환경에서의 설치 방법을 확인할 수 있다. 요청 http 메소드, URI을 지정하여 요청을 보낸다. 메소드는 생략 가능하다. http [flags] [METHOD] URL [ITEM [ITEM]] -v : 요청과 응답 둘 다 확인. # 예시 http -v GET http://localhost:5000 요청 URI에 매개변수 추가 ==를 사용하여 요청 URI에 매개변수를 추가할 수..

Linux 2022.09.21

[read] 사용자 입력 / 파일 입력

read 파일 디스크립터에서 값을 읽는 명령어다. 사용자로부터 값을 입력받아 변수에 저장하거나, 파일의 내용을 입력받을 때 사용한다. 사용자 입력 read 명령어로 사용자의 키보드 입력을 변수에 저장하여 사용한다. #! /bin/bash echo "name: " read NAME echo "Your name is" $NAME 파일 입력 파일 디스크립터를 이용하여 파일의 한 행을 변수에 저장한다. #! /bin/bash # 내용을 읽을 파일 FILE=user.sh # 파일 디스크립터로 입력 읽기 read line < $FILE echo $line 파일 내용 전체를 읽을 때는 while 문을 사용할 수 있다. #! /bin/bash FILE=user.sh while read line do echo $line..

Linux/Shell Script 2022.09.19

[journalctl] service 로그 확인

journalctl Linux 서비스 매니저인 systemd는 로그 데이터를 journal이라는 바이너리 형식으로 저장한다. journalctl은 journal에서 로그를 검색하고 조회할 수 있는 systemd 유틸리티 중 하나이다. 보통 systemctl status와 함께 사용한다. 표시한 부분이 바로 로그 데이터에 해당한다. journalctl로 동일한 내용을 확인할 수 있다. 사용법 옵션 없이 실행하면 systemd의 로그를 확인할 수 있다. journalctl 최근 n개 메시지 확인 journalctl -n # 예시 journalctl -n# 최근 10게 journalctl -n 20# 최근 20개 message catalog로부터의 상세 설명 추가 확인 journalctl -x 최신 에러 메시..

Linux 2022.09.12

[awk] 개념

awk 파일 또는 input 데이터로부터 레코드를 선택하고, 선택된 레코드에 포함된 값을 조작하거나 데이터화하는 프로그램이다. AWK를 이용하면 다음과 같은 작업을 할 수 있다. 텍스트 파일 전체 내용 출력 파일의 특정 필드 출력 특정 필드에 문자열을 추가하여 출력 패턴이 포함된 레코드 출력 특정 필드의 연산 수행 결과 출력 필드 값을 비교한 결과에 따른 레코드 출력 awk 기능을 개발한 사람들의 이니셜(Alfred V. Aho, Peter J. Weinberger, Brian W. Kernighan)을 조합하여 명명되었다. 동작 방식 awk는 awk programming language로 작성된 프로그램을 실행하는데, 입력 데이터로부터 주어진 패턴을 포함하는 라인(레코드)을 탐색한 후, 라인을 발견하면..

Linux 2022.09.10

[linux] n초 주기로 스크립트/명령어 실행

개요 일정한 주기마다 스크립트나 명령어를 실행하는 대표적인 방법은 크론탭을 사용하는 것이다. 다만 크론탭의 최소 주기는 1분이라 초 단위로 명령어나 스크립트를 실행해야 할 때에는 사용할 수 없다. 이 글에서는 초 단위로 스크립트나 명령어를 실행하는 방법을 간단히 정리해둔다. watch 프로그램을 주기적으로 실행하여 결과를 전체 화면에 표시한다. watch [options] command # -n : --interval. 실행 주기 # -t : header 제외하여 출력 # 예시 watch -n 1 -t "date >> date.log" 예시 명령어의 경우 표준 출력을 리다이렉션 했기 때문에 출력이 보이지 않는다. 하지만 tail -f로 출력 파일을 확인하면 정상적으로 실행되는 상태임을 확인할 수 있다. ..

Linux 2022.09.03

[tree] 디렉터리 구조 확인

tree 디렉터리의 구조를 계층적으로 표시하는 도구 전체 구조를 대략적으로 파악할 때 유용하게 사용할 수 있다. 설치 ubuntu의 경우에는 apt를 이용해 설치할 수 있다. apt install tree 기본 사용 구조를 확인할 디렉터리를 지정하여 실행한다. 기본값은 현재 경로이다. tree 디렉터리만 출력 -d 옵션을 주어 실행하면 디렉터리 정보만 확인할 수 있다. tree -d # -d : 디렉터리 목록만 확인 depth 제한 -L 옵션을 주어 실행하면 탐색할 깊이를 제한할 수 있다. tree -L # -L : level. 디렉터리 구조를 보여줄 최대 깊이 # 예시 tree -L 1 파일 전체 경로 표시 전체 경로를 표시할 때는 -f 옵션을 주어 실행한다. tree -f # -f : 각 파일의 모든..

Linux 2022.08.12

[Ubuntu 20.04] Hostname 설정

Hostname 재부팅 시 서버의 Hostname이 다른 값으로 변경되는 일이 있어 명령어 또는 설정 파일을 통해 hostname 설정 방법을 정리해둔다. Hostname 확인 1. hostname 시스템의 호스트명을 보여주거나 설정한다. hostname 2. hostnamectl 시스템 호스트명을 제어한다. hostnamectl 출력 결과의 Static hostname은 /etc/hostname 파일에 설정이 저장되며 사용자에 의해 설정될 수 있다. 3. /etc/hostname 설정 파일에서 hostname을 읽어 들일 수도 있다. cat /etc/hostname Hostname 설정 1. hostname 명령 재부팅 전까지만 유지된다. hostname # 예시 hostname devOps-EC2-t..

Linux 2022.07.27
1 2 3 4 5 6 7 ··· 13