Skip to main content

1회


운영체제 파일 시스템, 프로세스 관리, 메모리 간리, 입출력 기능 하나의 커널에서 실행되는 단일코드 베이스 통합구조 모노리딕 커널


CentOS, Fedora - RedHat 계열 배포판

Ubuntu, Raspbian - 둘 다 Debian 기반


LVM 은 캐싱키능 제공 X


리눅스 부팅 시 가장먼저 실행 init 이거 대체 → systemd


systemctl halt 종료

systemctl reboot 재부팅

systemctl hibernate 절전모드


아이노드 실제 파일과 디렉터리의 데이터 위치를 알고 있는 자료구조


X 윈도우는 플랫폼독립적


printenv 사용하면 환경변수 내용 조회 가능
echo도 환경변수 조회가능 하지만 echo 는 $HOME처럼 환경변수 의미하는 $를 변수명앞에 붙여야 함

[ihd@www~](       )HOME
/home/id


셸 메타문자

  • >> 리다이렉션
  • * 와일드카드 all
  • || OR 실패하면 다음명령 실행 성공하면 실행 X


셸스크립트 위치매개변수 $ Positional Parameters 어떻게 생겼는지 찾아보기

  • $0 현재 실행중인 스크립트 이름
  • $1, $2 스크립트 실행시 전달된 argument
  • $# 스크립트에 전달된 인자의 총 개수
  • $@인자를 배열로 처리해서 개별 인자 나눠서 출력
  • $* 인자 전체를 하나의 문자열로 처리, 개별 인자 사이에 구분자 추가하지 않고 출력
#!/bin/bash

echo "\$0 = $0"      # 실행된 스크립트 이름
echo "\$1 = $1"      # 첫 번째 인자
echo "\$2 = $2"      # 두 번째 인자
echo "\$# = $# "     # 전체 인자 개수
echo "\$@ = $@"      # 인자를 배열처럼 각각 출력
echo "\$* = $*"      # 인자를 하나의 문자열처럼 출력

예시

./test.sh apple banana cherry
$0 = ./test.sh
$1 = apple
$2 = banana
$# = 3
$@ = apple banana cherry
$* = apple banana cherry

$@ vs $* 차이 - " " 로 묶어볼게요ㅛㅛ

#!/bin/bash
for arg in "$@"; do
    echo "arg (with \$@): $arg"
done

for arg in "$*"; do
    echo "arg (with \$*): $arg"
done

실행

./test.sh "apple pie" banana

출력

arg (with $@): apple pie
arg (with $@): banana

arg (with $*): apple pie banana
  • $@ → 배열처럼 각각의 인자를 분리해서 줌
  • $* → 모든 인자를 그냥 하나의 문자열로 합쳐서 줌