리눅스 쉘 커맨드 정리1

Sung Dong Kim·2022년 1월 4일
0

linux

목록 보기
1/2

개발에 본격적으로 입문하면 리눅스를 다룰 일이 많아진다.
자주 사용되는 리눅스 커맨드에 대해 알아보자.

cd

경로를 이동한다.

ls

현재 디렉터리의 파일들을 보여준다. (List Segments)

-a : .으로 시작하는 파일, 폴더들까지 전체 출력
-l : 권한, 소유자, 만든 날짜와 용량까지 풀력
-h : 용량을 사람이 읽기 쉽도록 GB, MB로 변환

뒤에서도 나오겠지만 옵션들은 조합해서 함께 쓸 수 있다.
예를 들어 다음 명령어는 권한, 소유자, 만든날짜, 용량을 보여주면서 용량을 GB, MB로 변환해준다.

$ ls -lh

pwd

현재 위치의 절대 경로를 보여준다. (Print Working Directory)
p가 present를 의미하는 줄 알았는데 아닌가 보다.

man

쉘 커맨드의 메뉴얼을 보여준다.(manual의 약자)

$ man apt

mkdir

폴더 생성 (make directory)

echo

print처럼 터미널에 텍스트 출력
`쉘 커맨드` (backtick) 처럼 사용하면 커맨드 자체가 아닌 커맨드의 결과를 띄운다.

vi

vim 편집기로 파일을 생성하거나 편집할 수 있다.

vi 편집기는 3가지 모드가 있다

  • Command Mode
    기본 모드
    방향키로 커서 이동
    dd : 현재 커서가 위치한 줄 삭제
    i : insert모드로 변경
    x : 커서가 위치한 곳의 글자 삭제
    yy : 현재 줄 복사
    p : 커서가 있는 줄 바로 아래에 붙여넣기
    k, j, h, l : 상하좌우 커서 이동

  • Insert Mode
    기본 모드에서 i를 누르면 나타나는 모드
    파일 수정 가능

  • Last Line Mode
    ESC를 누르고 콜론(:)을 누르면 나오는 모드
    w : 현재 파일명으로 저장
    q : 저장하지 않고 vi 종료
    q! : 저장하지 않고 vi 강제 종료
    wq : 저장하고 종료
    /문자 : 해당 문자 탐색(n을 누르면 다음 탐색)
    set nu : vi 라인 번호 출력

bash

bash로 쉘 스크립트 실행
쉘 스크립트란 파이썬 스크립트처럼 쉘 명령어를 파일화(?)한 것. .sh로 저장된다.

sudo

관리자 권한으로 실행하고 싶은 경우 커맨드 앞에 sudo를 붙임

cp

Copy
cp 복사할파일 복사될파일

-r : 디렉토리를 복사할 때 안에 파일이 있으면 재귀적으로 복사
-f : 강제로 실행

mv

Move
파일, 폴더를 이동
이름을 바꿀 때도 사용할 수도 있다.

cat

concatenate
특정 파일 내용 출력

여러 파일을 주면 한꺼번에 출력
파일을 overwrite하고 싶은 경우

cat hello-world.sh > new-hello-world.sh

파일을 append하고 싶은 경우

cat hello-world.sh >> new-hello-world.sh

history

최근에 입력한 쉘 커맨드들의 기록 출력
결과에서 느낌표를 붙이고 줄번호를 입력하면 해당 커맨드를 다시 실행한다.

find

파일이나 디렉토리를 검색
find 디렉토리 -name "찾을이름"

export

환경변수를 설정할 때 사용한다.
환경변수는 앞에 $를 붙이고 사용

환경변수는 터미널이 꺼지면 사라지며 매번 쉘을 실행할 때마다 환경변수를 저장하고 싶으면 .bachrc에 지정하고 싶은 환경변수에 대해 export 커맨드를 추가하면 된다.

alias

alias = 별칭
터미널에 alias를 검색하면 현재 별칭으로 설정된 것들을 볼 수 있고

alias llh='ls -lh'

등으로 별칭을 새로 등록할 수 있다.

| (파이프)

프로그램의 출력을 다음 프로그램의 입력으로 사용하고 싶은 경우
예)
1. 현재 폴더 안에서 'GOPR'이란 단어를 포함한 파일들을 찾아 정렬하고 싶다.

$ ls | grep "GOPR" | sort
  1. streamlit라는 이름을 가진 프로세스의 pid를 알고싶다.
$ ps | grep "streamlit"

>, >> (Redirection)

프로그램의 출력을 다른 파일이나 스트림에 전달
> : 덮어쓰기
>> : 맨 아래 추가

grep

파일에 주어진 패턴 목록과 일치하는 라인을 검색한다.

옵션
-i : Insensitively, 대소문자구분x
-w : 정확히 그 단어만
-v : 특정 패턴을 제외한 결과 출력
-E : 정규 표현식 사용

cut

파일에서 특정 필드만 추출
-f : 잘라낼 필드 지정
-d : delimeter 구분자 지정

예를 들어 csv에서 특정 칼럼만 추출하고 싶을 때

cat mycsv.csv | cut -d , -f 1,2,3

로 하면 된다. (csv는 쉼표로 구분된 파일)

sort

정렬.
-r 하면 반대로

uniq

중복 행을 제거한다.

profile
notion으로 이사갔어요

0개의 댓글