본문 바로가기

스터디

(35)
[리눅스] 10. 프로세스 1. 프로세스는 어떻게 동작하는가? : 시스템이 구동될 때, 커널은 몇몇 프로세스를 초기화하고 init이라는 프로그램을 실행한다. init은 차례차례 모든 시스템 서비스를 시작하기 위해 init 스크립트(/etc 위치에 있다)라고 불리는 쉘 스크립트들을 실행한다. 이러한 서비스들은 데몬 프로그램으로 구현되어 있다. 데몬 프로그램 아무런 사용자가 인터페이스 없이 백그라운드 상태로 실행하는 것이기 때문에, 로그인 하지 않은 상태에서도 시스템은 최소한의 필요 작업들을 수행한다. ps - 프로세스 보기 iseungmin@iseungmin-ui-MacBookAir  ~  ps PID TTY TIME CMD 660 ttys000 0:00.25 -zsh 프로세스 660은 zsh를 나타낸다. iseungmin@is..
[리눅스] 9. 퍼미션 퍼미션 : 네트워크나 인터넷에 연결딘 컴퓨터라면, 원격 사용자가 ssh(secure shell) 를 통해 로그인해서 컴푸터를 조작할 수 있다. 이 뿐만 아니라, 다양하게 조작할 수 있는 방법이 있는데, 이러한 경우들 처럼 다른 사용자로 부터 보호하기 위한 방법이 필요한데 이러한 기능을 퍼미션이라고 한다. id : 사용자 ID 정보를 표시한다. chmod : 파일 모드를 변경한다. umask : 기본 파일 퍼미션을 설정한다. su : 다른 사용자로 쉘을 실행한다. sudo : 다른 사용자로 명령어를 실행한다. chown : 파일 소유자를 변경한다. chgrp : 파일 그룹 사용자를 변경한다. passwd : 사용자 비밀번호를 변경한다. 1. 소유자, 그룹 멤버, 기타 사용자 $ file /etc/shado..
[리눅스] 8. 고급 키보드 기법 커맨드라인 편집 : bash는 Readline이라고 하는 라이브러리를 사용하는데, 이것으로 커맨드라인을 편집할 수 있다. 1. 커서 이동 CTRL - A : 줄 맨 앞으로 커서 이동 CTRL - E : 줄 맨 끝으로 커서 이동 CTRL - F : 다음 한 글자로 커서 이동. 오른쪽 화살표 키와 동일함 CTRL - B : 이전 한 글자로 커서 이동. 왼쪽 화살표 키와 동일함 ALT - F : 다음 한 단어로 커서 이동 ALT - B : 이전 한 단어로 커서 이동 CTRL - L : 화면을 지우고 커서를 왼쪽 최상단으로 이동. clear 명령어와 동일함 텍스트 수정 텍스트 편집 명령어 CTRL - D : 현재 커서 위치에 있는 글자 지우기 CTRL - T : 현재 커서 위치에 있는 글자와 바로 앞 글자의 위..
[리눅스] 7. 확장과 인용 확장 : 명령어를 입력하고 엔터키를 누르면 bash는 그 명령어를 수행하기 전에 텍스트에 몇 가지 프로세스를 진행한다. * 기호처럼 쉘에 여러 의미를 주는 경우나 연속된 문자열로 처리되는 것과 같은 경우처럼, 이러한 프로세스를 확장이라고 한다. 확장이라는 기능으로 인해 무엇이든 입력하면 쉘이 그것을 처리하기 전에 다른 무언가로 확장된다. 확장을 이해하려면 echo 명령어를 사용하면 된다. echo : 표준 출력상에 텍스트 인자를 표시. iseungmin@iseungmin-ui-MacBookAir  ~  echo this is test  ✔  1993  15:45:58 this is test this is test 라는 텍스트가 표시되었다. iseungmin@iseungmin-ui-MacBookA..
[리눅스] 6. 리다이렉션 I/O 리다이렉션 (입출력 방향 지정)의 명령어들을 알아볼 것이다. 명령은 리다이렉션을 토해 파일로부터 입력받을 수 있고, 또한 파일로 출력할 수 있다. 강력한 파이프라인을 만들기 위해서 필요한 명령어들을 연결할 수 있다. 1. 표준 입출력과 표준 오류 : 많은 프로그램들은 일종의 출력을 만들어낸다. 출력은 두 가지 형식을 포함한다. 첫 번째는 프로그램의 결과이다. -> 프로그램이 출력하도록 설계한 데이터를 말한다. 두 번째는 프로그램이 어떻게 돌아가고 있는지를 말해주는 상태 및 오류 메시지 형식이다. 위를 토대로 ls 와 같은 프로그램은 사실 표준 출력 (stdout)이라고 불리는 특수한 파일에 이 명령어에 대한 결과를 보내고 표준 오류 (stderr)라는 또 다른 파일에 그 상태 메시지를 전송한다. ..
[리눅스] 5. 명령어와 친해지기 5. 명령어 /usr/bin 디렉토리에서 본 파일들 처럼실행프로그램이라고 말한다. 쉘에 내장되어 있는 명령어이다. 또는, 쉘 함수이다. 별칭이다. 즉, 다른 명렁어로부터 우리만의 명령어를 새롭게 정의할 수 있다. 명령어 확인 1) type - 명령어 타입 표시 : 쉘이 실행하게 될 명령어가 어떤 타입인지 보여준다. type command 2) which - 실행 파일의 위치 표시 : 때때로 실행 프로그램이 여러 버전으로 설치되고는 한다. 실행할 프로그램의 정확한 위치를 파악하기 위해 사용한다. which command 명령어 도움말 보기 1) help - 쉘 빌트인 도움말 보기 : 명령어가 무엇인지에 대한 이해를 통해 각 명령어마다 가지고 있는 도움말을 검색할 수 있다. command --help 2) ..
[리눅스] 4. 파일과 디렉토리 조작 리눅스에서 커맨드라인 프로그램을 사용하는 이유는 ? -> 복잡한 작업들은 커맨드라인 프로그램으로 이용하면 작업이 더 수월해 진다. 커맨드라인은 매우 강력하고 유연성 있다. 예를 들어, 파일의 최신 버전만 복사하고 싶을 때 커맨드라인을 사용하면 매우 쉽게 복사할 수 있다. 1. 와일드 카드 -> 커맨드 라인 명령어에 강력함을 더해주는 특수 문자. * : 모든 문자 ? : 모든 하나의 문자 [characters] : characters이라는 문자가 포함된 문자 [!characters] : characters이라는 문자가 포함되지 않은 문자 와일드 카드 사용예시 * : 모든파일 g* : g로 시작하는 모든 파일 b*.txt : b로 시작하는 .txt 형식의 파일 Data??? : Data로 시작하면서 뒤에 정..
[리눅스] 리눅스 시스템 디렉토리 리눅스 터미널을 사용하다보면 ls 명령어를 사용하더라도 리눅스의 중요 디렉토리가 보이지 않을 때가 있다. 우리는 그 디렉토리를 사용해야하는데 정작 발견하지 못하고 있어서 정리하려고 한다. 리눅스 시스템 디렉토리 / : 루트 디렉토리, 파일 시스템의 시작점 /bin : 시스템 부팅과 실행에 필요한 바이너리(프로그램을 포함하고 있다. /boot : 시스템 부팅 시 필요한 드라이버가 있다. /dev : 커널이 인식하는 모든 디바이스를 관리한다. /etc : 시스템 전반의 환경설정 파일이 들어있다. /home : 각 사용자마자 홈 디렉토리를 가지고 있다. 일반 사용자는 홈 디렉토리 내에서만 파일을 편집할 수 있다. /lib : 주요 시스템 프로그램에서 사용하는 공유 라이브러리 파일이 저장되어 있다. 홈 디렉토리..