일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 운영체제
- 프로세스
- 턱걸이
- error
- OpenCV
- 공부
- 시스템프로그래밍
- 백준
- 학습
- 알고리즘
- Windows10
- 텐서플로우
- Computer Vision
- shell
- 영상처리
- 딥러닝
- Windows 10
- 쉘
- C++
- linux
- c
- 리눅스
- 회귀
- TensorFlow
- 백준알고리즘
- python
- 프로그래밍
- CV
- 코딩
- C언어
- Today
- Total
목록전체 글 (161)
줘이리의 인생적기
프로세스 ID - 각 프로세스는 각 pid를 가지며, 최대값은 32768이다. - sudo vi /proc/sys/kernel/pid_max 에서 최대값을 확인할 수 있음. 프로세스 계층 - 최초 프로세스는 init 프로세스 이며 pid는 1이다. - 운영체제가 init프로세스를 생성한다. - 다른 프로세스는 init프로세스를 기반으로 생성된다. - ppid는 부모프로세스의 pid를 뜻한다. 소유자 관리 - 리눅스는 프로세스의 소유자와 그룹을 UID/GID 정수로 관리하며 서로 매핑되어 있다. - sudo vi /etc/passwd 에서 확인할 수 있다. PID 호출 함수 - getpid(), getppid()로 알 수 있다. #include #include #include int main() { pri..
하드 링크, 소프트 링크를 알아보기 전 다시 한번 복습해야 하는 명령어이다. cp 파일이름 새로운파일이름 : 파일을 새로운 파일 이름으로 바꾸고 복사 cp -rf 폴더이름/ 새로운폴더이름 : 폴더 내 모든 파일들을 새로운 폴더 이름으로 바꾸고 복사 rm 파일이름 : 파일 삭제 rm -rf 폴더이름 : 폴더 내 모든 파일 삭제 하드링크 ln 파일이름 새로운파일이름 : 똑같은 inode값을 가진 파일이 생성된다. 외관상으로 보기에는 일반적인 cp(copy)와 똑같아 보인다. ls -i (파일 inode 확인 명령어)를 사용하여 inode를 확인하면 cp로 생성된 파일만 inode값이 다른 것을 확인할 수 있다. ls -al 로 권한정보를 확인하면 맨 앞 기호는 -로 표기된다. 또, 기존 파일을 수정하면 하드..
foreground process : 쉘(shell)에서 해당 프로세스 실행을 명령한 후, 해당 프로세스 수행 종료까지 사용 자가 다른 입력을 하지 못하는 프로세스 background process : 사용자 입력과 상관없이 실행되는 프로세스 이 두개의 차이가 어떤 것인지 알기 위해서는 터미널창에 일반적인 실행방법을 생각해보면 된다. 터미널 창을 하나 켜고 실행파일을 하나 실행 했을 때, 우리는 다른 명령어를 입력하지 못한다. 그것이 foreground process이다. background process를 실행하고 싶을 때는 마지막에 &를 붙이면 된다. 그러면 process는 실행하고 터미널창에 또 다른 명령어가 입력가능한 상태가 된다. 이때 등장하는 [숫자] 숫자 의 의미는 [job number] P..
command로 실행되는 프로세스는 세가지 스트림을 가지고 있다. - 표준 입력 스트림(Standard Input Stream) - stdin - 표준 출력 스트림(Standard output Stream) - stdout - 오류 출력 스트림(Standard error Stream) - stderr 모든 스트림은 일반적인 text로 console에 출력하도록 되어 있다. 리다이렉션(redirection)은 표준 스트림의 흐름을 바꿔주는 기법이다. 주로 명령어 표준 출력을 화면이 아닌 파일에 쓸 때 사용한다. 예) ls > files.txt : ls로 출력되는 stdout의 방향을 files.txt로 바꿔줌. head < files.txt : files.txt의 파일 내용의 10줄이 화면에 출력됨. he..
user의 권한을 추가하고 바꾸는 방법과 명령어에 대해서 알아보자 1. root가 아닌 특정 사용자가 sudo를 사용할 수 있도록 설정하기 sudo vi /etc/sudoers 라는 명령어로 설정 파일에 가서 root ALL=(ALL) ALL 부분 아래에 userid ALL=(ALL) ALL 을 추가해주면 이 userid에서도 sudo 명령어가 가능해진다. 2. root가 아닌 특정 그룹이 sudo를 사용할 수 있도록 설정하기 위와 같은 방법으로 진행 한 후 userid 대신에 %group ALL=(ALL) ALL을 추가한다. 3. 패스워드 생략 설정하기 root ALL=(ALL) NOPASSWD : ALL userid ALL=(ALL) NOPASSWD : ALL %group ALL=(ALL) NOPAS..
whoami : 로그인한 사용자 ID passwd : 로그인한 사용자 암호변경 useradd : 사용자 기본 설정 자동으로 하지 않음 adduser 원하는id : 사용자 기본 설정을 자동으로 수행 su : 사용자 변경 su root : 현재 사용자 환경설정 기반으로 root로 변경 su - root : 변경되는 사용자의 환경설정 기반으로 root로 전환 sudo 명령어 : root 권한으로 명령어 실행
쉘(shell) : 사용자와 컴퓨터 하드웨어 또는 운영체제 간의 인터페이스 쉘은 사용자의 명령을 해석해서 커널에 명령을 요청해주는 역할을 한다. 관련된 시스템콜을 사용해서 프로그래밍되어 있다. 종류로는 bash, sh, csh, ksh가 있다. ksh(korn shell)은 유닉스에 가장 많이 사용되는 쉘이다. bash(Bourne-Again Shell)은 현재 리눅스의 가장 기본인 쉘이다. 리눅스의 명령어는 쉘이 제공하는 명령어들이며, 다음 장에서부터 배울 기본 명령어들은 bash에서 제공하는 기본 명령어이다.
리눅스는 윈도우와 다르게 전역 네임스페이스를 사용한다. - 윈도우 : C:/windows/... - 리눅스 : /home/사용자이름/... 파일 리눅스의 파일은 inode 고유값과 자료구조에 의해 주요 정보를 관리한다. 프로세스 리눅스의 실행파일 포멧은 ELF(Executable and Liable Format)이다. 시스템콜 호출을 통해 다양한 시스템 리소스 처리를 가능토록 구성되어 있다. 가상 메모리를 지원한다. 각 프로세스는 pid 고유값으로 구분한다. init 프로세스를 기반으로 fork() 시스템콜을 사용해서 신규 프로세스가 생성된다. 권한 운영체제는 사용자와 리소스 권한을 관리하며, 리눅스는 사용자와 그룹으로 권한을 관리한다. root는 슈퍼관리자 파일마다 소유자, 그룹, 소유자와 그룹이 아닌..