'Infra/Linux'에 해당되는 글 6건

Linux 서버 관리를 하다 보니 자주 쓰는 명령어가 생겼는데 ..

자꾸 까먹다 보니 .. 기록을 하게 되었습니다 ..


port 확인

$ hostname -I                       # 자신의 ip

$ telnet ip port                     # 상대방 ip의 port 열린지 확인

$ netstat -nat | grep LISTEN # LISTEN 중인 port 확인

 

서버 메모리 상태

$ free -h -w

-b 바이트

-k 키로바이트

-m 메가바이트

-g 기가바이트

-h 휴먼 readable

-w wide

 

파일 사이즈 

$ df -h                  # 현재서버의 파일 디스크 용량을 확인 -h 옵션

$ du [경로]/           #해당 디렉토리 하위모두 파일사이즈를 보여준다 

$ du -sh [경로]/      # 해당 디렉토리의 파일사이즈를 보여준다

$ du -sh [경로]/*     # 해당 디렉토리의 바로 아래하위까지의 파일사이즈를 보여준다

 

압축

$ zip -r [파일명.zip] [압축대상] # 해당 폴더를 zip으로 압축

$ unzip [파일명.zip] # 압축해제

$ unzip -O cp949 [압축파일명.zip] # 윈도우 zip -> 리눅스 zip으로 압축해제시 한글파일명 깨지는 것 방지

$ tar -cvf [파일명.tar] [압축대상] # .tar로 압축

$ tar -xvf [파일명.tar] # .tar 파일 압축해제

$ tar -xvf [파일명.tar] -C [경로] # 경로에 .tar 파일 압축해제

$ tar -zcvf [파일명.tar.gz] [압축대상] # .tar.gz로 압축

$ tar -zxvf [파일명.tar.gz] # .tar.gz 파일 압축해제

$ tar -zxvf [파일명.tar.gz] -C [경로] # 경로에 .tar.gz 파일 압축해제


zip - 만능, os별 호환

tar - linux 계열에서 사용. 빠르지만 압축 방식이 아닌 합치는 방식

gzip - linux 계열에서 사용. 용량 압축 방식 

 

현재 디렉토리 내에 있는 파일의 개수 

$ ls -l | grep ^- | wc -l

$ ls -Rl | grep ^- | wc -l # Rl 은 서브 디렉토리까지 확인

 

vim 편집기

i # insert 모드

w # write

q # quit

wq # write & quit

set nu # 번호수를 표시

/단어 # 단어를 검색 ( n 해당 지점 밑으로 검색 , shift +N 해당 지점 위로 검색)

%s/[원본단어]/[바꿀단어]  # 원본단어를 바꿀단어로 일괄치환

%s/[원본단어]/[바꿀단어]/c # 원본단어를 바꿀단어로 치환할지 하나씩 물어본다  (y : 치환,  n: 치환x건너띔,  a: 더이상 묻지 않고 모두 바꿈, q: stop)

gg # 문서 맨앞으로 이동

shift + g # 문서 맨 밑으로 이동

라인번호 입력 + shift + G  # 해당 라인번호로 이동 


검색

$ find [경로] -name [파일명]        # 하위경로의 파일찾기

$ which [명령어]                         # 명령어의 절대경로를 알려줌


'Infra > Linux' 카테고리의 다른 글

리눅스 자주 쓰는 명령어 (기록용)  (0) 2020.04.21
vim 명령어 모음  (0) 2019.03.26
history timestamp (시간) 찍기  (0) 2019.03.15
서버 시간 동기화  (0) 2019.02.15
alias 설정  (0) 2019.01.29
맥북 hosts 파일 추가 수정  (0) 2018.11.14
블로그 이미지

yhmane

댓글을 달아 주세요

vim 명령어 모음

Infra/Linux 2019. 3. 26. 18:30

리눅스 text 문서를 보기 위해 Editor를 사용하는데요,


그 중에서도 vim이 괜찮다고 생각합니다.


저는 주로 application의 log 파일 볼때 사용하고 있습니다.


명령어 정리를 잘 해놓은 곳이 있길래,


출처를 아래 표기하겠습니다.





개인적으로 자주 사용하는 명령어를 빨간색으로 표시하였습니다.


추가적으로 u는 '되돌리기', ctrl+R '다시 수행' 입니다.





VIM 명령어 정리

 

 

1. 저장 및 종료

명령어

설명

:w

저장

:w file.txt

file.txt 파일로 저장

:w » file.txt

file.tx파일에 덧붙여서 저장

:q

vi 종료

:q!

vi 강제 종료

ZZ

저장 후 종료

:wq!

강제 저장 후 종료

:e file.txt

file.txt파일을 불러옴

:e

현재 파일을 불러옴

:e#

바로 이전에 열었던 파일을 불러 옴

 

 

2. 입력모드 전환

a

커서 위치 다음칸부터 입력

A

커서 행의 맨 마지막부터 입력

i

커서의 위치에 입력

I

커서 행의 맨 앞에서 부터 입력

o

커서의 다음행에 입력

O

커서의 이전 행에 입력

s

커서 위치의 한글자를 지우고 입력

cc

커서위치의 한 행을 지우고 입력

 


3. 이동

h

왼쪽으로 이동

l

오른쪽으로 이동

j

아래행으로 이동

k

위 행으로 이동

또는 W

다음 단어의 첫 글자로 이동

또는 B

이전 단어의 첫 글자로 이동

또는 E

단어의 마지막 글자로 이동

<CR>

다음행 첫  글자로 이동

^

그행의 첫 글자로 이동

$

그 행의 마지막 글자로 이동

+

다음 행의 첫 글자로 이동

-

위 행의 첫 글자로 이동

(

이전 문장의 첫 글자로 이동

)

다음 문장의 첫 글자로 이동

{

이전 문단으로 이동

}

다음 문단으로 이동

H

커서를 화면 맨 위로 이동

z<CR>

현재 행을 화면의 맨우로 이동

M

커서를 화면 중안으로 이동

z.

현재 행을 화면의 중앙으로 이동

L

커서를 화면 최하단으로 이동

z-

현재 행의 화면의 최하단으로 이동

[n]H

커서를 위에서 n행으로 이동

[n]L

커서를 아래에서 n행으로 이동

ctrl+u

반 화면 위로 스크롤

ctrl+d

반 화면 아래로 스크롤

ctrl+b

한 화면 위로 스크롤

ctrl+f

한 화면 아래 스크롤

gg 또는 1G

문서의 맨 처음으로 이동

G

문서의 맨 마지막 행으로 이동

[n]G 또는 :[n]

n행으로 이동


 

4. 삭제

또는 dl

커서 위치의 글자 삭제

또는 dh

커서 바로 앞의 글자 삭제

dw

현재 위치부터 스페이스 까지 삭제

diw

현재 위치에 있는 단어 삭제

dd

커서가 있는 행을 삭제

[n]dd

현재 커서 부터 아래 n번째 줄까지 삭제

dj

현재 커서와 아래 줄 삭제

[n]dj

현재 커서 부터 아래 n+1번째 줄까지 삭제

dk

현재 커서와 윗로 n+1번째 줄까지 삭제

[n]dk

현재 커서와  줄 삭제

또는 d$

현재 커서가 있는 위치부터 행 끝까지 삭제

d0 또는 d^

현재 커서가 있는 위치부터 행 시작 까지 삭제

 

 

5. 복사 & 붙여넣기

yy 또는 Y

커서가 있는 한 행 복사

p

현재 커서에 붙여 넣기행 복사 일 경우 아래 줄에 붙여넣음.

P

현재 커서위치의 앞행에 붙여 넣기행 복사일 경우에는  줄에 붙여 넣음

[n]yy 또는 [n]Y

커서가 위치한 이후로 n행 복사

[n]p

n번 만큼 붙여넣기 반복

 

 

6. 블록 지정

v

블록 지정

V

줄단위 블록 지정

ctrl+v(윈도우에서는 ctrl+q)

비쥬얼 블록 지정

블록 지정 중 명령

y

블록 복사 하기

r

치환

d

지정 블록 지우기

U

대문자로 바꾸기

u

소문자로 바꾸기

~

대소문자 전환

J

행 합침

:

선택 영역에 대하여 ex명령

<

행 앞에 탭 제거

>

행 앞에 탭 삽입

 

 

7. 문자열 탐색 및 치환

/[문자열]

문자열 탐색

:s/old/new

현재 행의 처음 old new로 교체

:s/old/new/g

현재 행의 모든 old new로 교체

:10,20s/old/new/g

10행부터 20행까지 모든 old new로 교체

[블록지정중]:s/old/new/g

지정 블록 내에서 모든 old new로 교체

:-3,+4s/old/new/g

현재 커서 위치에서 위로 3행 아래로 4행까지의 old new로 교체

:%s/old/new/g

문서 전체에서 old new로 교체

:%s/old/new/gc

문서 전체에서 old new로 확인하며 교체

:g/pattern/s/old/new/g

pattern이 있는 모든 행의 old new로 교체

 

 

8. vim 정규 표현식

^

행의 첫 문자([]안에서는 not의 의미)

$

행의 끝

.

아무 문자나 한 문자 의미

\|

or의 의미

[ ]

[]사이의 문자 중 하나

\{min,max\}

min이상 max이하 반복됨

*

앞의 내용이 0번 이상 반복됨

\+

앞의 내용이 1번 이상 반복됨

\<

단어의 시작

\>

단어의 끝

\n

새 행 문자

\t

탭 문자

 

 

9. vim 확장 정규 표현 문자열

\i

변수 지정에 사용되는 문자들 [0-9A-Za-z]

\I

\i와 같지만 숫자는 제외

\k

keyword로 사용하는 문자 [_\.\-0-9A0Za-z]

\f

파일 이름으로 사용하는 문자

\p

프린트 가능한 문자

\P

\p와 같지만 숫자는 제외

\s

whitespace character(공백과 탭)

\S

non-whitespace character

\d

숫자 [0-9]

\D

숫자가 아닌 문자 [^0-9]

\x

16진수 숫자 [0-9A-Fa-f]

\X

16진수 숫자가 아닌 문자 [^0-9A-Fa-f]

\o

8진수 숫자 [0-7]

\O

8진수 숫자가 아닌 문자 [^0-7]

\w

영문 단어의 시작에 사용되는 문자 [0-9A-Za-z-]

\W

영문 단어에서 사용되지 않는 문자 [^0-9A-Za-z-]

\h

영문 단어의 시작에 사용되는 문자 [A-Za-z-]

\H

영문 단어의 시작에 사용 되지 않는 문자 [^A-Za-z-]

\a

모든 알파벳 [A-Za-z]

\A

알파벳이 아닌 문자 [^A-Za-z]

\l

소문자 [a-z]

\L

소문자가 아닌 문자 [a-z]

\u

대문자 [A-Z]

\U

대문자가 아닌 문자 [^A-Z]

\e

Esc

\t

Tab

\r

캐리지 리턴

\b

백스페이스

\n

새 행

 

 

10. POSIX 문자 클래스

문자 클래스

내용

[:alnum:]

알파벳과 숫자 [A-Za-z0-9]

[:alpha:]

알파벳 [A-Za-z]

[:cntrl:]

제어 문자

[:blank:]

탭과 공백 문자

[:digit:]

숫자 [0-9]

[:graph:]

제어문자와 공백 문자를 제외한 문자

[:lower:]

소문자 [a-z]

[:upper:]

대문자 [A-Z]

[:print:]

제어문자를 제외한 문자즉 프린터 할 수 있는 문자

[:punct:]

[:graph:]문자 중 [:alnum:]을 제외한 문자. ex)!,@,#,$,%,^....

[:space:]

화이트스페이스 ex)공백케리지 리턴새행수직탭폼필드

[:xdigit:]

16진수

 

 

11. 파일 버퍼

:files 또는 :ls 또는 :buffers

버퍼 목록 나열

:b[n]

n번 버퍼로 이동

:bd[n] 또는 :bw[n]

n번 버퍼를 삭제 (n이 없으면 현재의 버퍼를 삭제)

:bp[n]

이전 버퍼로 이동,n 붙이면 n번만큼 이전 버퍼로 이동

:bn[n]

이후 버퍼로 이동,n 붙이면 n번만큼 이후 버퍼로 이동

:sb[n]

창을 수평분할 하여 n번 버퍼를 로드

:bf

첫 번째 버퍼로 이동

:bl

마지막 버퍼로 이동

 

12. Tab

Vim 7.0부터 추가된 기능

:tabnew

새로운 탭을 열기

:tabnew b.txt

b.txt가 존재하면 열고없으면 새로 만들어서 연다

:tabf b.txt

b.txt가 존재하면 열고없으면 에러 발생

:tabn[n]

다음 탭을 열기,n 붙이면 n번 만큼 이동

:tabp[n]

이전 탭을 열기,n 붙이면 n번 만큼 이동

:tabs

탭 목록 보기

:tabclose

탭을 닫기

:tabfirst

첫번째 탭을 열기

:tablast

마지만 탭을 열기

:tabdo %s/old/new/g

모든 탭에 적용을 원할 때 (예 모든탭에서 old new로 변경)

 


13. 다중 창 관련 명령

명령모드

ex모드

결과

창생성

CTRL-W s

:[N]sp[plit]

현재 파일을 두 개의 수평 창으로 나눔

CTRL-W v

:[N]vs[plit]

현재 파일을 두 개의 수직 창으로 나눔

CTRL-W n

:new

새로운 수평 창 생성

CTRL-W ^ 또는 CTRL-W CTRL-^

 

수평 창으로 나누고 이전 파일의 오픈

CTRL-W f

 

창을 수평으로 나누고 커서 위치의 파일 오픈

CTRL-W i

 

커서 위치의 단어가 정의된 파일을 오픈

창삭제

CTRL-W q

:q[uit]!

현재 커서의 창을 종료

CTRL-W c

:close

현재 커서의 창 닫기

CTRL-W o

:on[ly]

현재 커서의 창만 남기고 모든 창 삭제

창이동

CTRL-W h

 

왼쪽 창으로 커서 이동

CTRL-W j

 

아래쪽 창으로 커서 이동

CTRL-W k

 

위쪽 창으로 커서 이동

CTRL-W l

 

오른쪽 창으로 커서 이동

CTRL-W w

 

창을 순차적으로 이동

CTRL-W p

 

가장 최근에 이동한 방향으로 이동

CTRL-W t

 

최상위 창으로 이동

CTRL-W b

 

최하위 창으로 이동

창이동

CTRL-W r

 

순착으로 창의 위치를 순환

CTRL-W x

 

이전 창과 위치를 바꿈

CTRL-W H

 

현재창을 왼쪽 큰화면으로 이동

CTRL-W J

 

현재창을 아래쪽 큰화면으로 이동

CTRL-W K

 

현재창을 위쪽 큰화면으로 이동

CTRL-W L

 

현재창을 오른쪽 큰화면으로 이동

창 크기 조정

CTRL-W =

 

창의 크기를 모두 균등하게 함

CTRL-W _

 

수평 분할에서 창의 크기를 최대화

CTRL-W |

 

수직 분할에서 창의 크기를 최대화

CTRL-W [N]+

:res[ize] +N

창의 크기를 N행 만큼 증가

CTRL-W [N]-

:res[ize] -N

창의 크기를 N행 만큼 감소

CTRL-W [N]>

 

창의 크기를 오른쪽으로 N칸 만큼 증가

CTRL-W [N]<

 

창의 크기를 오른쪽으로 N칸 만큼 감소

다중창 사용의 경우 대부분 붙여서 사용하는 명령어는 CTRL을 같이 눌러도 똑같은 역활을 하는 경우가 많다
) CTRL-W j  CTRL-W CTRL-J와 같다.

 

 

14. 마킹 및 마킹위치로 이동

m[a-z0-9]

파일내에서 마킹현재 버퍼내에서만 이동 함 예)ma

m[A-Z]

전체영역에서 마킹다른 파일로도 이동 함.

`[A-Za-z0-9]

마킹된 위치로 돌아감 예)`a

’[A-Za-z0-9]

마킹된 행의 처으으로 이동함)‘a

직전에 커서가 위치하던 행의 처음

``

직전의 커서 위치로 이동

’”

이전에 vim으로 현재 파일을 닫았을 때 커서가 있던 행의 처음으로 이동

`"

이전에 vim으로 현재 파일을 닫았을 때 커서가 있던 위치로 이동




[출처]


https://gyuha.tistory.com/157

'Infra > Linux' 카테고리의 다른 글

리눅스 자주 쓰는 명령어 (기록용)  (0) 2020.04.21
vim 명령어 모음  (0) 2019.03.26
history timestamp (시간) 찍기  (0) 2019.03.15
서버 시간 동기화  (0) 2019.02.15
alias 설정  (0) 2019.01.29
맥북 hosts 파일 추가 수정  (0) 2018.11.14
블로그 이미지

yhmane

댓글을 달아 주세요

command line에 history를 입력하면


명령어에 대한 사용 기록이 남습니다.



하지만, default는 시간을 남겨주기 때문에


서버를 운영중이라면 어떠한 command를 언제 남겼는지 


아는게 중요합니다.






timestamp 남기는 법


HISTTIMEFORMAT="%d/%m/%y %T "

or


echo 'export HISTTIMEFORMAT="%d/%m/%y %T "' >> ~/.bashrc
source ~/.bashrc

then


history




주의할 점은,


timestamp를 남기는 시점부터 시간이 찍히기 때문에


과거에 입력한 command에 대한 history는 timestamp를 적용한 시점으로 찍히고,


그 이후로 타임스탬프가 적용됩니다!

'Infra > Linux' 카테고리의 다른 글

리눅스 자주 쓰는 명령어 (기록용)  (0) 2020.04.21
vim 명령어 모음  (0) 2019.03.26
history timestamp (시간) 찍기  (0) 2019.03.15
서버 시간 동기화  (0) 2019.02.15
alias 설정  (0) 2019.01.29
맥북 hosts 파일 추가 수정  (0) 2018.11.14
블로그 이미지

yhmane

댓글을 달아 주세요

실제 사용중인 서버의 date를 찍어 보면, 오차가 꽤 발생하는 경우가 있습니다.


당연히, 서버 시간은 잘 맞겠지 라고 생각 했었는데, 10분이나 오차가 벌어 졌습니다.




서버의 시계도 시간이 지날수록 오차가 누적된다고 합니다.


원인은 하드웨어나 여러 요인이 있을 수 있지만, 구글처럼


서버에 원자시계를 내포하지 않는 이상 근본적인 해결은 힘들다고 합니다.




그럼, 틀어진 서버의 시간을 동기화 하는 방법을 알아 보도록 하겠습니다.





먼저, 리눅스는 rdate를 이용하여 쉽게 동기화를 할 수 있습니다.




rdate -s time.bora.net



만약, radte가 설치 되어 있지 않다면


yum -y install rdate


rdate 패키지를 설치한 후에, 타임서버를 동기화 시켜 줍니다.







만약, 폐쇄망을 이용한다면 위와 같은 방법으로 동기화를 시켜줄 수 없습니다.



그럴 경우, 수동으로 서버 시간을 세팅하여 줄 수 있습니다.



먼저 


1) 하드웨어, 소프트웨어 시간 확인


하드웨어 hwclock -r

소프트웨어 date


2) 수동으로 변경

date -s '2019-02-15 23:10:50'


3) 하드웨어 시간 동기화

hwclock --localtime --systohc













'Infra > Linux' 카테고리의 다른 글

리눅스 자주 쓰는 명령어 (기록용)  (0) 2020.04.21
vim 명령어 모음  (0) 2019.03.26
history timestamp (시간) 찍기  (0) 2019.03.15
서버 시간 동기화  (0) 2019.02.15
alias 설정  (0) 2019.01.29
맥북 hosts 파일 추가 수정  (0) 2018.11.14
블로그 이미지

yhmane

댓글을 달아 주세요

alias 설정

Infra/Linux 2019. 1. 29. 12:57

alias란


컴퓨팅에서 alias는 다양한 명령 줄 인터프리터(워드를 다른 문자열로 치환할 수 있는 유닉스 셸4DOS/4NT윈도우 파워셸 등의 )의 명령어이다. 시스템 명령어를 단축시키기 위해 주로 사용되며, 그 외에 주기적으로 사용되는 명령어에 기본 변수를 추가하기 위해 사용된다. MS-DOS와 마이크로소프트 윈도우 운영 체제의 앨리어스 기능은 도스키(DOSKey) 명령 줄 유틸리티를 통해 제공된다.


위키피디아

https://ko.wikipedia.org/wiki/Alias_(%EB%AA%85%EB%A0%B9%EC%96%B4)




위에 설명에서 볼 수 있듯이 alias를 이용하여 자주 사용하는 명령어를 등록할 수 있습니다.


저는 Github 디렉토리에 자주 접근하는데요, github라는 명령어를 등록하여 디렉토리에 바로 접근 해보도록 하겠습니다.






먼저 터미널을 열어줍니다.








vim 편집기를 이용하여 .bash_profile을 열어 줍니다.









다음으로 github alias를 등록하여 줍니다.


저는 'Github 디렉토리로 이동하라' 라는 명령어를 등록하여 주었습니다.






다음으로 저장한 alias를 적용시켜 줍니다.


github를 입력하여 디렉토리를 변경한 것을 확인할 수 있습니다.

'Infra > Linux' 카테고리의 다른 글

리눅스 자주 쓰는 명령어 (기록용)  (0) 2020.04.21
vim 명령어 모음  (0) 2019.03.26
history timestamp (시간) 찍기  (0) 2019.03.15
서버 시간 동기화  (0) 2019.02.15
alias 설정  (0) 2019.01.29
맥북 hosts 파일 추가 수정  (0) 2018.11.14
블로그 이미지

yhmane

댓글을 달아 주세요


먼저, terminal 접속합니다.


다음으로, vim 편집기를 이용하여 hosts 파일을 열어줍니다. 


hosts 파일의 경로는 /private/etc/ 입니다.




다음으로 추가할 주소와 url을 차례대로 입력 하여 줍니다.


저 같은 경우는 내부망 주소와 접속할 url을 입력하였습니다.



i 키를 입력하여 insert Mode로 변경



저장시 esc 키 누르고 wq (write and quit)




다음으로 저장된 설정을 적용해야 합니다.


컴퓨터를 재부팅 하거나 다음 명령어를 입력하여 설정을 적용하여 줍니다.


dscacheutil -flushcache







'Infra > Linux' 카테고리의 다른 글

리눅스 자주 쓰는 명령어 (기록용)  (0) 2020.04.21
vim 명령어 모음  (0) 2019.03.26
history timestamp (시간) 찍기  (0) 2019.03.15
서버 시간 동기화  (0) 2019.02.15
alias 설정  (0) 2019.01.29
맥북 hosts 파일 추가 수정  (0) 2018.11.14
블로그 이미지

yhmane

댓글을 달아 주세요