리눅스

wow_kim·2021년 3월 6일
0
post-thumbnail

명령어

  • clear

  • ls : 디렉토리 안에 있는 파일 list

    • ls -l(우분투 : l) : 좀 더 자세하게(권한, 수정 일자, 용량 등)
    • ls -al(우분투 : ll) : 모든 파일 list(.으로 시작하는 파일까지 포함)
      • a는 보통 전체를 의미
    • ls -alt : 시간순으로 정렬
  • alias : 단축키(직접 만들 수도 있음)

  • touch : 파일 만들기

  • mv 파일 경로 : move(파일을 옮기고 싶다, 이름 바꾸기도 가능)

    • . : 현재 경로를 의미
    • .. : 이전 경로를 의미
  • mkdir : 폴더 만들기(make directory)

  • cd 경로 : 폴더 위치 바꾸기(change directory)
    - cd : Home 폴더

    • cd - : 이전 폴더로 이동
    • 상대경로 / 절대경로
  • cp 파일1 파일2 : 파일1을 파일2의 이름으로 복사(copy), 경로를 바꿀수도 있다.

  • rm 파일 : 파일 삭제(remove), 휴지통 이런거 없음!, 폴더는 지울 수 없음!

    • rm -i 파일 : 지워도 되는지 한번 더 물어봄
    • rm -f 파일 : 강제로(force)로 지운다.
    • rm -rf 파일/폴더 : 폴더도 지울수 있다.
  • top : 내 컴퓨터의 상태를 보여줌(CPU 등), q로 끌 수 있음

  • htop : 좀 더 예쁘게 보여줌

  • ps : 프로세스, 현재 실행하고 있는 프로그램을 볼 수 있다는 것이 의미 있음

  • df : 디스크 정보를 보여줌(램 등)

  • du : 용량을 얼마나 가지고 있는지 보여줌

  • find : 현재 폴더에 들어있는 모든 파일을 검색

    • find | grep 파일/폴더 : 파일/폴더의 위치를 찾음
  • man : 명령어의 기능을 알려줌(manual), 거의 급할때..?

  • which : 명령어의 위치(환경?)를 보여줌

    which python3

  • tail : 파일의 변화를 실시간 트래킹, 파일의 끝부분 몇개를 보여줌

  • echo : 입력한거 그대로 출력

  • echo > 파일 : 출력에 대한것을 파일에 덮어씀

  • echo >> 파일 : 출력에 대한것을 파일에 추가

  • cat 파일 : 파일에 입력된 것 출력

  • tail -f 파일 : 다른 서비스에서 파일이 변형되는 것을 모니터링할 수 있다!

    • 빠져나오려면 Ctrl + z
  • 다중 명령어 세미콜론(;) : 명령어;명령어;명령어 + Enter

    • 중간에 잘못된 명령어가 있어도 끝까지 실행함(주의!!!)
  • 다중 명령어 &&, ||

    • 명령어1 && 명령어2 : 명령어 1을 실행하고 문제가 없다면 명령어 2도 실행, 문제있으면 명령어 2 실행 안함
    • 명령어1 || 명령어2 : 명령어 1을 실행하고 문제가 있다면 명령어 2를 실행, 문제가 없으면 명령어 1만 실행
  • 다중 명령어 파이프(|) : 명령어의 결과에 대해 2차적으로 처리하고 싶음.

    • grep, awk등과 많이 사용됨.
    • cat 파일 | grep "text" -n : -n은 넘버링, 파일 속에 "text"가 포함된 줄을 출력
    • 로그에서 필요한 것만 정규표현식등으로 가져올 수 있다!!
  • vi 파일 : 터미널 환경에서 쓸 수 있는 텍스트 편집기, 정규표현식도 가능,

    • Command Mode, Editor Mode, Last Line Mode
  • Redirection(> : 덮어쓰기, >> : 추가) : 표준 출력으로 발생한 결과를 파일로 저장

    • ps -ef > ./process list.txt
    • echo abc >> 파일
    • 어떤 프로그램의 output을 로그 파일로 저장
    • ps -ef | awk ' { print $2 }
  • File Descriptor : 표준 입출력, 에러를 숫자로 나타낼수 있음

    • 0 : stdin : 명령어의 표준 입력
      • fjgfgkd 1> err_test
    • 1 : stdout : 명령어의 표준 출력
      • dfajfkf 2> err_test
    • 2 : stderr : 명령어의 표준 오류

Tool

  • apt-get : 필요한 패키지, 프로그램을 설치 할 수 있는 패키지 관리 도구
  • htop : top을 좀 더 예쁘게 꾸며서 보여줌ㅎ
  • nohup : 내 스크립트가 터미널을 끄더라도 계속 실행시키고 싶을 때 &와 함께 백그라운드로 실행
  • screen(tmux) : nohup을 백그라운드로 가버린 프로세스는 다시 볼 수 없지만 screen을 띄워서 실행하면, 해당 세션을 다시 복원할 수 있음

계정과 권한

  • drwx
    소유자의 권한, 그룹의 권한, 소유자가 아닌 사람의 권한을 구분
    root 계정 : 모든 권한을 가진 계정

  • chmod 777 : 권한을 각각 다르게 줄 수 있음!

  • sudo : 시스템의 중요한 부분을 변경하거나 업데이트해야 할 때, Root 계정 접속을 남발하면 귀찮기도 하고, 보안상 좋지 않으니 일시적으로 Root의 권한을 위임 받을 수 있는 방법

    • sudo가 가능한 계정이 있음
    • sudo apt-get install ~~
  • 환경변수 $PATH : 프로그램을 실행할 때 자동으로 참조하는 절대경로의 모음, 왼쪽으로 갈수록 우선 순위가 높으며, 발견 즉시 바로 실행 됨

    • /bin : 일반사용자, 기본적인 명령어
    • /sbin : 슈퍼유저(root), 시스템 관리를 위한 명령어
    • /usr/bin : 일반사용자, /bin에 있는 명령을 제외한 기본적인 명령어
    • /usr/sbin : 슈퍼유저(root), sbin에 있는 명령을 제외한 시스템 관리를 위한 명령어
    • export 명령어로 환경변수를 추가(일시적)

쉘 스크립트

  • 쉘 위에서 실행 가능한 명령어를 조합해서 작업을 자동화 하기 위해 사용
  • 똑같은 작업을 자동으로 해버리자!
  • 셔뱅 : `#! 인터프리터 위치, 쉘 스크립트를 시작할 때 맨 처음에 기입, 스크립트를 해석하는 인터프리터를 지정하는 것
    • ex) : #!/usr/bin/python3
    • 인터프리터 : 쉘 명령어를 해석하는 것

변수

  • 선언 : var = ?
  • 사용 : $var
  • 특수한 경우 : ${var}
  • 매개변수 : $0, $1.., $*, $@, 스크립트를 제어
  • 산술 덧셈은 추가 처리 필요 : $((1+2)), 입력 매개변수는 기본적으로 스트링

조건문, 비교 연산자

  • if then ~ eilf then ~ fi
  • 정수 -eq, -ne, -gt, -lt, -ge, -le
  • 문자열 ==, !=, -z, -n
  • 정수와 문자열의 비교방식이 다름, 괄호를 두개 넣는다거나 문자열로 인식되도록 변환하는 방법이 있음.

반복문

  • while 조건
  • for 지정된 범위
  • break, continue, exit으로 제어

유의사항

  1. space가 필요한 곳은 확실히 넣어줘야 함
  2. 중간에 에러가 나더라도 계속 진행
  3. 엔터 잘못 쳤다가 전부 날려먹을 수도...ㄷㄷ
profile
def __wow__(?):

0개의 댓글