2023.11.15 2일차 회고

  • 2일차 공부

- 전날 수업내용을 복습

- 쉘 제어문인 if문(조건문)과 for문(반복문) 공부 및 쉘 스크립트 실습

- 주요 쉘 명령어 grep, find 공부 및 활용예시를 통한 실습

- 사용자와 그룹에 대한 이론과 사용자 교체 후 파일권한 관련 테스트 실습 및 사용자 계정 삭제 실습

- 파일권한에 대한 이론과 실습

- 프로세스 목록조회 명령어 ps 실습

- nginx의 역할 공부

- 네트워크 관련 명령어 공부

- 리눅스 파일 편집기 vi 사용법 공부

 

위 순서대로 수업을 진행하였다. 수업 중 정보처리기사 자격증이나 SQLD(mysql, oracle) 자격증을 취득하는 것을 추천한다고 얘기해주셨다. 지금 정보처리기사 필기까지는 합격했는데 학원 수업을 병행하면서 정보처리기사 실기까지 취득하면 좋을거 같다는 생각이 들었다. 또, 프로그래머스에서 코딩테스트 문제를 하루에 한문제 푸는것을 꾸준히 하면 좋을 거 같다고 추천해주셔서 블로그에 매일 회고글 올리는 것과 프로그래머스에서 코딩테스트 하루에 한문제 푸는 것을 목표로 교육 기간 내내 꾸준히 실천해보려고 한다.

 

GitHub를 교육을 시작하면서 제대로 처음 시작해보았는데 메인 화면 잔디 채우는 재미가 쏠쏠해서 수업실습 내용도 올리고 프로그래머스 코딩테스트도 GitHub에 연동해서 꾸준히 채워나갈 생각이다.

채우기만 하는게 아니라 채우면서 실력도 같이 성장했으면 좋겠다.

 

이제 리눅스 수업은 마무리되고 데이터베이스 수업을 진행할 텐데 백엔드 개발자로서 데이터 베이스에 대해 잘 알고 다루는 것이 중요하다고 많이 들었어서 수업도 열심히 듣고 복습도 열심히 할 생각이다.

 

  • 2일차 공부 메모

1일차 수업 복습 진행

 

ls -alrt : 시간 순서대로 파일정렬하여 보여줌

웹서비스가 어떻게 구동이 되는지 전체적으로 이해가 필요

언어는 도구일뿐

쉘 제어문

  • if문(조건문)#조건이 참일 때 실행할 명령(echo “hello world”)#첫 번째 조건이 거짓이고 다른 조건이 참일 때 실행할 명령#모든 조건이 거짓일 때 실행할 명령(echo “hello java”)
  • fi #if문이 끝남.
  • else
  • elif [다른조건]; then
  • if [ 조건 ]; then - 대괄호에 공백 있어야
  • for문(반복문)#반복할 명령for a in (1,2,3,4,5 …100); dodone
  • = hello world 100번 출력
  • echo “hello world”
  • done
  • for 변수 in 항목들; do

===== if 문, for문 쉘 스크립트 실습 =====

주요 쉘 명령어

  • grep
    • 파일 내에서 특정 패턴이나 문자열을 검색
    • grep [옵션][패턴][파일명/디렉토리]
    • -r옵션 : 디렉토리 내 모든 파일에서 검색
    • -i옵션 : 대소문자 구분 없이 검색
    • -n옵션 : 라인수 출력
    • 예시) grep -rin “hello” mydir
    • hello 문자열을 라인수와 함께 mydir폴더에서 대소문자 구분 없이 검색

  • find
    • 파일이나 디렉토리를 검색하여 위치출력
    • find [경로][옵션][행동]
    • -name옵션 : 파일명으로 검색
    • -type : 타입으로 검색 (f는 파일, d는 디렉토리 등 파일타입으로 검색)
    • -exec, \, {}
      • exec : find로 찾은 결과에 대해 실행명령
      • \ : exec의 종료지점을 의미
      • {} : find로 찾은 대상이 담기는 공간을 의미
    활용예시
    • find . -name “*.txt” | xargs grep -n “hello”
      • |(파이프라인)을 통해 그 다음 명령어로 전달
      • xargs는 입력받은 파일을 한줄씩 읽는것을 의미
    • find . -name “*.txt” -exec echo {} \;
      • find로 찾은 파일에 대해 echo명령어 실행
      • find . -name “*.txt” -exec cp {} ./testFolder/ \;
    • find . -name "*.txt" | xargs grep -rin "hello”
      • 변환 : find . -name “*.txt” -exec grep -rin “hello” {} \;
    • find를 통해서 .java로 끝나는 파일목록 listing 그 후 grep 사용하여 찾기

  • 사용자와 그룹
    • sudo 키워드는 현재 계정에서 root 권한을 이용하여 명령어를 실행하는 프로그램(현재 사용자의 비밀번호를 입력)
    • /etc/sudoers 파일에 sudo를 쓸 수 있는 사용자와 명령어가 따로 정의돼 있어서 아무사용자가 아무명령어를 사용하는 것은 불가
    사용자 교체 후 파일권한 관련테스트
    • su newuser1 엔터 후 전환하고자 하는 계정의 비밀번호 입력
    • 원래 사용자로 돌아오려면 exit
    계정 삭제
    • sudo userdel newuser1
    파일권한
    • chmod xxx test.txt
      • test.txt파일에 대하여 소유자:소유드룹:그외(other)에 대해 권한을 부여
      • 숫자 표기법
        • 권한은 rwx(421) 권한으로 구성(Read, Write, Execute)
        • 그러므로 chmod 777 test.txt 형식으로 변경
        • test.txt 파일의 소유자, 그룹, other에게 rwxrwxrwx권한을 부여한다는 의미
      • 기호적 표기법
        • 권한을 변경할 때, 숫자 대신 기호를 사용하는 방법
        • chmod u+x test.txt : 소유자에게 실행 권한 추가
        • chmod g-w test.txt : 그룹의 쓰기 권한 제거
        • chmod 0=r test.tct : 다른 사용자의 권한을 읽기만 가능하게 설정
    =====실습=====
  • 유저에 write 권한 더하기그 외(others)에 read 권한만 설정하기
  • 파일 소유자
  • 그룹에서 실행권한 빼기
  • 현재 test.txt 파일 권한 : r-xr-x—-
  • 리눅스에서 super권한이 있는 root계정과 그 외 계정으로 사용자는 구성

apt-get : 데비안 계열

yum : redhat, centos

 

sudo apt-get update

sudo apt-get upgrade

= 목록만 최신화 갱신

 

프로세스 관련

  • ps : 프로세스 목록조회 (ps -ef)
    • -e : 모든 프로세스
    • -f : “Full format표시
      • PID(프로세스 ID), PPID(부모 프로세스 ID)
    • kill -9 [PID] : 프로세스 종료

nginx의 역할

  • URL을 확인하여 라우팅 역할을 한다. (길을 찾아주는 역할)
  • URL이 주문 관련이면 주문으로 요청, 배달로 요청하면 배달로 요청
  • ex) 전체 서비스가 다운되었다면 nginx가 실행이 정상적으로 되고 있는지 확인하기

네트워크 관련

  • ifconfig : IP정보 등 네트워크 설정정보 출력
    • ifconfig
  • ping [hostname/IP] : 네트워크 연결상태 확인
  • nc -zv 또는 telnet : 특정 port까지 열려있는지 확인
    • nc는 넷켓이라고 부른다.
    • ex) nc -zv naver.com 443
  • netstat : 현재 서버에 연결된 네트워크 정보 출력
  • ssh : 원격 호스트와의 터미널 세션을 제공 ex) ssh [username]@[hostname/IP]

/ ssh jangjunhyeok@127.0.0.1

  • scp : 파일 전송 ex) scp [source][destination] / scp test.txt 127.0.0.1

vi 주요 명령어

  • 파일 열기
    • vi 파일명
  • 입력모드
    • i : 현재 커서부터 입력
    • o : 다음줄 커서부터 입력
    • x : 현재 커서가 위치한 단어 삭제
    • dd : 현재 커서가 위치한 행 삭제
    • yy : 현재 커서가 위치한 행 복사
    • p : 현재 행 이후에 붙여넣기
  • 명령모드
    • esc
    • :w
      • 파일저장
    • :q
      • 저장없이 vi 종료
    • :wq
      • 저장 후 vi 종료
    • G : 파일의 마지막 줄로 이동
    • gg : 파일의 첫 줄로 이동
    • Ctrl + f
      • 한 페이지 아래로 이동
    • Ctrl + b
      • 한 페이지 위로 이동
    • / : 검색하기

정보처리기사 자격증, SQLD(mysql, oracle) 자격증 추천

프로그래머스 코테문제 하루에 한문제라도 꾸준히 하는거 추천

'한화시스템 백엔드 SW교육' 카테고리의 다른 글

2023.11.20 5일차 회고  (3) 2023.11.21
한화시스템 BEYOND 캠프 3기 1주차 회고  (3) 2023.11.20
2023.11.17 4일차 회고  (2) 2023.11.17
2023.11.16 3일차 회고  (2) 2023.11.16
2023.11.14 1일차 회고  (4) 2023.11.14