| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
Tags
- react
- 이벤트
- useRef
- 비전공자
- 메가바이트스쿨
- 프로그래머스
- styled-components
- JavaScript
- Github
- 공식문서
- 프론트엔드
- 코딩테스트
- 자바스크립트
- useMemo
- 내일배움카드
- 모던 자바스크립트 딥 다이브
- 개발자취업부트캠프
- next.js
- 알고리즘
- 패스트캠퍼스
- CSS
- 리액트
- 모던 딥 다이브 자바스크립트
- 자료구조
- TypeScript
- GIT
- 개발 공부
- 국비지원교육
- MegabyteSchool
- 입문
Archives
- Today
- Total
개발 기록 남기기✍️
[Linux] Shell이란? 본문
Shell
리눅스의 Shell은 명령어와 프로그램을 실행할 때 사용하는 인터페이스이다.
좀 더 자세히 말하면 운영체제의 커널(Kernel)과 사용자 간의 다리 역할을 하는 소프트웨어로, 사용자로부터 명령을 받아 그것을 해석하고 프로그램을 실행하는 역할을 한다.
Shell의 종류
- sh(Bourne Shell) : AT&T Bell 연구소의 Steve Bourne이 작성한 유닉스 쉘
- csh : 버클리의 Bill Joy가 작성한 유닉스 쉘
- bash(Bourne Again Shell) : Brian Fox가 작성한 유닉스 쉘
- 다양한 운영체제에서 기본 쉘로 채택
- bash의 특징
- Alias 기능 (명령어 단축 기능)
- History 기능
- 연산 기능
- Job Control 기능
- 자동 이름 완성 기능 (tab)
- 프롬프트 제어 기능
- 명령 편집 기능
- zsh : Paul Falstad가 작성한 유닉스 쉘
- sh 확장형 쉘
- 현재까지 가장 완벽한 쉘
Shell의 기능
- 사용자와 커널 사이에서 명령을 해석해 전달하는 명령어 해석기 기능이 있다.
- 셀은 자체 내에 프로그래밍 기능이 있어서 프로그램을 작성할 수 있다. 셀 프로그래밍 기능을 이용하면 여러 명령을 사용해 반복적으로 수행하는 작업을 하나의 프로그램으로 제작할 수 있다. 셀 프로그램을 셀 스크립트라고 부른다.
- 사용자 환경 설정의 기능 - 초기화 파일 기능을 이용해서 사용자의 환경을 설정할 수 있다. 로그인 할 때 이 초기화 파일이 실행되서 사용자의 초기 환경이 설정된다.
Shell Command
Shell 주석처리
# 한줄 주석, 특정 부분 주석은 #으로 처리한다.
:<< "END"
여러줄로 된 주석이나 블럭을
주석 처리할 수 있다.
:<< "END" 혹은 :<< 'END'로 시작하고
주석을 마무리할 때 END로 마무리한다.
END
디렉토리 이동 command
$ # shell이 사용자의 입력을 받을 준비가 되었다는 뜻
$ cd Documents/ # Documents/ 디렉토리로 이동 (change directory)
$ cd .. # 상위 디렉토리로 이동
$ pwd # print working directory (절대 경로로 표현된다.)
$ mkdir dev # dev 디렉토리 생성 (make directory)
$ rmdir dev # dev 디렉토리 삭제 (remove directory)
# rmdir는 빈 디렉토리일 때만 가능, 나머지는 rm -r [디렉토리명]
파일에 관한 command
$ touch README.md # 새로운 파일 생성
$ mv README.md bin/ # bin/ 디렉토리로 README.md 파일 이동(move)
$ mv bin/README.md . # 다른 디렉토리에서 현재 디렉토리로 당겨오기 가능
$ cp README.md dev/ # 해당 파일을 복사 (copy)
# 현재 디렉토리에 동일한 이름의 파일을 복사하는 것은 불가능하다. 다른 이름으로 변경할 것!
$ mv README.md ./readme.md # 기존 파일의 이름 변경
$ rm readme.md # 해당 파일 삭제 (remove)
$ rm -r bin/ # bin 디렉토리에 있는 모든 파일 삭제 후 bin 디렉토리도 삭제
$ rm -rf bin/ # 강제 삭제
$ rm *.* # 모든 이름의, 모든 확장자명 삭제
$ cat readme.md # 해당 파일의 내용을 shell에 출력한다.
$ vi readme.md # 해당 파일을 vim 에디터로 오픈한다.
$ clear # 화면을 지우고 최상단 디렉토리부터 다시 시작
chmod
Linux 시스템의 파일 및 디렉토리에 대한 권한/그룹 관리
- 권한에 대한 관리 파일이나 디렉토리의 permittion을 관리한다.
- 명령어 : chmod [권한값] [파일명]
- 권한값에 대한 정의 : ls -al 명령을 통해 파일/디렉토리의 권한을 확인할 수 있다.
'기초 지식' 카테고리의 다른 글
| 특수 문자 용어 정리 (1) | 2022.12.15 |
|---|---|
| 라이브러리와 프레임워크의 차이 (0) | 2022.12.05 |
| 웹 문서 마크다운 이해 및 기본 경로 파악 (0) | 2022.07.06 |
| 웹의 역사, http 프로토콜의 이해 (0) | 2022.07.06 |
| 웹 표준 (Web Standards) (0) | 2022.07.06 |