1. 쉘이란 무엇인가?
- shell : 문자열 해석기
- bash : 프로그램
- 터미널 에뮬레이터 : shell에 접근할 수 있게 해준다.
첫 번째 키 입력
명령어 히스토리
입력했던 명령어를 기억하고 있다. 메모리에 있던 명령어를 보관하기 위해 설정파일로 보조기억장치에 저장한다. 확인하려면 아래와 같이 명령어를 입력한다.
$ ls -alh
$ cat .bash_history
커서 이동
리눅스는 이전부터 ctrl + c
를 다른 의미로 사용하고 있었다. 때문에 리눅스에서 복사 붙여넣기를 하기 위해서는 ctrl + shift + c/v
를 사용한다.
- ctrl + c : 작업취소 (취소하는 방법은 프로그램마다 다름)
- 터미널 세션 종료법
- exit
- ctrl + d : EOF (End Of File)
간단한 명령어 실행하기
$ locale
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
# 환경 변수 참조
$ date
Thu Mar 30 20:49:17 KST 2017
$ cal
March 2017
Su Mo Tu We Th Fr Sa
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 29 30 31
$ LC_TIME=ko_KR.UTF-8 cal
3월 2017
일 월 화 수 목 금 토
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 29 30 31
2. 파일시스템 탐색
메모리 용량을 줄이기 위해 명령어를 짧게 사용하게 됐다.
- pwd : print working directory
- cd : change directory
- ls : list directory contents
$ man ls
파일시스템 트리 구조의 이해
- 트리가 재귀의 가장 좋은 예이다.
- 파일시스템은 트리 구조이다.
- 파일시스템의 최상위 디렉토리를 루트(root) 디렉토리라고 한다.
- 윈도우는 디스크마다 루트를 가진다. (c드라이브, d드라이브, …)
- 유닉스/리눅스 파일시스템은 루트를 하나만 가진다.
- 새로운 디스크를 연결하려면, 파일시스템으로 포맷하고
- 특정 디렉토리로 마운트를 해야 한다.
디렉토리
사용자 계정마다 고유의 홈 디렉토리를 갖는데, 일반 사용자로 시스템을 사용할 때 파일 쓰기 권한이 부여된 유일한 공간이다.
# 현재 작업 디렉토리 표시
$ pwd
# 현재 작업 디렉토리에 있는 파일과 하위 디렉토리 표시
$ ls
현재 작업 디렉토리 변경
cd
다음에 변경하고자 하는 디렉토리 경로명을 입력한다.
절대 경로명
- 루트(/) 디렉토리에서 시작하는 경로
상대 경로명
- 루트(/)로 시작하지 않는 경로
- 현재 작업디렉토리가 시작점
.
: 현재 작업 디렉토리..
: 현재 작업 디렉토리의 상위 디렉토리
유용한 단축 표현들
cd -
: 작업 디렉토리를 이전 작업 디렉토리로 변경cd ~
: 홈 디렉토리로 작업 디렉토리를 변경
확장 개념
$ echo ~lim
/home/linux-study/lim
$ cd ~lim
$ pwd
/home/linux-study/lim
파일명에 관한 중요한 사실
- 마침표(.)로 시작하는 파일명을 가진 파일들은 보이지 않는다.
- 파일명과 명령어는 대소문자를 구별한다.
- 파일 확장자 개념이 없다. (헤더에 매직코드라고 불리는 비트코드를 통해 확장자를 식별)
- 파일명에 공백을 포함하지 않는다.