[리눅스] 간단한 리눅스 명령어들 정리
SSH
openssh로 터미널에 접속한다. telnet과 달리 평문 통신을 하지 않고 보안이 되어있다.
ssh -p 포트번호 아이디@호스트주소
보통 ssh와 동일한 포트로 ftp도 열어놓는다.
logout
또는 exit
명령어로 로그아웃한다.
SFTP
보안이 된 ftp이다.
sftp -P 포트번호 아이디@호스트주소
대문자 P를 사용해서 포트번호를 지정하는 것을 주의하자.
get
을 하면 다운put
을 하면 업로드bye
를 하면 종료
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 -eF
Kill
프로세스를 종료시키는 명령어이다. Process ID(PID)로 해당 프로세스를 종료시킬 수 있다. PID는 ps와 같은 명령어로 알 수 있이다.
kill 프로세스id
서버를 종료를 했음에도 1234번 포트에서 연 Python TCP 서버의 Process가 계속 남아있어서 1234번 포트를 사용하지 못하고 있다. 이런 상황에서는 ps로 python을 실행중인 process들을 출력하는 해당하는 pid를 찾아내서 kill하면 해결할 수 있다.
Top
윈도우 작업관리자와 비슷한 프로그램. Process들의 상태를 실시간으로 확인할 수 있다.
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 중 하나로 선택할 수 있다
댓글
이 글 공유하기
다른 글
-
[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