post-thumbnail

디렉토리와 파일


–help와 man

help는 화면을 빠져나가지 않고 간단한 매뉴얼을 출력 man은 전용페이지로 이동해서 상세한 매뉴얼을 출력


필요한 명령을 검색으로 찾는 법


sudo


파일편집 (nano)

  1. 입력창에 nano 입력
  2. 내용 입력
  3. ^O(Write Out)은 ctrl + O 파일 이름 입력 hello.html 엔터키
  4. ctrl + X로 빠져나옴.
  5. 다시 편집하고 싶으면 nano hello.html
  1. ctrl + K Cut Text 잘라내기(한 줄 다)
  2. ctrl + U Uncut Text 붙여넣기
  3. 일부만 잘라내기, 붙여넣기 하고 싶을 경우 ctrl + 6 누르면 Mark Set이 된다.
  4. 검색 ctrl + W

패키지 매니저

  1. apt로 설치할 수 있는 소프트웨어의 목록을 최신 상태로 업데이트 sudo apt-get update;
  2. 검색 sudo apt-cache search htop htop과 관련된 패키지들의 목록을 보여줌
    • htop이란? 기본적으로 리눅스에는 top이라는 프로그램이 설치되어 있음. 작업관리자. 하지만 보기가 어려움. top을 개선한 프로그램이 htop.
  3. 설치 sudo apt-get install htop 설치할 것인지 물어보면 y 입력
  4. 설치된 프로그램 업그레이드 sudo apt-get upgrade htop
  5. 삭제 sudo apt-get remove htop

다운로드 방법 (wget, git)

명령어 기반의 시스템에서 파일을 다운로드 하는 방법을 소개한다.

wget

git


왜 CLI인가?


IO Redirection

output

프로그램? 프로세스?

프로그램은 컴퓨터에 저장되어 있는 코드, 그 프로그램이 실행되고 있는 상태를 프로세스 하나의 프로그램은 여러 개의 프로세스를 가질 수 있다.

input

append


쉘과 커널

Shell vs Kernel

img

bash vs zsh


쉘 스크립트

// nano에서 작성

#!/bin/bash`  // 먼저 이 코드를 무조건 작성해준다. 밑에 작성된 코드가 /bin/bash를 통해 해석되어야 한다는 의미
if ! [ -d bak ]; then  // 현재 디렉토리에 bak라는 디렉토리가 존재하지 않으면(!)
	mkdir bak  // bak 디렉토리를 만든다
fi  // 조건문 종료
cp *.log bak  // 현재 디렉토리의 log로 끝나는 파일을 bak 디렉토리로 저장한다

위 내용 저장 ctrl + X yes enter

./backup 하면 권한이 없다고 나옴 chmod +x backup으로 실행가능한 모드 부여하고, 다시 ./backup 하면 실행됨!


디렉토리의 구조


프로세스

컴퓨터의 구조

프로세스 모니터링 (ps, top, htop)


파일을 찾는 법

파일은 2가지 용도로 사용된다. 데이터를 보관하는 파일, 명령을 보관하는 실행파일

locate와 find

whereis와 $PATH

PATH와 관련된 참고사이트 https://m.blog.naver.com/PostView.nhn?blogId=occidere&logNo=220821140420&proxyReferer=https:%2F%2Fwww.google.co.kr%2F


백그라운드 실행

멀티태스킹을 리눅스에서도 할 수 있다.


항상 실행 (daemon, service)

데몬의 개념

service와 자동실행


정기적으로 실행 (cron)


쉘을 시작할 때 실행

Startup script


다중 사용자


관리자와 일반 사용자


사용자의 추가


권한 (permission)

Permission

ls -l perm.txt했을 때 나오는 정보를 자세히 알아보기

img

권한을 변경하는 방법(chmod)

access mode를 변경하고 싶다면 chmod 명령어를 사용한다.

실행의 개념과 권한 설정

실행이란?

directory의 권한

chmod 사용법 정리

https://en.wikipedia.org/wiki/Chmod 참고하기


그룹

본 포스팅은 생활코딩 리눅스 강의(https://opentutorials.org/course/2598)를 참고하여 작성하였습니다.