#4 리눅스 | 리눅스(유닉스) 셸 기본 사용법

HYUN·2021년 3월 6일
0
post-thumbnail

셸 | Shell

사용자가 하드웨어의 시스템 자원 or 운영체제의 기능을 사용할 수 있도록 도와주는 인터페이스로 사용자의 명령을 해석해서 커널에 요청해주는 역할을 합니다. 이러한 리눅스 환경의 셸의 명령들은 관련된 시스템 콜을 사용해서 프로그래밍이 되어있기 때문에 사용할 수 있는 명령어들이 정의되어 있습니다.

마이크로소프트사의 윈도우즈에서 사용되는 셸(GUI)의 경우는 이미 윈도우즈(운영체제)에서 만들어져 나온 프로그램들을 사용하는것이기 때문에 따로 변경할 수 없지만 리눅스 환경의 셸의 경우 원하는 프로그램을 선택할 수 있고 이는 리눅스 환경의 셸에는 다양한 종류가 있다는 의미입니다.

리눅스 셸의 종류

  • Bourne-Again Shell(bash): GNU 프로젝트의 일환으로 개발된 셸로 대부분의 리눅스 운영체제에서 해당 셸을 디폴드로 사용하는 경우가 많습니다.
    • 유닉스에서 가장 많이 사용하는 Korn Shell(ksh)을 기반으로 만들어졌습니다.

그 밖에 Bourne Shell(sh), C Shell(csh) 등 이 있습니다.


대표적인 리눅스 셸인 bash의 기본 명령어

다중 사용자를 지원하는 유닉스를 기반으로 리눅스를 만들었기 때문에 리눅스의 셸 또한 다중 사용자를 지원하며 이러한 다중 사용자에 관련된 명령어들을 보겠습니다.

  • # whoami: 로그인한 사용자 ID를 알려줍니다.

  • # passwd: 로그인한 사용자 ID의 암호 변경

    • 처음 명령어를 입력하면 해당 아이디에 대한 패스워드가 없기 때문에
  • # useradd: 신규 사용자 등록 | 사용자 기본 설정을 자동으로 하지 않음

  • # adduser: 신규 사용자 등록 | 사용자 기본 설정을 자동으로 수행함

  • # su: 사용자 변경

    • su root : 현재 사용자의 환경설정을 기반으로 root 사용자로 변경
    • su -root : 변경되는 사용자의 환경설정을 기반으로 root 사용자로 변경
  • # sudo: root 권한으로 명령어을 실행함

  • # pwd: 현재 디렉토리를 알려줍니다.

  • # cd: 디렉토리를 이동할 때 사용합니다.

    • cd ~: home 디렉토리로 바로 이동
    • cd ..: 전 디렉토리로 이동
  • # ls: 현재 디렉토리의 목록을 출력해 보여줍니다.

    • ls -al: 현재 디렉토리의 숨김 파일까지 포함해서 출력해 보여줍니다.

숨김 파일을 보는 방법: 각 파일마다 소유자, 소유자의 그룹, 모든 사용자에 대해 읽고, 쓰고, 실행하는 권한 설정 그리고 소유자 접근에 대한 권한 정보는 indoe에 저장됩니다.
1 | 3 | 3 | 3 으로 읽으면 되며, 앞의 칸은 파일일 경우 -, 디렉토리일 경우 d, 2번째 칸은 소유자 권한, 3번째 칸은 그룹의 권한, 4번째 칸은 기타사용자의 권한입니다.

- rwx rw- r-x
권한대표문자파일일 경우디렉토리일 경우
읽기r읽기, 복사ls 명령어 가능
쓰기w수정파일 생성 가능
실행x실행cd 접근 가능
  • # chmod: 파일의 권한 변경

    • 문자를 사용한 방법은 아래와 같음

    • 누구에게주는지, 빼는지어떤 권한을
      u 사용자+ 더하기r 읽기
      g 그룹- 빼기w 쓰기
      o 기타= 설정x 실행
      a 전부
    • ex) chomd g+rx text.c 그룹 사용자에게 읽기, 쓰기 권한을 추가한다.

    • ex) chomd u=rwx, g=rw, o=rx test.c 사용자에겐 전부다, 그룹에게는 읽고 쓰기를, 기타에게는 읽기와 실행을 준다.

    • 숫자를 사용한 방법은 아래와 같음

    • r = 4w = 2x = 1
    • ex) rwxrwxrwx = 777

    • ex) r-xr-x-rx = 555

    • ex) r-------- = 400

    • ex) rwx------ = 700

    • chmod 400 mysecurity.pem: 소유자에게만 읽기 권한을 줍니다.

    • 주로 사용하는 옵션으로 chmod -R 777 directory를 사용해서 특정 폴더의 하위 폴더를 포함해서 777 옵션을 설정합니다.

  • # chown: 소유자 변경

  • # cat: 파일의 목록을 터미널 환경에서 확인합니다.

    • # head/tail: 파일의 목록을 각각 10줄씩 앞부분/뒷부분만 출력해서 보여줍니다.
  • # more: 파일의 목록은 한 화면에 볼 수 없을 때 사용하면 넘겨가면서 확인할 수 있습니다.

  • # rm: 파일 혹은 폴더를 삭제하는 명령어입니다.

    • # rm -rf: 해당 명령어로 하위 디렉토리를 포함한 모든 파일을 강제로 삭제할 수 있습니다.
profile
자바스크립트를 좋아합니다. | 이유를 알고 있는 것과 모르는 것의 차이는 분명하다.

0개의 댓글