이 영역을 누르면 첫 페이지로 이동
Coding Groot 블로그의 첫 페이지로 이동

Coding Groot

페이지 맨 위로 올라가기

[리눅스] 간단한 리눅스 명령어들 정리

Coding Groot

[리눅스] 간단한 리눅스 명령어들 정리

  • 2020.03.08 04:17
  • DevOps, Infra/Linux
글 작성자: Coding Groot

SSH

openssh로 터미널에 접속한다. telnet과 달리 평문 통신을 하지 않고 보안이 되어있다.

ssh -p 포트번호 아이디@호스트주소

보통 ssh와 동일한 포트로 ftp도 열어놓는다.

logout 또는 exit 명령어로 로그아웃한다.


SFTP

보안이 된 ftp이다.

sftp -P 포트번호 아이디@호스트주소

대문자 P를 사용해서 포트번호를 지정하는 것을 주의하자.

  • get을 하면 다운
  • put을 하면 업로드
  • bye를 하면 종료
sftp의 옵션들

SCP

scp 명령어는 별도의 글을 작성했다.

2020/04/15 - [Programming/Linux] - [리눅스] scp 기본 사용법


List

파일을 모두 리스팅한다.

ls

숨긴 파일과 권한까지 포함하여 한 줄씩 파일을 모두 리스팅한다.

ls -al

Recursive mode로 전부 리스팅한다.

ls -alR

특정 폴더만 Recursive mode로 전부 리스팅한다.

ls -alR ./.git/refs/heads

PWD

현재 내가 작업하고 있는 디렉토리(Working Directory) 경로를 출력한다.

pwd

ID

uid, gid, 내가 속한 그룹이랑 유저명을 출력한다.

id

File

파일이 어떤 형식인지 알려준다.

file 파일명

출력 예시

  • 디렉토리
  • 아스키 텍스트
  • utf-8 유니티드 텍스트

Find

특정 조건을 만족하는 파일을 찾아준다.

find 찾을디렉토리 조건

예시

  • 루트 디렉토리 아래의 모든 파일을 조사한다
    find / -name 파일명 -user 파일의_소유자 -group 파일의_소유_그룹
  • 현재 폴더에서 1023바이트짜리 파일 조사한다
    find . -size 1023c
  • 현재 폴더에서 1023바이트 이상의 파일 조사한다
    find . -size +1023c
  • 표준 출력 자료들을 rst.txt에 저장한다
    1>~/rst.txt
  • 표준 에러 자료들을 휴지통에 버린다 (/dev/null 은 일종의 휴지통이다)
    2>/dev/null

Redirection

리다이렉션의 종류

  • 표준 입력 0>
  • 표준 출력 1> 또는 >
  • 표준 에러 2>

>와 >>의 차이

덮어쓰기 vs 덧붙이기

  • >: 파일이 있다면 덮어쓴다.
  • >>: 파일이 있다면 끝에 append한다.
  • 둘 다 파일이 없다면 생성해준다.

Pipeline

표준 출력을 다른 프로그램의 입력으로 바꿔준다.

아래의 명령어는 A를 B프로그램의 입력으로 바꿔준다

A | B -B프로그램의_옵션들

Grep (필터링)

정규식과 일치하는 텍스트를 출력해준다.

grep 필터링조건들 텍스트명

예시

  • a.txt파일에서 first로 시작하는 줄 출력한다
    grep first a.txt
  • 위랑 동일한 기능을 한다
    cat a.txt | grep first
  • b.txt파일에서 줄의 첫번째 부터 second로 시작하는 것을 찾고 싶으면? (^: 줄의 처음 뜻함)
    ^second
  • c.txt파일에서 한 단어 onlyword만 있는 줄을 찾고 싶으면? ($: 줄의 끝을 뜻함)
    ^onlyword$

More / Less

사용자에게 계속 확인(엔터 누르면 계속 내려감)을 받아가며 파일을 처음부터 읽게 해주는 프로그램이다.

more 파일명

아주 긴 텍스트 읽을 때 용이하다. Page Up / Down 키로 한 페이지씩 읽을 수도 있다.

Less는 More와 반대로부터 읽는 명령어이다.


Uniq

중복된 값을 제거한다.

uniq 파일명

중복된 값을 제거하지 않고 카운팅만 하고 싶으면 옵션 -c를 사용한다.

uniq -c 파일명

주의할 점

이어지는 값들과 비교를 해서 중복인지 판단을 한다.

// a.txt의 내부 파일
A
B
C
A
B
C

uniq a.txt를 실행하면 항상 바로 아래의 값과 다르므로 항상 중복이 안 되었다고 판단한다.
따라서 다음과 같은 경우 먼저 sorting을 한 후 실행해야 제대로 중복 값을 제거 할 수 있다.
cat a.txt | sort | uniq


Strings

파일 안에서 4글자 이상의 아스키 문자열들을 출력한다.

cat이나 vi와 호환이 안 되는 (ex. data, binary) 파일을 읽고 싶은 경우에 사용하면 된다.

strings a.txt

Base64 Encoding을 Decoding하는 법

-d 또는 --decode 옵션으로 Base64로 엔코딩된 문자열를 해석할 수 있다. Base64로 엔코딩했다면 그 문자열은 ==으로 끝나는 것이 특징이다.

base64 -d 문자열

디코딩 옵션을 안 넣으면 엔코딩해준다.


Translate

문자를 변경하거나 삭제하는 프로그램이다. -d옵션을 사용하면 지우고 싶은 문자열을 지울 수 있다.

소문자를 대문자로 바꿔보자.

tr "a-z" "A-Z" 문자열
tr '[a-z]' '[A-Z]' 문자열

"_"만 지워보자.

tr -d "_" 문자열
_를 제거해준다.

Manage Process

PS

Processes Status의 줄임말이다. 현재의 Process들의 스냅샷을 보여주며 많은 옵션들이 존재한다.

ps 명령어

표준 문법으로 ps 출력하기

ps -eF

Kill

프로세스를 종료시키는 명령어이다. Process ID(PID)로 해당 프로세스를 종료시킬 수 있다. PID는 ps와 같은 명령어로 알 수 있이다.

kill 프로세스id

서버를 종료를 했음에도 1234번 포트에서 연 Python TCP 서버의 Process가 계속 남아있어서 1234번 포트를 사용하지 못하고 있다. 이런 상황에서는 ps로 python을 실행중인 process들을 출력하는 해당하는 pid를 찾아내서 kill하면 해결할 수 있다.

1234번 포트를 이용하는 프로세스 찾아서 kill하기

Top

윈도우 작업관리자와 비슷한 프로그램. Process들의 상태를 실시간으로 확인할 수 있다.

top
Top 명령어

VIM

명령 모드일 때

명령어들 정리

  • dd: 한 줄을 삭제한다, dw: 한 글자를 삭제한다
  • x: 단어 하나를 삭제한다
  • u: 변경한 것을 되돌린다( = ctrl+z와 같은 기능)
  • i: 현재 커서 위치를 시작 지점으로 두고 삽입모드로 진입한다
  • a: 현재 커서 다음 칸 위치를 시작 지점으로 두고 삽입모드로 진입한다
  • 커서 움직이기
    • 위: k
    • 아래: j
    • 오른쪽: l
    • 왼쪽: h

명령모드에서 :을 입력한 후 실행 가능한 명령어 (:____)

명령어들 정리

  • w: 현재 파일명으로 저장한다
  • q: quit한다, q!: 강제로 quit한다
  • w 파일명: 파일명으로 저장한다
  • f 파일명: 파일 이름을 바꾼다
  • 숫자: 해당 라인으로 이동한다
  • set nu/set number: vim 라인 번호 왼쪽에 노출시킨다
  • ! 명령어: !를 이용하면 vim 안에서 외부 명령어를 실행할 수 있다
  • set shell ?: 현재 실행중인 shell 출력한다
  • set shell=shell경로: 특정 shell로 바꾼다
    • cat /etc/shells의 결과로 출력되는 shell 중 하나로 선택할 수 있다
반응형

댓글

댓글을 사용할 수 없습니다.

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • [WSL1/WSL2] 홈 디렉터리 위치 :: WSL 홈으로 Windows 파일 옮기기

    [WSL1/WSL2] 홈 디렉터리 위치 :: WSL 홈으로 Windows 파일 옮기기

    2020.05.16
  • [리눅스] apt, apt-get의 사용법 비교

    [리눅스] apt, apt-get의 사용법 비교

    2020.05.01
  • [리눅스] scp 기본 사용법

    [리눅스] scp 기본 사용법

    2020.04.15
  • [Quick Fix] WSL Powerline9k Theme 깨짐/이상하게 보이는 오류 해결법 :: Overflowing rPrompt on WSL

    [Quick Fix] WSL Powerline9k Theme 깨짐/이상하게 보이는 오류 해결법 :: Overflowing rPrompt on WSL

    2020.03.23
다른 글 더 둘러보기

정보

Coding Groot 블로그의 첫 페이지로 이동

Coding Groot

  • Coding Groot의 첫 페이지로 이동

검색

메뉴

  • 홈
  • 태그
  • 방명록
  • 소개
  • 블로그 저작권

카테고리

  • 분류 전체보기 (182)
    • Git (23)
      • Git Tutorial (9)
      • Git Note (7)
      • Git Lecture (7)
    • Programming Language (1)
      • C (2)
      • C Sharp (5)
      • Java (4)
      • JavaScript (7)
      • Julia (5)
      • Python (4)
    • Programming (8)
      • Algorithm (2)
      • Compiler (5)
      • Data Structure (0)
      • Web (12)
      • NestJS (2)
    • DevOps, Infra (36)
      • Apple (6)
      • Cloud (15)
      • Database (1)
      • Network (4)
      • Linux (8)
    • Game Programming (11)
      • Unity Tutorial (5)
      • Unity Note (6)
    • Hardware Design (1)
      • Digital Circuit (1)
    • Note (49)
      • Coffee (2)
      • Retrospect (15)
      • Reading List (14)
    • Mathematics (1)

인기 글

공지사항

태그

  • git
  • Github
  • javascript
  • 서평
  • tutorial
  • aws
  • 회고
  • 한빛미디어
  • 전체 보기…

정보

Coding Groot의 Coding Groot

Coding Groot

Coding Groot

블로그 구독하기

  • 구독하기
  • RSS 피드

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기

나의 외부 링크

  • GitHub
  • SlideShare
  • 유니티 2020 수업
  • TIL Blog
  • 모도코

방문자

  • 전체 방문자
  • 오늘
  • 어제
Powered by Tistory / Kakao. Copyright © Coding Groot.

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.