Major/Linux(Ubuntu)

    부팅과 종료

    부팅과 종료

    stud2222@com-B70EV-AP5VBGE:~$ ps -ef | more UID PID PPID C STIME TTY TIME CMD root 1 0 0 08:19 ? 00:00:09 /sbin/init splash /sbin/init = /lib/systemd/systemd , symbolic link init process : /etc/init, /etc/init.d, /etc/rc?.d 디렉터리 들의 관리정보 통해서 순차적으로 필요한 프로세스 생성 사용자가 접속할 장치마다 접속을 받는 전담프로세스가 생성되도록 함. 사용자로부터 접속 요청 -> /bin/login 프로세스 생성 후 처리 login process -> get ID,Passwd -> 검증 -> /etc/passwd 파일 지정 프로세..

    ProgTools

    ProgTools

    gcc -o executable source-list -o : 실행 파일 이름 명시, 디폴트 a.out gcc -c reverse.c : object 모듈 작성 실행 파일 생성 gcc test.c module.c mv a.out test 직접 실행파일명 지정 gcc -o test test.c module.c 단계별 컴파일1 gcc -c test.c module.c -다중 모듈 프로그램의 부분 컴파일 : 컴파일 작업의 속도 개선 ex) bingo = bingo.o + hidden.o + check.o + bingo.h 전부 컴파일 및 링킹 : gcc -o bingo bingo.c ........... etc * gcc -c => 오브젝트 파일 생성 .c (assembling) => gcc -o => 실행파..

    사용자 정보 관리

    adduser : UID, GID 중복되지 않게 자동 부여 addgroup : GID 중복되지 않게 자동 부여 UID : 사용자가 로그인할 때 사용한 계정의 UID EUID : 현재 명령을 수행하는 주체의 UID - 실행 파일에 setUid 설정되어 있는 경우 : 해당 실행 파일을 실행한 프로세스의 UID는 사용자 계정의 UID ㄴㄴ 실행 파일 소유자의 UID가 EUID 처음에는 UID = EUID, su 명령으로 계정 전환 후에 UID != EUID who : 사용자 로그인 정보 확인 w : 현재 시스템 사용하는 사용자의 정보, 작업 정보 출력 last : 시스템 로그인, 로그아웃한 정보 출력 stud2222@com-B70EV-AP5VBGE:~$ whoami stud2222 stud2222@com-B7..

    Overwrite script

    명령어 : overwrite source dir newname 인수 갯수 오류 시(3개 미만) 사용법 출력 후 종료 출력 : "usage~" , 종료코드1 source 파일이 존재하지 않으면 오류메시지 출력 후 종료 dir 디렉토리 존재하지 않으면 오류메세지 출력 후 종료 대상파일이 일반파일이 아니면 생략 대상 파일이 쓰기 금지이면 쓰기모드 추가 후 덮어쓰기 성공적으로 종료 시 종료코드 0 #! /bin/bash if (( $# < 3 )); then echo "Usage : Overwrite source dir newname" exit 1 //오류 코드 1 fi if [ ! -f $1 ]; then echo "$1 is not a file" exit 2 fi if [ ! -d $2 ]; then ech..

    프로세스

    프로세스

    pwd (print working directory) !!! 프로세스 : 현재 시스템에서 실행되는 프로그램. 프로그램과 프로세스의 차이 프로그램 : 지정된 작업 수행하는 명령 프로세스 : 실행 중인 프로그램. (프로그램이 실행되면 이를 프로세스라고 한다.) 각 프로세스는 고유한 번호를 가지고 있는데 이것이 PID. 자식 프로세스는 할 일이 끝나면 부모 프로세스에게 결과 돌려주고 종료. - 데몬 프로세스 특정 서비스 제공 위해서 존재하며 부팅 과정에서 실행 시작함. - 고아 프로세스 자식 프로세스가 아직 실행 중인데 부모 프로세스가 먼저 종료된 자식 프로세스. 이때 1번 프로세스가 새로운 부모 프로세스가 되어서 작업 종료를 지원한다. - 좀비 프로세스 자식 프로세스가 실행을 종료 했는데도 프로세스 테이블 ..

    vi, 셸

    vi, 셸

    내용 수정 명령 키 r 커서가 위치한 글자를 다른 글자로 수정 cw, #cw 커서 위치부터 현재 단어 끝까지 수정. #에는 수정할 단어의 수 지정. #cw는 커서 위치로부터 #개의 단어를 수정한다는 뜻. s, #s 커서 위치부터 esc키 입력할 때까지 수정. #에는 수정할 글자의 수 지정 cc 커서가 위치한 행의 내용 모두 수정. C 커서 위치부터 행의 끝까지 수정 내용 삭제 명령 키 x, #x 커서 위치의 글자 삭제. # : 삭제할 글자 수 dw, #dw 커서 위치의 단어 삭제. # : 삭제할 단어 수 dd, #dd 커서 위치의 행 삭제. # : 삭제할 행의 수 D 커서 위치부터 행의 끝까지 삭제. 이전 명령 취소 키 u 명령 취소 U 해당 행에서 한 모든 명령 취소 :e! 마지막으로 저장한 내용 이후..