리눅스 스터디 - 2
오늘분 리눅스 내용정리
4장.
리눅스 화면 편집기 종류
- vi(vim): 모든 UNIX에 있음
- emacs: 많은 기능 제공, 설치해서 사용해야 함.
- gedit: 윈도우의 편집기 화면과 비슷, 임베디드 환경에서 사용할 수 없을 경우가 있음.
vi 편집기
※ 필자가 개인적으로 쓰거나 필요하다고 여기는 위주로 정리하였습니다. 실제로는 더 많아요..
- vi 동작모드 : 명령모드, 입력모드, 마지막행모드
- vi에서는 대소문자를 별도의 명령으로 해석한다.
- 파일 생성 방법: ①vi 파일명, ②vi - 파일 내용작성 - :w 파일명
- 입력명령: i, 저장명령: :w, :w 파일명, 종료명령: :q, :q!(작업내용을 저장하지 않고 vi종료)
- 커서 이동(명령 모드)
- 범위지정방법(명령 모드에서 이용)
- 편집기능
=>응용으로 :10,20y(10~20행 복사), 10,20d(10~20행 삭제)등이 있다.
- 탐색기능
- 바꾸기기능
- vi에서 잠시 빠져나와 쉘이용하기
:sh(vi로 다시 돌아올때: 쉘에서 exit입력)
- vi환경설정
- vi default 환경설정의 경로
각 사용자별로 환경설정이 다르다(위치는 ~/.vimrc)
vim ~/.vimrc 명령으로 알맞은 환경설정을 한다(context highlighting을 켜는 설정: syntax on)
5장.
쉘
- 정의: 사용자와 커널 사이의 중간 역할을 해줌, 사용자가 입력한 명령을 처리 하고 실행 결과를 알려준다
- bash는 그 중에서 가장 많이 사용하는 쉘이며 리눅스의 기본 쉘이다
- 종류: 본쉘, 콘쉘, C쉘, 배시쉘 등
- 현재 사용중인 쉘 확인법: #grep user1 /etc/passwd
=>user1:x:40577:1::/export/home/user1:/bin/bash 이렇게 사용중인 쉘이 무엇인지 나온다
로그인 쉴과 서브쉘
- 사용자가 로그인한 직후 기본적으로 사용하는 쉘
- 서브쉘 : 사용자가 직접 실행한 쉘
- es: 로그인 직후 배쉬쉘이용-csh입력-c쉘로 로그인(사용하는 쉘변경)-ksh입력(사용하는 쉘변경)-exit입력(현재 사용중인 쉘을 끝내도 빠져 나온다. 여기서는 ksh을 쓰다가 csh로 변경됨)-exit입력(csh에서 bash로 변경)-exit입력(logout된다)
쉘 특수문자
- 정의: 쉘에서 특수한 의미를 가진 문자들, 적절히 사용하면 명령의 입력을 편리하게 할 수 있다.
- 사용자가 입력한 명령을 실행하기 전에 쉘이 먼저 해독하여 적절한 형태로 변경
- 파이프(|)
한 명령의 실행결과를 다음 명령의 입력으로 전달
ex: $ ls /etc | more
- 리다이렉션(<,>,>>,2>)
입력 혹은 출력장치를 표준 입출력장치(키보드, 모니터)에서 변경하고 싶을 때 사용
출력 리다이렉션: 표준출력을 모니터에서 파일로 변경
- 명령 > 파일명: 새로운 파일로 생성, 기존 파일의 내용은 없어짐
- 명령 >> 파일명: 기존 파일의 끝에 내용 추가
- ex: $ ls –al > ls.out ->ls.out라는 파일을 만들고 ls -al의 결과를 ls.out에 저장한다.
오류 리다이렉션
- 명령 2> 파일명: 표준 오류메시지를 파일에 저장
- ex: $ ls ttt 2> err ->ttt라는 파일이나 디렉이 없을경우 오류가 출력되는데, 이출력을 err이라는 파일을 만들고 저장
입력 리다이렉션
- 명령 < 파일명: 표준 입력을 키보드에서 파일로 변경
- ex: $ mailx root < aa ->aa라는 파일을 root계정으로 메일을 보낸다
- 기타 쉘 특수문자
; / 한 줄에 여러 개의 명령 입력 / ex: $ date;ls
* / 임의의 문자 또는 문자들 / ex: $ ls h*
? / 임의의 한 문자 / ex: $ ls dir?
[] / 임의의 한 문자의 범위 표시/ ex: $ ls [a-f]*
~ / 홈 디렉토리 / ex: $ cd ~
'' / 모든 쉘 문자 무시 / ex: $ echo ‘$SHELL’
"" / $, `, \를 제외한 모든 쉘 문자 무시 / ex: $ echo “$SHELL”
`` / 쉘 명령 수행 / ex: $ echo `date`
\ / 특수문자 기능 제거 / ex: $ echo “\$SHELL”
배쉬 쉘 환경변수
- 시스템이나 사용자에 의해 사용되는 환경을 저장하기 위한 저장소
- 쉘 변수는 관례적으로 대문자를 사용한다
- 지역변수: 현재의 쉘에서만 사용 가능한 변수(ex: set)
- 전역변수: 전체 쉘에서 사용 가능한 변수(ex: env, set, exprot)
=>나머지는 따로 찾아보자
http://throughkim.kr/2016/12/22/linux-4/
정도 참조하면 될 것 같다.
배시 쉘 명령
- history
사용자가 입력한 명령을 기록, 재사용 할 수 있도록 함
사용된 명령어는 ~/.bash_history 파일에 저장된다
- alias [ 별칭=명령 ] / unalias 별칭
긴 명령어 대신 짧은 별칭을 사용할때 쓴다.(혹은 컬러 같은 옵션을 자동으로 넣기 위해 사용한다)
alias: 현재 설정값 보기
alias 별칭=명령: 내가 원하는 별칭을 입력한 명령으로 대체한다.
unalias 별칭: 설정된 별칭을 해제한다.
6장.
파일의 접근권한
- 시스템에서 사용자 자신의 파일 및 디렉토리를 다른 사용자로부터 보호하기 위해 접근권한을 변경할 수 있다.
- ls -l명령으로 파일과 디렉토리의 속성을 알 수 있다.
접근권한: r: 읽기 허가, w: 쓰기 허가, x:실행 허가, -: 허가x
chmod [옵션] 모드 파일 또는 디렉토리명
- 자신이 소유한 파일의 사용권한을 변경
- -R : 하위 디렉토리 포함
- 기호모드
기호를 이용하여 허가권 변경(r:읽기, w:쓰기, x:실행)
u: 소유자, g: 그룹, o: 외부사용자, a: 모든사용자
+:허가권 부여, -:허가권제거, =:허가권 초기화
- 숫자모드
3자리의 8진수를 이용하여 권한 표시
8진수 3자리 순서대로, 소유자, 그룹, 외부사용자를 의미한다.(1: 허가, 0: 제거)
ex: rwxrwxrwx->777, rw-r--r-->644
umask [마스크값]
- 기본사용권한을 변경하거나 현재 설정된 mask값을 출력할때 사용한다.
- umask: 현재 설정된 마스크값, umask 077: 마스크 값을 077로 설정
- 실질적 접근권한=기본사용권한-마스크값
- ex: umask 022일 경우, 666-022=644
※ 리눅스에는 새로운 파일이나 디렉토리를 만들때 기본적으로 설정되는 접근권한은 다음과 같다.
- 실행할 수 없는 일반 파일(문서 편집기로 생성한 파일): 666
- 실행할 수 있는 일반 파일: 777
- 디렉토리: 777
=> 마스크 값을 000으로 설정하면 리눅스에서 설정할수 있는 최대 권한이 된다.
=> 하지만 설정된 마스크 값으로 인해 실질적으로 설정되는 접근 권한은 다음과 같다.
- 마스크값(022): 실행할 수 없는 일반 파일(644), 실행할 수 있는 일반 파일(755), 디렉토리(755)
- 마스크값(077): 실행할 수 없는 일반 파일(600), 실행할 수 있는 일반 파일(700), 디렉토리(700)
'Study > Linux' 카테고리의 다른 글
리눅스 스터디 - 4 (0) | 2018.01.21 |
---|---|
리눅스 스터디 - 3 (0) | 2018.01.15 |
리눅스에서 c컴파일하고 실행하기(gcc옵션) (0) | 2018.01.12 |
vmware에 올라간 ubuntu와 컴퓨터와 공유폴더 연결하기 (0) | 2018.01.12 |
리눅스 스터디 - 1 (0) | 2018.01.08 |