Linux 우분투 가상머신(VirtualBox)에서 사용하기

최고고·2022년 12월 13일
0
  1. 오라클에서 내 운영체제에 맞는 VirtualBox 다운, 보안등을 위해서 확장팩을 설치하라고 함
  2. 우분투 최신버전 설치 우분투는 다양한 리눅스 배포판 중하나
    (Linux 커널을 기반으로 하는 운영 체제 시스템을 Linux 배포판)
    https://hanamon.kr/%EB%A6%AC%EB%88%85%EC%8A%A4%EB%8A%94-%EB%AC%B4%EC%97%87%EC%9D%B4%EA%B3%A0-%EC%9A%B0%EB%B6%84%ED%88%AC%EB%8A%94-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80/
    이분의 글을 참고해서 읽었다.


그러면 알아서 첨에 시작할때 install 이 나옴

Linux 커널은 오픈 소스로 커스텀 os 설정이 가능하다고 한다

OS?

수 많은 애플리케이션들이 잘 동작할 수 있도록 자원(리소스)를 할당하고 관리한다.
OS는 하드웨어와 소프트웨어를 하나로 묶는 핵심 소프트웨어(중개자 역할)이다.

커널?

커널이란 컴퓨터의 운영 체제의 핵심이 되는 컴퓨터 프로그램의 하나이다.
시스템의 모든 것을 완전히 통제한다.
운영 체제의 다른 부분 및 응용 프로그램 수행에 필요한 여러 가지 서비스를 제공한다.

터미널 명령어 정리 CLI(Command-Line Interface)의 일종인 터미널 컴퓨터와 사람과의 상호작용

파일 탐색, 관리 명령어

  • ls : 현재 디렉토리의 파일 목록을 출력
    사용옵션:
    -a : 숨긴 파일을 포함
    -l : 자세한 파일 정보를 함께 보여줌
    -R:하위디렉토리 다보여줌

  • pwd : 현재 작업중인 경로를 보여줌

  • cd : 디렉토리를 이동

  • mkdir : 새로운 디렉토리를 생성해줌
    -p 옵션시 하위 디렉 생성

  • rmdir : 빈 디렉토리를 삭제

  • df : 파일시스템의 디스크 공간에 대한 필수정보 표시

  • mount : 특정 장치를 마운트

  • umount : 마운트를 해제한다.

  • rm : 파일이나 디렉토리를 삭제
    디렉은 삭제시 -R 써야 삭제된다.
    -f: 삭제 여부를 묻지 않고 바로 삭제

  • mv : 이름을 변경하거나 다른 디렉토리로 이동
    mv 파일명 바꿀파일명
    mv 옮겨질파일명 옮길파일명
    -f옵션 큰파일 전송가능

  • cp : 파일이나 디렉토리를 복사

  • touch : 파일이나 디렉토리의 업데이트 일자를 현재 시간으로 변경, 그 파일명이 없다면 새로운 빈파일 생성

  • cat : 파일 내용을 보여주거나 여러 파일의 내용을 연결해서 보거나 기존파일에 다른파일 덧붙일수도있고 새로운파일 생성도 가능
    cat 파일명 파일명 > 파일명 : 여러파일의 내용 복사
    cat 파일명 >> 파일명 : 파일에서 파일내용 복사
    cat > 파일명
    내용입력
    -->작성후 ctrl d 파일저장하기

  • head, 파일의 앞 10행

  • tail : 끝 10행을 보여줌
    -F옵션 시 파일 내용을 화면에 계속 뛰워줌 파일변경시 자동 갱신해줌. 실시간으로 내용이 추가되는 로그파일을 모니터링할때 유용하다 함

  • more, less : 텍스트 형식의 파일을 페이지 단위로 보여줌

  • file : 파일의 종류를 보여줌

  • clear : 터미널 화면을 정리(싹 청소)

  • tar : 파일을 압축하거나 압축을 해제
    -c : 파일을 tar로 묶는다.
    -f : 압축할 파일을 지정한다.
    -x : 압축을 해제한다.
    -z : gzip으로 압축한다.
    -t : tar로 압축된 내용을 확인한다.
    -p : 파일 권한을 저장한다.
    -v : 처리 과정을 자세히 보여준다.
    -C : 경로를 지정한다.

  • halt -p, poweroff, shutdown -P now : 시스템을 종료한다.

  • reboot, shutdown -r now : 시스템을 재부팅한다.

  • find : 파일 or 디렉토리 검색
    find [검색경로] -name [파일명]
    특정확장자 검색은 예) "*.jpg"
    -type d : 디렉토리만 , -type f : 파일만 찾기
    wc -l 옵션 : 조건에 맞는 결과값 개수

  • comm : 두파일을 공통행과 구별되는 행으로 비교 가능

  • less : cat 과 달리 터미널 세션을 방해하지않고 파일내에 양방향 탐색

  • ln : 특정파일에 대한 심벌릭 링크 만듦. 디스크 공간의 특정파일이나 디렉터리에 대한 심벌릭 링크의 여러 인스턴스 생성가능
    심볼릭링크 ? 절대 경로 또는 상대 경로의 형태로 된 다른 파일이나 디렉터리에 대한 참조를 포함하고 있는 특별한 종류의 파일이다(위키) --- 이말은 링크를 연결에 원본파일을 직접사용하는 것 과같은 효과란다. 윈도우에서 바로가기와 비슷한개념임
    ln -s 대상 원본 파일 새로 만들 파일 이름
    링크해제 : rm 링크파일

  • cmp : 두파일 비교하고 결과를표준 출력스트림에 인쇄

  • alias : 파일을 다른 문자열로 바꿀수 있음

  • locate : 특정파일위치

  • which : 이진파일 검색

  • grep : 대량 텍스트파일에서 패턴 검색
    grep '문자열' 파일명
    정규표현식으로도 찾을 수 있음!
    그랩의 종류 : grep, egrep, fgrep
    egrep : 정규표현식으로 검색
    fgrep : 문자열 패턴으로 검색
    사용옵션 :
    -c : 일치하는 행의 수를 출력한다.
    -i : 대소문자를 구별하지 않는다.
    -v : 일치하지 않는 행만 출력한다.
    -n : 포함된 행의 번호를 함께 출력한다.
    -l : 패턴이 포함된 파일의 이름을 출력한다.
    -w : 단어와 일치하는 행만 출력한다.
    -x : 라인과 일치하는 행만 출력한다.
    -r : 하위 디렉토리를 포함한 모든 파일에서 검색한다.
    -m 숫자 : 최대로 표시될 수 있는 결과를 제한한다. -m 숫자 개수 제한
    -E : 찾을 패턴을 정규 표현식으로 찾는다.
    -F : 찾을 패턴을 문자열로 찾는다.

  • sed : 파일 또는 스트림의 각 줄을 조작

  • echo : 콘솔에 특정 텍스트 출력

  • sort : 정렬명령

  • chmod : 시스템파일, 객체의 액세스 권한 변경이나 수정

  • chown : chmod와 비슷, 액세스 권한 변경대신 사용자가 파일이나 디렉터리 소유권 변경가능

  • man : manual

시스템 조작 명령어

  • uname : 시스템 정보 보기
  • ps : 현재 실행중 프로세스 시각화
    process status의 줄임말
    현재실행중 프로세스목록과 상태보여줌
    옵션 :
    -e: 모든프로세스(every)
    -f: 완전포맷 (full)
    -l : 긴 포맷(long)
    ex) -ef는 모든프로세스를 완전포맷으로보여줌
    출력된 열머리 내용
UIDPIDPPIDCSTIMETTYTIMECMD
실행유저프로세스아이디부모프로세스PIDCPU사용량START TIME프로세스위치구동시간실행명령어

https://newstars.cloud/468 참고함

  • kill : 자원제한으로 멈춘 프로세스를 중지하는 강력한 방법
  • service : 시스템 전체 서비스 호출
  • batch : 미리 정의된 일정에 따라 시스템 실행하는 도구 배치 명령! 자동화 쉘스크립트 작성을 위한 강력한명령
  • shutdown : half, init 함께 시스템 종료

네트워크 관리

  • wget : 웹에서 파일을다운로드하는데 활용

  • iptables : 특정호스트 시스템에서 들어오고 나가는 인터넷 트래픽제어

  • sysadmins : 정기 트래픽을 정의하고 의심스럽고 신뢰할수없는 네트워크 요청을 블랙리스트에 올림

  • tracefoute : 유해한 침입자로부터 컴 보호

  • cURL : 네트워크를 통해 파일을 전송하여 새로운 시스템사용자도 사용할수있음

  • 아이피주소 확인하는방법:
    ip addr
    ip addr | grep 'inet' --->더 가독성있게 보여짐
    ifconfig
    hostname

  • ping 명령어:
    IP 네트워크를 통해 특정 목적지까지 네트워크가 잘 동작하고 있는지 확인할수있음
    ping 명령어를 통해 서버로 패킷이 잘 보내지는지 확인해 서버 네트워크 상태를 확인
    =>네트워크 연결 문제를 해결, 테스트 및 진단!!! 원격 대상 IP가 활성인지 비활성인지 확인할 수 있다함..!
    ping 옵션 연결가능여부ip및도메인(목적지)
    옵션 :
    -c (count) : ping을 보낼 횟수
    -i (interval) : ping을 보낼 간격
    -s (size) : ping의 크기(최대 65507)
    -f (fast) : 최대 속도
    ex)ping -c 3 www.google.com
    https://jjeongil.tistory.com/1500 이것을 참고하였음

  • telnet :텔넷은 인터넷을 통해 다른호스트에 접속하는 네트워크프로토콜
    방화벽오픈 명령어, 즉 클라이언트 장비에서 방화벽 통과시켜 서버의 ip와 포트로 연결 요청시 연결이 되고 안되고를 판단함 소스가 클라이언트 서버가 목적지
    통신테스트임
    telnet [IP PORT]

  • curl : 보안상 telnet 명령어의 사용이 불가능한 경우 curl
    curl -v telnet://IP:PORT/

  • ssh :
    SSH(Secure Shell)는 클라이언트와 서버 간의 암호화된 연결에 사용되는 암호화 네트워크 프로토콜 기본 22번 포트 사용하고 중간에 해킹을 당해도 강력하게 암호화되어있음
    원격 시스템에 로그인하여 명령을 실행하거나 다른 작업을 수행할수있음!
    쉽게 말해 다른컴퓨터나 머신에 접속하는것임
    ssh 서버 실행 파일 : /etc/sbin/sshd
    ssh 클라이언트 실행 파일 : /etc/bin/ssh
    사용법 : ssh host주소 옵션
    ssh id@host주소
    널리 사용되는 OpenSSH 클라이언트 패키지는 SSH 명령과 함께 설치되는 scp 및 sftp와 같은 다른 SSH 유틸리티도 제공함
    옵션:
    -p 포트설정
    -k 키파일 설정 인증에 필요한 키파일
    -V 버전 정보 출력하기
    -C 전송 데이터 압축하기
    -4 IPv4 주소 사용
    -6 IPv6 주소 사용
    -1 프로토콜 버전 1 사용
    -2 프로토콜 버전 2 사용

다른서버 데이터 가져오는거 sftp ssh

  • su :
    substitute user의 줄임말로 다른 계정으로 전환하는 리눅스 명령어
    로그아웃하지 않고 다른 사용자의 권한으로 셀을 실행하는 데 사용됨
    일반적으로 관리 작업을 위해 다시 로그 오퍼 하지 않고 사용자의 권한을 root으로 변경하는 데 사용하거나, 같은 방법으로 다른 사용자로 전환하는 데 사용됨
    su 옵션 사용자 쉘 변수 --> 목적 사용자의 비밀번호를 묻고, 일치 확인 후 해당 계정과 연관된 모든 파일에 대한 사용자 접근 권한을 부여
    옵션 :
    -c, --command : 쉘을 실행하지 않고 지정한 명령어를 실행
    -, -l, --login : 지정한 사용자의 환경변수를 적용하여 로그인
    -s, --shell : 지정된 쉘로 로그인
    sudo와의 차이는?
    sudo는 root가 아닌 사용자가 root에 따르는 권한을 잠시 빌려 명령을 실행하게 함
    근본적으로 명령을 내리는 주체는 현재 로그인한 사용자인것임 생성, 수정, 삭제 등의 이력이 남는 작업을 했을 때 해당 사용자의 ID가 남게됨
  • vi 에디터
    vi 에디터는 리눅스에서 사용할 수 있는 텍스트 기반의 편집기로, 터미널에서 각종 텍스트 문서를 편집할 수 있다.
    vi <파일명> 명령어로 실행을, :wq로 저장/종료가 가능하다.
    q! 입력하면 저장없이 빠져나옴
    wq 또는 wq!: 저장하고 나옴
    wq 저장할이름 : 저장하고 빠져나오진 않음

세부 옵션은 추후 더 다루도록함

https://cocoon1787.tistory.com/717
https://zion830.tistory.com/62
https://itholic.github.io/linux-basic-command/ <-예시까지 잘나와있다
https://dora-guide.com/linux-commands/ 설명 굿

0개의 댓글