본문 바로가기
리눅스

리눅스 2장 - file edit(nano) & sudo & Package manager -

by ChocoPeanut 2017. 6. 7.

리눅스 2

- file edit(nano) & sudo & Package manager -

 

운영체제에서 파일이라고 하는 것은 정보를 저장하는 아주 기본적인 수단, 저장소라고 할 수 있고 디렉토리는 파일을 잘 정리정돈하기 위한 수납공간이라고 할 수 있다. 앞에서는 파일과 디렉토리를 어떻게 관리할 것인가에 대한 내용이었고 지금은 정보를 파일에 저장하는 방법에 대한 설명이다. 명령어 기반의 시스템에서 편집기로 사용되는 시스템으로는 nanovi가 있다. nano의 경우는 처음 리눅스를 사용하는 사람들이 사용하기에 편해서 좋고 vi는 리눅스에서 편집을 하는 것이 편리한 중급자들의 경우 많이 사용한다. 따라서 여기서는 nano에 대한 설명을 해볼 것이다. nano를 터미널에 입력하게 되면 편집기 화면으로 전환된다. 여기서 작성하는 것이 Window에서는 메모장에 작성하는 것과 같다고 할 수 있다. 파일을 저장하고 싶으면 Write Out 이라는 명령어를 수행하는 ^O를 누르면 된다. ^ctrl 키를 누르는 것을 의미하고 밑에 나오는 해당 명령어에 맞는 알파벳을 같이 입력해주면 된다. 파일 명을 입력하고 나면 파일이 저장되고 그 후 ^X를 입력하게 되면 파일 편집에서 나올 수 있다. nano로 다시 편집하기 위해서는 nano 뒤에 파일 명을 입력하면 해당 파일을 편집할 수 있는 창으로 넘어가게 된다. 하지만 편집을 하는 것이 아니라 그냥 파일에 내용을 확인하고 싶을 때에는 cat이라는 명령어를 사용한 후 파일 명을 입력하면 편집 페이지로 넘어가는 것이 아니라 명령어 창에서 그대로 파일 내용을 출력해서 보여준다. 그런데 이렇게 파일을 편집하거나 읽기 위해서는 권한이 필요하다. 파일을 만들어줄 때에는 그런 권한이 필요 없겠지만 중요한 파일을 편집하거나 읽을 때에는 권한이 필요할 수도 있다. 이 때 권한이 없는 경우 Permission denied 라는 error를 만나게 될 것이다. 이것을 해결하기 위한 권한이 바로 sudo이다.


sudosuper user do의 약자이다. 리눅스의 운영체제들은 다중 사용자 시스템을 지원한다. 다중 사용자 시스템이 지원되면서 권한에 대한 기능이 생성되었다. 각각의 사용자마다 할 수 있는 일과 할 수 없는 일을 권한을 통해 나누어 놓았다. 운영체제도 위임받은 권력이 필요하므로 root user(super user)라는 존재가 필요하게 된다. 하지만 이런 권한을 가지게 되면 문제가 발생할 수 있다. 모든 디렉토리 파일을 삭제하라는 명령을 수행하게 되면 원래는 권한이 없어서 실행 할 수 없으나 권한을 가지게 되면 명령을 줄 수 있게 된다. 그러면 모든 프로그램이 삭제되므로 운영체제 상에 문제가 발생하게 된다. 이런 문제를 막기 위해 권한으로 제재를 하는 것이다. sudo 라는 명령어는 관리자의 권한을 주는 명령어이다. 따라서 주의 깊게 사용할 필요성이 있다.


Package는 흔히 부르는 애플리케이션과 같다. 기본적으로 탑재되어 있는 패키지라고 하면 lsmkdir과 같다. 기본적으로 포함되어 있지 않지만 소스 코드를 다운로드 받아 사용하는 경우가 있다. 명령어를 통해서 패키지들을 관리하는 것을 package manager라고 한다. package manager에는 두 가지의 종류가 있는데 aptyum이다. apt라는 package manager를 사용하기 위해서는 sudo apt-get update; 명령을 사용해야한다. 사용하고자 하는 package를 찾을 때에는 sudo apt-cache search 프로그램명을 사용하면 되고 설치할 때에는 sudo apt-get install 프로그램명을 입력하면 된다. 이 후에는 프로그램명을 입력하면 그에 해당하는 package를 사용할 수 있게 되고 updrade도 할 수 있다.

'리눅스' 카테고리의 다른 글

리눅스 3장 - CLI & I/O Redirection -  (0) 2017.06.08
리눅스 1장 - file & directory -  (0) 2017.06.04