15일차

장민우·2024년 4월 16일

Permission


  • 퍼미션 심볼릭 표기법
WHOWHATWHICH
u 소유자+ 퍼미션 추가r READ
g 소유 그룹- 퍼미션 제거w WRITE
o 기타 사용자= 퍼미션 할당(Assign)x EXECUTE
a 모든 사용자

예시)

파일의 소유자에게 읽기 권한 추가
$ chmod u+r FILE

파일의 소유자에게 읽기, 쓰기 권한 추가
$ chmod u+rw FILE

파일의 소유 그룹에게 쓰기 권한 제거
$ chmod g-w FILE

기타 사용자에게 읽기 권한 할당
$ chmod o=r FILE

  • umask

    777
    022 <-- Directory umask
    ㅡㅡㅡㅡ
    755 <-- Directory 초기 권한
    111 <-- File umask
    ㅡㅡㅡㅡ
    644 <-- File 초기 권한

쉘 명령어 사용


  • 경로 이름 메타 문자
    ~ : 사용자의 홈 디렉터리
    ~ USER : USER 사용자의 홈 디렉터리
    ~+ : 현재 작업 디렉터리
    ~~ : 이전 작업 디렉터리
    - : 이전 작업 디렉터리

  • 파일 이름 대체 메타 문자
    * : 아무 것도 없거나 무한대의 문자까지 매치
    ? : 임의의 한 문자
    [] : 지정한 범위의 문자 한 문자


### 인용 부호 : 문자열을 묶어주는 메타 문자 ---
  • '' 작은 따옴표(Single Quotation)
    작은 따옴표로 감싼 모든 메타 문자를 일반 문자로 취급

  • "" 큰 따옴표(Double Quotation)
    $, \, `메타 문자를 제외한 모든 메타 문자를 일반 문자로 취급
    (\ : 뒤의 메타문자의 기능을 없애줌.)

  • `` 역 홑따옴표(Back Quotation)
    역 홑따옴표로 감싼 내용에 명령어가 들어가고 이 명령어의 실행 결과로 대체됨.

echo $(COMMAND) 도 가능.


### 방향 재지정 메타문자 (Redirection) ---
  • 표준 입출력
    표준 출력(Standard Output, stdout, 1) - 모니터
    표준 에러(Standard Error, stdefr, 2) - 모니터
    표준 입력(Standard Input, stdin, 0) - 키보드

  • File Descripter
    프로세스가 입출력을 어느 경로로 진행할지 지정하는 번호(0~255)

  • 방향 재지정(Redirection)

    • 표준 출력 재지정 : 명령어의 실행결과(정상 실행)의 출력 방향을 변경

      • Overwrite (1>) : 출력 재지정시 지정한 파일이 존재하지 않으면 새로 생성하고 존재하는 경우 기존 파일을 덮어씀 $COMMAND > FILE

      • Append(1>>) : 출력 재지정시 지정한 파일이 존재하지 않으면 새로 생성하고 존재하는 경우 기존 파일 내용 뒤에 이어서 저장. $COMMAND >> FILE

    • 표준 에러 재지정 : 명령어의 실행 결과 중 에러의 출력 방향을 변경

      • Overwrite ( 2> ) : 출력 재지정시 지정한 파일이 존재하지 않으면 새로 생성하고 존재하는 경우 기존 파일 내용을 덮어씀 $COMMAND > FILE
      • Append ( 2>> ) : 출력 재지정시 지정한 파일이 존재하지 않으면 새로 생성하고 존재하는 경우 기존 파일 내용 뒤에 이어서 저장 $COMMAND >> FILE

  • 표준 에러 재지정을 활용 한 예시

    에러나는 jpg는 표시나지 않게 함.

  • 표준 출력, 표준 에러 재지정을 동시에 사용한 예시

    $ls -l /etc/hosts /etc/nofile >result1 2>&1 이렇게하면 한 파일 안에 동시에 넣을 수도 있다.

    • 표준 입력 재지정 : 표준 입력의 입력 방향을 변경
      $COMMAND 0< FILE : 파일의 내용을 명령어에 표준 입력으로 전달

  • cat 명령어를 표준 입력 키보드가 아닌 /etc/hosts 파일로 재지정하는 예제

명령어 히스토리


  • bash history

$ls -al ~로 숨겨져 있던 .bash_history을 찾을 수 있다.

.bash_history의 지난 명령어들

  • history

$history로 지난 명령어를 확인할 수 있다.

$!number로 history의 지난 명령어를 사용할 수 있다.

Cltrl + R 단축키로도 찾을 수 있다.



사용자 초기화 파일


업로드중..

  • /etc/profile 파일
    관리자(root)에 의해 관리되며, 시스템 전역에 걸쳐 환경을 설정하는 파일이다. 모든 사용자는 시스템 부팅 시 적용되는 초기화 설정\

  • ~./bashrc 파일 또는 ~/.bash_profile
    .bashrc 파일은 Bash Shell 실행 시 실행하는 초기화 파일이며, ~/.bash_profile 파일은 파일이름만 다르고 같은 기능을 한다.

0개의 댓글