개발자가 내팔자

[Linux] 간단한 Shell 명령어 알아보자 본문

IT

[Linux] 간단한 Shell 명령어 알아보자

야생의 개발자 2022. 6. 14. 01:01

귀여운 터미널 >_

 

Hash-bang (Shebang)

  • 셸 스크립트 맨 첫 줄에 나오는 것
  • #!/bin/sh #!/bin/bash

Conditional execution

  • 정상 종료 if return 0 else 비정상 종료

Shell execution

  • $는 nesting이 가능하지만 `는 그렇지 않음. 웬만하면 첫번째 것을 추천.
  • $? → exit code

Redirection

  • 미니셸 만들던 기억이 새록새록..!
  • &는 표준입출력 둘 다 포함
  • tee 라는 명령어 : 받은 입력을 저장도 하고 출력도 한다.

Bash tests

  • [ 이것 자체가 명령어임
  • ret = "" ["$ret" == "0"]
  • [[ 이게 좀 더 나음 (굳이 double quotes를 안해줘도 됨)
  • [[ $ret == 0 ]]

Useful commands

  • uniq : 로그파일을 읽어서 몇번 api가 몇번 요청이 들어왔는지 체크 가능
  • xargs : 공백 빼고 값만 넘겨준다거나 바로 명령을 실행할 수 있음. 편하게 arg로 넘겨주는
  • cut : 텍스트를 보고 싶은 것만 자를 대 쓰는 명령어
  • awk → 너무 유용하므로 따로 예제 보여주겠음
  • cat - tac : 파일을 라인단위로 reverse해서 보여줌
  • head : 상위 몇 번째만 보는 명령어
  • tail : 마지막 몇 줄만 보여주는 명령어
  • more : 앞만 보고 가는 명령어
  • less : 뒤로 갈 수도 있음
  • tee : 입력 받은 것을 출력 저장 둘 다 하는
  • wait : 백그라운드에서 실행시켜놓고 batch 처리하는 명령어
  • date : 날짜
  • time : 시간이 얼마나 소요됐는지 보여줌
  • basename : 경로를 인자로 받고 확장자를 자르고 보여줄 수 있음
  • dirname : directory 보여줌
  • realpath : 절대 경로
  • which : PATH 환경 변수에 있는 것의 경로
  • jobs : 백그라운드로 실행되는 것들의 리스트를 볼 수 있음 (fg / bg(ctrl + z를 하면 fg→bg로 빠져나오게 됨) / kill)
  • history
  • set -o vi : shell에서도 vim 명령어를 쓸 수 있음
  • cd ~ : 홈 디렉토리로 이동
  • cd - : 현재 경로의 바로 이전 경로로 이동 (뒤로가기?)
Comments