일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- github
- gitbash
- Morphological analysis #Corpus
- Technical Writing
- 파이콘
- 클라이언트사이드렌더링
- Machine Learning
- 코딩온라인
- SSR
- khaiii
- taskkill
- 카우치코딩 #couchcoding #6주포트폴리오 #6주협업프로젝트
- #스파르타코딩클럽후기 #내일배움캠프후기
- address
- 파이썬
- 카우치코딩 #couchcoding #6주포트폴리오 #6주협업프로젝트v
- 플젝후체크
- 마크다운
- Anaconda
- 자바파이썬
- PID
- 출처: 자바의 신 8장
- Kakao
- 비동기
- terminate
- github markdown
- expression statement is not assignment or call html
- 서버사이드렌더링
- 필사
- 모바일웹스킨
- Today
- Total
개발 일기
Unix 커맨드라인 다루기 본문
팀에서는 파일을 다루는 업무가 많기 때문에, 파일을 읽고, 조회하고, 리눅스 명령어를 다룰 일이 많다.
리눅스는 유닉스 계열 운영체제이다. 쉘은 유닉스 및 리눅스 시스템에서 사용자가 시스템과 상호작용하게 해준다. 쉘을 통해 파일 시스템을 탐색하고, 파일을 열고, 편집하고, 프로그램을 실행할 수 있다.
쉘 이란?
쉘은 사용자가 입력한 명령을 해석해 커널에 전달하거나, 커널의 처리 결과를 사용자에게 전달하는 역할을 한다 (쉘 스크립트 프로그래밍 (velog.io))
Shebang 이란?
셔뱅(shebang)은 해시 기호와 느낌표(#!)로 이루어진 문자 시퀀스로, 스크립트의 맨 처음에 온다.
유닉스 계열 운영 체제에서 셔뱅이 있는 스크립트는 프로그램으로서 실행되며, 프로그램 로더가 스크립트의 첫 줄의 나머지 부분을 인터프리터 지시자(interpreter directive)로 구문 분석한다. 즉, 지정된 인터프리터 프로그램이 대신 실행되어 스크립트의 실행을 시도할 때 처음 사용되었던 경로를 인수로서 넘겨주게 된다.이를테면 스크립트의 경로가 ideaProjects/prep/02_commandline/sh_script.sh이고 다음의 줄로 시작한다면:
#!/bin/bash
*bin/bash 경로의 본 쉘 또는 호환 쉘을 이용하여 파일을 실행한다는 뜻.
내가 사용하려는 명령어 해석기가 무엇인지 알려주는 것.
프로그램 로더는 프로그램 /bin/sh를 대신 실행하되 위의 경로를 첫 번째 인수로 넘겨준다.
변경권한 주기
보통 생성만 했다면, 실행 시 접근 거부되는 경우가 된다. 실행 권한 추가가 필요.
권한 확인
ls-al
user(사용자),group(그룹) ,other (다른 사용자) 권한
- 소유권 (Owners) : 특정 파일 또는 디렉터리를 소유하는 권리
- 허가권 (Permissions) : 특정 파일 또는 디렉터리의 접근 권한을 설정 하는 권리
파일 권한 확인
1) [문자모드] 실행 속성 추가
chmod +x sh_script.sh
chmod: 파일이나 디렉터리(directory)의 권한 (permission) 을 변경하는 명령어
r은 읽기(read), w는 쓰기(write), x 는 실행(execution)
2) [숫자모드]
가능한 경우의 수
r: 4 w: 2 x:1
rwx = 4+2+1 = 7
rw- = 4+2+0 = 6
r-x = 4+0+1= 5
r— = 4+0+0 = 4
-wx = 0+2+1 = 3
-w- = 0+2+0 = 2
—x = 0+0+1 = 1
위의 bash_script.sh.txt 의 경우, bash와 sh 파일의 사용자에게 모든 권한 / 그룹과 다른 사용자는 읽기 권한만
VIM 으로 파일 편집할 때, 유용한 단축키
실행 취소: u
다시 앞으로: ctr + r
백스페이스 대체 삭제
- 커서 위에서 문자열 삭제: x
- 전체 라인 삭제: dd
변경 사항 저장
- Insert → CommandMode: Esc
- ‘:w’ + Enter
Vim 나가기
- Esc → command 모드 진입
- :q + Enter
마우스 대체
- 파일 내에서 라인의 시작으로 이동: 0
- 파일 내에서 라인의 끝으로 이동: $
- 파일 내에서 제일 처음 라인으로 이동: gg
- 파일 내에서 제일 끝 라인으로 이동: G
- 한 단어 만큼 앞으로 이동: w
- 한 단어 만큼 뒤로 이동: b
- 라인 넘버 표시: :set number
- 라인 넘버 표시 취소: :set nonu
- 한 문장 끝으로 이동: ctrl + ->
- 파일 내에서 단어 검색
- Esc 로 command mode 진입
- 검색어 뒤에 ‘/’ + Enter
- 다음 발생 위치로 넘어가려면 n
- 다음 발생 위치로 넘어가려면 N
참고
https://ko.wikipedia.org/wiki/셔뱅
https://www.lesstif.com/lpt/linux-chmod-93127208.html
리눅스의 파일 권한 읽는 법