리눅스 수업

이정빈·2022년 10월 17일
0

리눅스수업

목록 보기
1/3
post-thumbnail

실무에서 자주 쓰는 명령어

split

split [옵션][대상] [분할 시 파일명]
-a : 뒤에 붙을 문자열 개수 조정
--additional-suffix=분할한 파일들 뒤에 공통적으로 문자열을 줄 때
-b : 지정한 크기만큼 분할
-d : 영문이 아닌 숫자로 지정
-l : 라인 수를 기준으로 분할
-n : 균등 분할
--numeric-suffixes=숫자 시작점 잡는 옵션

cut

cut [옵션][대상] : 해당 문서를 구분자로 나누고 필드 출력
-d : 구분자를 지정
-f : 필드를 지정
1개의 필드 출력 : cut -d : -f1 /etc/passwd
다수의 필드를 출력 : cut -d : -f1,3,5 /etc/passwd

find

find [시작위치][찾을 조건][옵션]

  • 조건
    -name : 이름
    -type : 파일의 타입(f, d, l....)
    -user : 파일 소유자
    -size : 파일 용량(+/- ~이상, 이하)
    -perm : 권한
  • 권한
    -exec : 명령조건 옵션(ex) -exec ls -l ==> 결과 값들에 대해서 ls -l 명령어 실행
    -ls : ls -l 명령어로 결과 값 조회
    -ok : 명령어 실행 시 실행 여부 따지지 않고
    ex)-exec rm * -ok

find /root -name file_int -exec rm -ok {} \;
명령어가 -exec 옵션을 붙일 때는 {} \;을 붙여 결과값을 반영하여 실행되게 해야 한다.

유용한 find 명령어들

find / -type f (-perm -4000 -o -perm -2000 ) -exec ls -l {} \; | ws -l
==> 특수권한 파일들 개수 조회(특수권한 파일들은 원래 업무적으로 부여하면 안되기 때문에 숫자가 매번 일정해야 함)

find / -name "*.old" -type f -exec cp {} /BACKUP \;
==> 구버전 설정파일 혹은 원본, 모두 /BACKUP 디렉터리로 복사

find / -type f -perm +6000 -print -ls
==> 크래커 침입이 있었는지 확인(특수권한 부여한 모든 파일에 대해서 정보 조회)

which, whereis [명령어] ===> 명령어 파일의 위치 조회

wc

라인 수, 단어 수, 글자 수를 세어준 결과가 나온다

awk

awk [옵션] '[찾을 조건] {액션}' [대상파일]
명령어보단 프로그래밍 언어에 가까움,
원하는 특정 열, 행에 대한 조건을 줘서 추출

필드와 레코드
필드 = 열에 대한 이야기, 세로 줄, NF 혹은 $number로 표시
레코드 = 행, 가로, NR로 표시

특정 행에 대해서 혹은 열에 대해서 조건을 주어 추출이 가능
ex) awk '$3>="18:00" {print}' /var/log/secure

다중 조건 시, &&로 조건 추가

vi

리눅스의 문서 편집기.
모드형 편집기로 입력모드, 명령모드, 마지막행 모드, 비주얼 모드 총 4가지의 모드를 갖고 있음

  • 명령모드
    처음 vi 편집기를 실행했을 때, 만나는 모드
    방향키를 이용한 커서 이동과 명령모드 명령어를 사용 가능
  • 마지막 행 모드
    명령모드에서 shift + ;를 눌러서 진입. 진입 상태에서 검색이나 색인, 혹은 추가 문서 창 열기 등 다양한 동작 수행이 가능
  • 입력 모드
    명령모드에서 i,a,o,I,A,O를 눌러서 진입
    자유로운 텍스트 수정
  • 비주얼 모드
    Ctrl + v 를 눌러서 특정 블록을 지정하거나 shift + v를 눌러서 특정 행 전체에 대해서 작업을 진행하는 모드
  • 모든 모드는 esc를 누르면 명령모드로 복귀
  • 매크로 기능
    q+[매크로 행동을 저장할 키] --> 녹화 시작
    q를 눌러서 녹화 종료하고
    shift+@ 누르고 [매크로 저장키] --> 매크로 반복
    *시작 커서 위치가 매우 중요하다
  • 마크
    내 위치를 키에 기억
    m+[지정키]
  • 레지스터
    " + [지정키] 하고 복사 혹은 잘라내기 시, 해당 지정키에 그 내용을 저장
  • 마지막 행 모드
    :w --> 저장
    :w [저장할 위치, 이름]
    :범위 [저장할 이름] --> 부분 저장
    :q --> 종료, (변동 있는 상황에서 저장을 안하면 못나감)
    :q! --> 강제로 종료
    :wq --> 저장하고 나가기(정상 종료)
    :e! --> 마지막 저장 상태로
    :e [파일명] --> 해당 파일 열기
    :new --> 새로운 창 열기
    :e new --> 현재 창에서 새 창 열기
    :[숫자] --> 해당 라인으로 이동
    :/문자열 --> 해당 문자열 검색
    :sp --> 수평 창
    :vs --> 수직 창
    ctrl + w 방향키 --> 해당 창으로 이동\
    :s/대상 문자열/바꿀 문자열 --> 범위 내에서 각 행의 첫 대상 문자열을 변경
    :[범위]s/대상 문자열/바꿀 문자열 --> 범위 내에서 각 행의 첫 대상 문자열을 변경
    행에 있는 전체를 대상으로 하려면
    :s/대상 문자열/바꿀 문자열/g (global)로 지정
    대소문자 무시는 i를 끝에 붙임
    :s/ssh/telnet/gi
    대문자로 변경
    :s/대상 문자열/\U&/
    소문자로 변경
    :s/대상 문자열/\L&/

비주얼 모드
v를 눌러서 진입 시, 화살표로 블럭 지정
shift + v를 누를 시, 라인으로 블럭 지정
ctrl + v를 누를 시, 블럭 지정
y-> 복사
d-> 잘라내기
c, s-> 수정
U -> 대문자로 변경
u -> 소문자로 변경
J -> 지정한 블록들을 한 줄로 합치기
gv -> 이전에 지정했던 블럭 다시 잡기
ctrl + v로 블럭 지정 후, shift + ;하고 norm i[문자] -> 해당 문자로 주석처리

vi 환경변수
set nu -> 라인 표시
set ic -> 대소문자 무시
set ai -> 자동 줄바꿈(기존 커서 바로 밑으로)
set sm -> {[( 괄호 사용시 짝을 표시해주는 기능
set sts = [숫자] --> tab 키 눌렀을 때 너비를 지정
vi /etc/vimrc에 추가해서 사용

복구파일
비정상 종료, 혹은 이미 파일이 열린 상태에서 동일 파일을 열 때 발생
.[파일명].swp의 형식을 취하고 해당 파일 삭제 전 까지는 파일을 열 때 계속해서 물어봄
vi -r --> 복구파일이 현재 디렉터리에 있는지 찾아주는 명령어
vi -r [파일명] --> 해당 복구파일을 바로 열어줌
vi -o [파일명][파일명2] ... --> 동시에 파일 열기
vi -R [파일명] --> ReadOnly로 열기
vi . --> 브라우저 모드

입력모드 중
ctrl + p --> 단어 추천목록 제공
복수의 문자열을 복수의 단어로 치환
:%s/protocol(.{-})port/port\1protocol/gi
(.{-}) --> 몇 개의 단어가 반복되던 상관 x

profile
WAS Engineer, Cloud Engineer(지망)

0개의 댓글