5주차 Linux 정리

kimkihoon·2022년 2월 17일
0

부스트캠프 AI

목록 보기
15/49

Linux

서버에서 자주 사용하는 OS, 무료이다.

Shell Command

쉘을 사용하는 경우
\cdot 서버에서 접속해서 사용하는 경우
\cdot crontab 등 Linux 내장 기능 활용하는 경우
\cdot 데이터 전처리를 하기 위해 쉘 커맨드 사용
\cdot Docker를 사용하는 경우
\cdot 수백대의 서버를 관리할 경우

기본적인 쉘 커맨드

mkdir : 폴더 생성하기
mkdir linux-test

ls : 현재 접근한 폴더의 폴더, 파일 확인
ls -a : .으로 시작하는 파일, 폴더를 포함해 전체 파일 출력
ls -l : 퍼미션, 소유자, 만든 날짜, 용량까지 출력
ls -h : 용량을 GB,MB등 표현 보통 ls-lh 등으로 사용

pwd : 현재 폴더 경로를 절대 경로로 보여줌

cd : 폴더 변경하기, 폴더로 이동하기
cd linux-test

echo : 터미널에 텍스트 출력
echo 'hi', echo pwd

vi : vim 편집기로 파일 수정 생성 저장 가능
vi vi-test.sh : 파일 생성
그 후 i를 누르면 INSERT 모드
ESC누르고 :wq 저장 & 종료
dd : 현재 위치한 한 줄 삭제
x : 커서가 위치한 곳의 글자 1개 삭제 (nx : 문자 n개 삭제)
yy : 현재 줄을 복사
p : 현재 커서가 있는 줄 바로 아래에 붙여넣기
k : 커서 위로
j : 커서 아래로
l : 커서 오른쪽으로
h : 커서 왼쪽으로

bash : 쉘 스크립트 실행
bash vi-test.sh

sudo : 최고 권한을 가진 슈퍼 유저로 프로그램 실행

cp : 파일 또는 폴더 복사하기
cp vi-test.sh vi-test2.sh
-r : 디렉토리 복사시 안에 파일이 있으면 모두 복사
-f : 복사할 때 강제로 실행

mv : 파일, 폴더 이동하기
mv vi-test.sh vi-test3.sh

cat : 특정 파일 내용 출력
cat vi-test.sh
파일을 저장하고 overwrite 하고 싶은 경우
cat vi-test2.sh vi-test3.sh>new_test.sh
파일에 추가하고 싶은 경우
cat vi-test2,sh vi-test3.sh>>new_test.sh

history: 최근에 입력한 쉘 커맨드 출력
!n 입력시 n번째에 사용했던 커맨드 다시 활용

find : 파일 및 디렉토리를 검색할 때 사용
find .-name"File": 현재 폴더에서 File이란 이름을 가지는 파일 및 디렉토리 검색

export : 환경변수 설정
export로 환경변수를 설정하면 터미널이 꺼지면 사라지게 되므로 .bashrc, .zshrc에 저장하면 터미널이 꺼져도 계속 저장되어 있다.

alias : 기본 명령어를 간단히 줄일 수 있는 명령어
alias ll2='ls-l' : ll2를 입력하면 ls-l이 동작하게 된다.

head,tail : 파일의 앞/뒤 n행 출력

sort : 행 단위 정렬
-r : 정렬을 내림차순으로
-n : Numeric Sort

uniq : 중복된 행을 제거 보통 sort와 함께 사용한다.
-c : 중복 행의 개수 출력

grep : 파일에 주어진 패턴 목록과 매칭되는 라인 검색
-i : 대소문자 구분 없이 찾기
-w : 정확히 그 단어만 찾기
-v : 특정 패턴 제외한 결과 출력
-E : 정규 표현식 사용

정규 표현식 패턴
^단어 : 단어로 시작하는 것 찾기
단어$ : 단어로 끝나는 것 찾기
. : 하나의 문자 매칭

cut : 파일에서 특정 필드 추출
-f : 잘라낼 필드 지정
-d : 필드를 구분하는 구분자. \t가 Default이다.

ps : 현재 실행되고 있는 프로세스 출력하기
-e : 모든 프로세스
-f : Full Format으로 자세히 보여줌

curl : Command Line 기반의 Data Transfer 커맨드, Request를 테스트할 수 있는 명령어
웹 서버를 작성한 후 요청이 제대로 실행되는지 확인할 수 있음
curl -X localhost:5000/ {data}

df : 현재 사용중인 디스크 용량 확인

scp : SSH를 이용해 네트워크로 연결된 호스트 간 파일을 주고 받는 명령어
-r : 재귀적으로 복사
-P : ssh 포트 지정
-i : SSH 설정을 활용해 실행
local => remote

nohup : 터미널 종료 후에도 작업이 계속 유지하도록 실행

chmod : 파일의 권한을 변경하는 경우 사용

Redirection & Pipe

  • Redirection : 프로그램의 출력을 다른 파일이나 스트림으로 전달

    >> : 덮어쓰기 파일이 없으면 생성하고 저장
    >>>> : 맨 아래에 추가하기

  • Pipe : 프로그램의 출력을 다른 프로그램의 입력으로 사용하고 싶은 경우

0개의 댓글