[ 리눅스 ] shell & 명령어

hyunsooo·2021년 7월 28일
1
post-custom-banner

쉘이란?

  • 사용자가 문자를 입력하여 컴퓨터에 명령할 수 있도록 하는 프로그램

터미널/콘솔

  • 쉘을 실행하기 위해 문자 입력을 받아 컴퓨터에게 전달
  • 프로그램의 출력을 화면에 작성

종류

  • sh : 최초의 쉘

  • bash : Linux 표준 쉘

  • zsh : Mac 카탈리나 OS 기본 쉘

쉘 UX

  • username@hostname:current_folder

  • hostname : 컴퓨터 네트워크에 접속된 장치에 할당된 이름. IP대신 기억하기 쉬운 글자로 저장


pwd

현재 내가 있는 디렉토리를 확인하는 명령어

ls

현재 디렉토리에 있는 폴더와 파일을 확인하는 명령어
검은색은 file, 파란색은 folder, 초록색은 실행가능한 파일( e.g anaconda.exe )

  • 어떤 문자가 포함된 파일을 검색하고 싶을 때

  • 파일의 정보를 검색하고 싶을 때 ( -l옵션 / ls -l *.txt처럼 활용도 가능하다.)

cd

Change Directory 명령어로 디렉토리를 이동하는 명령어

  • 최상위 디렉토리인 루트 디렉토리로 바로 이동하는 방법

  • 현재위치에서 상위 디렉토리로 이동하는 방법

  • 유저의 홈디렉토리로 이동하는 방법 ( cd 엔터 )

  • 이동하기전에 있었던 곳으로 이동하는 방법

mkdir

디렉토리를 만드는 명령어

  • 한번에 여러개의 디렉토리 생성하는 방법

  • 디렉토리를 만들면서 하위 디렉토리를 생성하는 방법 ( -p 옵션 )

touch

파일을 생성하는 명령어

rm

파일이나 디렉토리를 삭제하는 명령어

  • 파일 삭제하기

  • 디렉토리 삭제하기

  • 모든 파일 삭제하기

cat

파일의 내용을 화면에 출력하는 명령어

more

cat 명령어는 전체를 한번에 다 보는 명령어지만, 양이 많은 경우 more명령어는 한줄씩 읽을 수 있다.

Tip
1. 읽다가 나가고 싶은 경우 q를 누르면 빠져나와진다.
2. 엔터를 이용해 한줄씩 읽을 수 있다.
3. 스페이스바를 이용해 크게 전진할 수 있다.
4. b를 이용해 후진할 수 있다.
5. f를 이용해 페이지 단위로 내려갈 수 있다.

history

진행되었던 명령어들을 다 볼 수 있으며 ! number로 history상 명령어를 다시 실행할 수 있다.

find

파일 및 디렉토리를 검색할 때 사용한다

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

export

환경 변수 설정

$ export water=물
$ echo $water
>>> 물

  • export로 환경 변수 설정한 경우 터미널이 꺼지면 사라지게 됨
  • 매번 쉘을 실행할 때마다 저장하고 싶다면 .bashrc, .zshrc에 저장
  • vi로 열고 하단에 export water="물"을 저장하고 나옴
  • 그 후 source ~/.bashrc 또는 source ~/.zshrc 실행
  • Linux환경 설정을 재로그인하지 않고 즉시 적용하려면 source만 사용

alias

자주 수행하는 명령어들을 쉽게 사용할 수 있도록 설정하는 명령어

  • 만들어진 alias 확인

  • alias 삭제

redirection

화면에 출력되는 결과를 파일로 저장하는 명령어 ( 백업 파일로 저장가능 )

head

문서의 처음 몇줄을 화면에 출력하는 명령어

wc

파일안의 단어의 개수 또는 라인의 수를 출력하는 명령어

pipe 명령어

앞의 명령어 | 뒤의 명령어의 구조를 띄고 있으며, 앞의 명령어의 출력을 뒤의 명령어로 보냄으로 명령의 실행결과를 다음 명령어로 전달하는 기능이다.

  • 화면에 출력된 결과의 건수를 출력하기

cut

파일에서 특정 필드를 추출

  • -f : 잘라낼 필드 설정
  • -d : 필드를 구분하는 구분자 설정, Default는 \t

grep

파일안에 포함된 특정 단어나 구문을 검색하는 명령어

  • 대소문자 구분하지 않는 옵션 ( -i )

  • m이 들어가는 사람이 몇명인지 알아보기

  • m이 들어가는 사람 이름만 출력하기

tip : awk를 이용해서 열만 선택하여 출력가능

awk

특정 컬럼을 출력하고자 할 때 사용하는 명령어
$awk '패턴 {action}' 파일명

  • toupper() , tolower()를 사용하여 대소문자를 만들어줄 수 있다.

  • substr(원하는열, 시작하는자리, 몇개를 가져올지) 를 이용하여 검색할 수 있다.

^, $

시작과 끝을 나타내는 문자 ( ^ , $ )를 사용할 수 있다.

sort

data를 특정 컬럼의 기준으로 정렬하는 명령어

옵션설명
-kascending 하게 정렬
-rkdescending 하게 정렬
-n정렬할때 숫자형태로 정렬하게 한다.
  • 6번째 컬럼을 기준으로 내림차순 정렬

  • 6번째 컬럼을 기준으로 내림차순 정렬 ( 숫자의 형태로 정렬 )

echo

출력하고자 하는 글자를 출력할 때 사용

  • 개행문자 처리 옵션 ( -e )

  • echo를 사용해 변수를 입력하고 read로 할당받아 사용할 수 있다.
    vi 편집기를 사용해 name.sh라는 스크립트를 만들고 연습 !


-n 옵션은 이용해 그 다음라인 name에 리뷰된다.

  • awk를 바로 쓰려면 변수선언을 해주어야 한다. ( -v ) 옵션

역 따움표 (``)

역 따움표를 써주고 =를 같이 사용하면 역 따움표 안에있는것이 변수에 할당된다.

tar

파일을 압축하거나 압축을 해제하는 명령어

  1. 압축할 때

$tar cvf 압축파일명 압축파일대상
$tar zcvf 압축파일명 압축파일대상

  1. 압축을 해제할 때

$tar xvf 압축파일명 압축해제위치
$tar zxvf 압축파일명 압축해제위치

옵션설명
-c파일을 tar로 압축해라
-v압축하거나 해제하는 과정을 보여달라
-f파일명을 지정
-xtar파일을 해제하라
-zgzip으로 압축하거나 해제하라
-C압축이 풀릴 위치를 지정

sed

sed 명령어는 내용을 변경할 수 있다.

  • s : 변경하겠다는 옵션 [ sed 's/변경전텍스트/변경후텍스트/' 파일명 ]
  • 실제로 a.txt 파일이 변경된건 아니고 변경한 결과만 출력해주는 것이다.
  • 변경한 내용을 저장하고 싶으면 redirection ( > , >> )을 사용해 저장해준다.

cp

파일을 복사하는 명령어

$cp 파일명 복사할파일명

$cp a.txt a_backup.txt

$cp 경로/파일명 경로/복사할파일명

$cp /home/hyunsookim/a.txt /home/hyunsookim/test/a_backup.txt

$cp 파일명(다수) 복사할경로

$cp *.txt /home/hyunsookim/test1/

mv

파일의 이름을 바꾸거나 파일을 다른 디렉토리로 이동하는 명령어

$mv 기존파일명 새로운파일명

$mv a.txt abc.txt

$mv 이동할파일명 이동할위치

$mv a.txt /home/hyunsookim/test1/

주의 : cp와 다르게 mv는 파일의 이름이 바뀌거나 이동하는것이기 때문에 주의해야 한다.

ps

현재 실행되고 있는 프로세스 출력하기

  • -e : 모든 프로세스

  • -f : Full Format으로 자세히 보여줌

curl

command line 기반의 data transfer 커맨드 : Cilent URL
웹 서버를 작성한 후 요청이 제대로 실행되는지 확인할 수 있음

  • curl -X localhost:5000/ {data}

df

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

  • -h : 사람이 보기 쉬운 형태로 출력
profile
지식 공유
post-custom-banner

0개의 댓글