리눅스 <쉘과 환경변수와 퍼미션>

이선재·2022년 11월 30일
0

쉘이란?
사용자의 명령어와 프로그램 커널간의 사용되는 인터페이스로 사용자의 명령어를 받아 해석하고 프로그램으로 전달한다.


sh - UNIX 쉘의 초기 버전이다.

bash - 리눅스의 표준 쉘로서 Ubuntu 및 페도라에서도 사용된다. sh를 기반으로 만들어졌으며, 공개 소프트웨어 GNU 프로젝트를 위해 개발되었다.

zsh - sh에서 확장된 버전의 쉘

  • 재귀 경로 확장: "/u/lo/b" == "/usr/local/bin" 으로 확장
  • 자동 완성 및 자동 보정: 디렉토리 이름 입력시 실수를 고침
  • 플러그인 및 테마 지원: ZSH 다양한 플러그인 프레임 워크 포함
  • z 명령을 통한 간단한 디렉토리 이동

.bash_profile - 로그인과 관련된 정보들을 얻을 때 필요한 정보 위치로 로그인 시 사용

.bashrc - bashrc는 새로운 터미널을 열 때마다 정보를 받아오는데 사용

.zshrc - zsh에서 bash의 bash_profile, bashrc와 같이 나누지 않고 터미널 실행시 항상 실행

  • zsh 도 login 동작만 하는 zprofile이 존재하긴 함.

env - 전역 환경 변수를 표시하거나 환경 변수 변경 후에 프로그램 실행하는 유틸리티

  • Name=Value 쌍으로 환경변수 표시
  • env로 프로그램을 실행하여 스크립트 작성 시 다음으로 실행할 프로그램을 찾는 용도로 사용

set - 로컬 환경변수(Name)와 해당 값(Value)을 나열하는 명령어

  • 쉘 스크립트 디버깅 시에 이용되는 빌트인 커맨드

unset - bash의 내장 명령으로 지정한 변수를 해제하는 명령어

export - 로컬 환경변수에서 전역 환경변수로 설정해주는 명령어

chmod(change+mode) - 각 파일 및 디렉토리에 대해 읽기(r), 쓰기(w), 실행(x)등 파일 권한을 변경할 수 있게 해주는 명령

chown(chaneg+owner) - 파일의 Owner을 변경하는 명령어

chgrp(chage+group) - 특정 파일의 그룹을 변경하는 명령어

setuid - 특정 파일 디렉토리에만 root 권한을 주지않고 접근이 가능하게 해주는 파일 접근권한 비트

  • 사용자에게 root권한을 주지 않아 운영에 효율적
  • chmod를 사용하여 setgid 비트를 설정

Sticky bit - 디렉토리 소유자, 슈퍼유저가 아닌 일반 유저는 삭제하고나 이름 변경을 막는 bit

  • 생성은 누구나 가능

참고 - https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=sunguru&logNo=220970457584

chmod-https://recipes4dev.tistory.com/175

profile
지적을 환영하는 인프라 냠냠을 시도하는 취준생

0개의 댓글