본문 바로가기

IT

리눅스 CLI란??? chmod란???? #!/bin/bash???

반응형

#####. CLI_GUI

#. CLI

- Command LIne Interface란 뜻

- 리눅스와 같이 명령어 줄로 sh를 실행하고 kernel에 명령을 내리는 모드

 

#. GUI

- Graphical User Interface란 뜻

- 마우스와 같이 가독성 좋고 편리한 방법으로 프로세스를 실행하거나 사용하는 것

 

#. script

- Interpreter 방식의 동작을 의미

- interpreter는 명령을 한 줄 읽고 한줄 해석하고 하는 방식

- interpreter는 한줄 씩 읽어나가는 방식이기 때문에 오류 발견이 쉽고 이식성이 높다.

- 예로 javascript_ python_ sql 등이 있다.

- 정확하지만 느리다는 단점이 있다.

- 여기서 compile 방식에 대해 잠깐 얘기하자면 기계어로 번역하고 한방에 읽는 방법이다.

- 예로 java_ C_ C++등이 있다.

- shell script란 intepreter 방식으로 명령을 보내는 것을 의미한다.

 

#. #!/bin/bash

- bash는 bourne shell의 약자로

- bash와 sh는 비슷하지만 bash가 조금 더 확장된 개념이라고 생각하면 된다.

- #은 주석을 의미하지만 #!는 shebang의 의미

- #!/bin/bash경로에 있는 기반으로 실행해라 라는 뜻이다.

 

 

#####. chmod 755

 

#. chmod 755는 change mode를 뜻한다.

#. scouter를 예를들어서 설명한다.

#. -rw-r--r-- 이부분을 4덩어리로 나눈다.

#. -    rw-    r--    r--

#. 첫번째 덩이

-  (d / l / -)로 나뉘는데 d는 directory, - 는 file, l은 link로

- ln -s scouter sss 명령어로 soft link 바로가기를 만들어 줘서 링크를 걸어봤다.

 

 

#####. 755

 

#. 2, 3, 4 덩이는 owner, group other로 나뉘고

#. rwx는 순서대로 read, write, excute로 나눈다.

#. owner(rwx) group(rwx) excute(rwx)

- 각 항목은 읽기(read) 쓰기(write) 실행(excute)의 3가지로 분류되며

- 소유자, 그룹, 실행은 비트연산의 2의2승, 2의1승, 2의 0승으로 표현되며 이 수치는

- 4, 2, 1이 된다 그러므로

- 소유권을 변경하는 명령어로 chmod를 하고 퍼미션을 chmod 755로 준다는 것은

- 소유자에게 7(4+2+1), 그룹에게 5(4+1), other에게 5(4+1)이 된다.

- 즉, 소유자에게 rwx의 권한을 주고 그룹에게 r-x의 권한, 사용자에게 r-x의 권한을 준다는 의미가 된다.

- 예제로 root의 권한으로 test를 만들고 권한을 변경해 보겠다.

- chmod 777 test로 권한 drwxrwxrwx만들어보는 예제

- 마지막으로 711로 chmod명령어를 주면

- drwx--x--x로 변경 될 것이다.

 

#####. chmod o+x

 

#. 여기서 알파벳은 (u)ser, (g)roup, (o)ther이 있고, 전부를 포함하는 (a)ll이 있다.

#. 예를들어 user의 권한에 쓰기(w)를 추가하고 싶으면 u + r 명령어를 사용할 수 있다.

#. 정확한 문장 chmod -R u+r test, 권한 빼기는 chmod -R u-r test

#. 중복해서 하고 싶다면 chmod -R uo+rx 이런식으로 명령어를 추가할 수 있다.

반응형