리눅스프로그래밍 28

우분투 리눅스 - 프로세스 관리 명령(pgrep, kill)

ps 명령에서 특정 프로세스의 정보를 검색하려면 | 를 사용하여 검색한다. ps -ef | grep 명령 의 형태로 연결해서 사용한다. 예를들어, bash 셸에 대한 정보를 검색했다고 하면, ps -ef | grep bash 를 입력해주면 된다. ps 와 grep 을 하나로 통합하여 만든 명령이라고 생각할 수 있는 pgrep 이 있다. pgrep - 기능: 지정한 패턴과 일치하는 프로세스의 정보를 출력한다. - 형식: pgrep [옵션] 패턴 - 옵션: -x : 패턴과 정확히 일치하는 프로세스의 정보를 출력한다. -n : 패턴을 포함하고 있는 가장 최근 프로세스의 정보를 출력한다. -u 사용자명: 특정 사용자에 대한 모든 프로세스를 출력한다. -l: PID 와 프로세스 이름을 출력한다. -t term :..

우분투 리눅스 - 프로세스 관리하기

사용자가 입력한 명령은 프로세스가 되어 실행된다. (프로세스란, 현재 실행 중인 프로그램을 의미한다.) 시스템에서 사용자가 실행한 프로세스 외에 사용자 관리, 메모리 관리, 네트워크 접속 관리 등 다양한 기능을 수행하는 많은 프로세스가 실행되고 있다. 내가 앞서 사용한 대부분의 명령들은 실행 시간이 짧은 것으로 실행 뒤 바로 종료 되기 때문에 짧은 시간 동안만 프로세스 상태를 유지한다. 프로세스와 관련된 명령은 일반 사용자 계정에서도 사용하지만 특히 시스템 관리자가 많이 사용한다. 리눅스는 기본적으로 다중 프로세스 시스템이므로 여러 개의 프로세스가 동시에 실행된다. 1. 프로세스의 개념 1) 프로세스 부모 - 자식 관계 - 모든 프로세스는 부모-자식 관계를 가지고 있다. - 필요에 따라 부모 프로세스는 ..

우분투 리눅스 - 특수 접근 권한

특수 접근 권한 접근 권한은 원래 4자리인데, 생략된 맨 앞자리는 특수 접근 권한을 의미한다. 맨 앞자리 숫자가 0이면 일반적인 접근 권한이지만 이 숫자가 1 , 2, 4 이면 특수 접근 권한이 설정된다. SetUID : 맨 앞자리가 4 SetGID : 맨 앞자리가 2 스티키 비트: 맨 앞자리가 1 chmod □755 test.txt □에 들어갈 내용은 특수 접근 권한이다. SetUID : 해당 파일이 실행되는 동안에는 파일을 실행한 사용자의 권한이 아니라 파일의 소유자의 권한으로 실행 SetUID 가 설정되면 소유자의 실행 권한에 's' 가 표시된다. set.exe 를 실행하면 항상 user1의 권한을 가지고 실행된다는 의미이다. /etc/shadow 파일은 root 계정으로만 수정이 가능하다. pas..

우분투 리눅스 - 기본 접근 권한 설정

1. 기본 접근 권한 : 리눅스에서는 파일이나 디렉터리를 생성할 때 접근 권한이 자동적으로 설정된다.일반 파일의 경우 소유자- 읽기,쓰기 권한이 설정되고 그룹, 기타 사용자는 읽기 권한만 설정된다.디렉터리의 경우 소유자는 읽기,쓰기,실행 권한이 설정되고 그룹, 기타 사용자는 읽기, 실행 권한만 설정된다. 2. 기본 접근 권한 확인하고 변경하기umask기본 접근 권한을 출력하거나 변경한다. 아무 인자 없이 umask 명령만 사용하면 기본 마스크 값을 보여준다.옵션으로 -S 를 붙이면 마스크 값을 문자로 출력한다. 마스크 값의 의미는? 파일이나 디렉터리 생성 시 부여하지 않을 권한을 지정해 놓는 것이다. (권한을 가려버리는😷 )마스크 값이 022 일 경우, ----w--w- 이고, 그룹과 기타 사용자에게 쓰..

우분투 리눅스 - 파일 접근 권한 관리

리눅스에서 ls 명령을 사용해보면 , 파일의 상세 정보를 알 수 있다. 상세 정보에는 파일에 대한 접근 권한도 포함되어 있다. (접근권한: 해당 파일을 누군가 보거나 수정, 삭제 할 수 있는지 정의한 것으로 사용 권한 이라고도 한다.) 리눅스는 기본적으로 다중 사용자 시스템이기 때문에 여러 명의 사용자가 같은 시스템에서 작업하게 된다!따라서 누군가 파일에 무단으로 접근하는 것을 방지하기 위해 보호하는 기능을 제공한다. 1. 파일의 속성user @myubuntu:~$ ls -l /etc/hosts-rw-r--r-- 1 root root 223 08월 29 11:11 /etc/hosts 번호속성 값의미1-파일의 종류 (- : 일반 파일, d: 디렉터리)2rw-r--r--파일을 읽고 쓰고 실행할 수 있는 접근..

우분투 리눅스 - 히스토리

히스토리란? 사용자가 이전에 입력한 명령을 다시 불러 사용하는 것 history 히스토리 ( 명령 입력 기록)을 출력한다. ! 명령 재실행하기 !! 바로 직전에 실행한 명령을 재실행 한다. !번호 히스토리에서 해당 번호의 명령을 재실행한다. !문자열 히스토리에서 해당 문자열로 시작하는 마지막 명령을 재실행한다. 히스토리 저장하기: 로그아웃할 때 홈 디렉터리 아래의 숨김 파일인 .bash_history 에 히스토리 저장

우분투 리눅스 - 에일리어스

에일리어스(alias) 란? '별명'을 의미한다. 기존의 명령을 대신하여 다른 이름을 붙일 수 있도록 하는 기능으로 긴 명령을 짧게 만들어서 사용할 수 있다. 여러 명령을 연결하여 하나의 명령으로 만들 수도 있다. 자주 사용하는 옵션을 포함해서 새로운 이름을 붙여서 사용하기도 한다. 형식: alias 이름='명령' ( 이때 , = 좌우에 공백이 있으면 안 되는 것 주의!!! ) 사용 예) alias 현재 설정된 별칭 목록을 출력한다. alias 이름='명령' 명령을 수정하여 사용하는 경우다. alias 이름='명령;명령2;...' 여러 명령을 하나의 이름으로 사용하는 경우이다. 배시 셸에서는 에일리어스로 인자를 전달할 수 없다. 배시 셸에서 인자를 전달하려면 프로그래밍 기능에서 함수를 사용하면 된다. 우..

우분투 리눅스 - 배시 셸 환경 설정

셸은 셸의 환경을 설정하기 위한 값을 저장할수 있도록 셸 변수와 환경 변수를 제공한다. 이 변수를 이용하여 사용자마다 각각 원하는 환경을 설정할 수 있다. 이 변수에는 사용자 정보, 명령을 찾아오는 경로, 각 사용자의 프롬프트 모양 등 다양한 정보가 저장되어 있어 사용자의 작업 환경을 더욱 편리하게 설정할 수 있도록 해준다. 1. 셸변수: 현재 셸에서만 사용이 가능하고 서브 셸로는 전달되지 않는다. (지역변수) 2. 환경 변수 : 현재 셸 뿐만 아니라 서브 셸로도 전달된다. (전역 변수) 전체 변수 출력 : set ) 셀 변수와 환경 변수 모두 출력 env ) 환경 변수만 출력 주요 셸 환경 변수 환경변수 의미 환경변수 의미 HISTISIZE 히스토리 저장 크기 PATH 명령을 탐색할 경로 HOME 사용..

우분투 리눅스 - 입출력 방향 바꾸기

보통 키보드로 명령을 입력하고 실행 결과는 화면에 출력된다. 명령의 실행 결과를 파일로 저장하고 입력도 키보드가 아닌 파일에서 읽어오도록 할 수 있다. 입출력 장치를 바꾸면 된다! 리눅스는 장치도 파일로 관리한다. 1. 파일 디스크립터 - 파일 관리를 위해 붙이는 일련 번호 - 입출력 장치를 변경할 때는 이 파일 디스크립터를 사용한다. - 표준 입출력 장치를 파일로 바꾸는 것을 리다이렉션이라고 한다. 파일 디스크립터 파일 디스크립터 대신 사용하는 이름 정의 0 stdin 명령의 표준 입력 1 stdout 명령의 표준 출력 2 stderr 명령의 표준 오류 2. 출력 리다이렉션 > : 기존 파일의 내용을 삭제하고 새로 결과를 저장 (덮어쓰기) >> : 기존 파일의 내용 뒤에 결과를 추가 파일 덮어쓰기 > ..

우분투 리눅스 - 셸 기본 사용 방법

1. 기본 셸 확인 - 프롬프트 모양 본 셸, 배시 셸, 콘 셸의 기본 프롬프트 : $ C 셸의 프롬프트 : % - 나의 환경에서 기본 셸을 확인하기 위해 명령어를 입력하여 확인해본다. 사용자 정보를 확인할 때는 /etc/passwd 파일을 살펴본다. 사용자 정보의 가장 마지막에 나온 /bin/bash 가 기본 셸인 것이다. -기본 셸 바꾸기 우분투의 기본 셸은 배시 셸이지만 사용자가 바꾸고 싶다면 바꿀 수 있다.(리눅스에 그 셸이 설치되어 있다면) chsh 기능 : 사용자 로그인 셸을 바꾼다. 형식 : chsh [옵션] [사용자명] 옵션 : -s shell : 지정한 셸로 로그인 셸을 바꾼다. -l : /etc/shells 파일에 지정된 셸을 출력한다. 바꿀 수 있는 셸의 종류는 /etc/shells ..