[ vi관련 ▽]
:q(작업X종료) :q!(저장X종료) :w(저장만, 중간저장) :wq :wq!(저장 종료) ZZ(저장 종료)
입력모드 I(커서 앞)a(커서 뒤)o(커서 다음행)IAO (커서 이전행) r:한글자수정 cw (ex. 5자 수정시 : cw 또는 5s)
마지막행모드로 : / ? (특정행 이동 :15 또는 15G)
삭제 : x글자 dw단어 dd행 명령취소 : u명령취소 U해당행모든명령취소 :e! 마지막저장내용으로 수정된 내용 버리고 새로
복붙 : yy행복사 p 커서아래행 붙이기 dd 행잘라내기 ->언네임드버퍼
네임드버퍼: a버퍼 “ayy 저장 ”ap 붙이기 마지막행모드 복붙 :3y (3행복사) :3d(잘라내기) :pu붙이기
마지막행모드 linux라는 문자열검색 /linux (아래방향) ?linux (위방향)
5~10행 모든 linux LinuX로 고치기 5,10s/linux/LinuX/g
vi환경설정 방법: 1.사용자홈디렉에 .exrc파일로저장 2.환경변수 EXINIT에 지정 3.행모드에서 명령으로설정
set nu : 각행 행번호표시 ↔set nonu set list(특수문자 표시) ↔set nolist set showmode(현재모드표시)
현재작업중 파일에 다른 파일읽기 :r t3.txt vi종료 안하고 셸 명령 :! 명령이나 :sh 로 셸이동 후 exit
화면 다시출력 : ctrl +l 파일저장하고 vi종료 ZZ :wq
[vi △]
셸 기능: 명령어 해석기 기능, 프로그래밍 기능, 사용자 환경 설정 기능 현재 셸 : bash
기본 셸 확인방법 : grep user1 /etc/passwd 바꿀 수 있는 셸종류 /etc/shells에 저장
특수문자 * (0개 이상문자) ?와 135 영문자시작숫자로끝[A-Za-z]*[0-9]
~와 – 디렉터리 ;와 | 명령끼리 연결 ‘’ :모든특수문자 일반문자처리 “” ;$ ` \ 제외
echo Today is date
:감싼 문자열을 명령으로해석 \:해당 특수문자효과 없애고 일반문자처리
표준입출력장치: 셸 작업 수행의 필요한 정보 받거나 출력하는 장치
> < >> : 입출력방향바꿈 0: 표준입력 stdin 1: 표준출력 stdout 2: 표준오류 stderr
> 파일 덮어쓰기 >> :파일에 내용추가 ls . /abc > ls.out 2> /dev/null (오류버리기 )
덮어쓰기 방지 : set –o noclbber
표준출력과 표준오류 한파일로 리다이렉션 ls . /abc > ls.out 2>&1
env명령 결과에서 특정환경변수만 골라 출력 env| grep SHELL
프롬프트를 현재 디렉터리와 히스토리번호로 설정 PS1=‘\w !’
환경설정파일 : 시스템환경 +사용자환경
배시 셸 사용 초기화파일 : 시스템환경설정- /etc/profile /etc/bashrc /etc/profile.d/*.sh
사용자 : ~/.bash_projile ~/.bashrc ~/.bash_logout
수정된 .bashrc파일적용법 1.source .bashrc 2. . .bashrc 3. 로그아웃, 로그인
권한부여+ 제거- 설정= chmod u-w,go-rx exmod.txt
마스크: 1이면 무조건0으로 최대권한 일반파일 666 디렉터리777
특수접근권한 setUID:맨앞자리4 (소유자) setGID: 2 (소유 그룹)
실행권한 없던 파일접근권한에S <-setUID ->예시명령 change mount passwd
스티키 비트:1 (디렉터리에 설정, 누구나 생성가능 생성계정-소유자)
1번 프로세스 systemd 2번 kthreadd 프로세스번호(PID)
일반프로세스: 커널의해실행, 수행후 소멸, 데몬프로세스: 특정서비스제공위해, 커널의해실행, 메모리에 상주
guest 사용자가 실행한 프로세스 찾기: ps –ef |grep guest 또는 ps –fu guest
강제종료는 kill –9 pid번호 주기적으로 프로세스 상태 살피기 top명령
로그아웃 후에도 작업 nohub find / -name test
매주일요일밤12시 crontab설정 0 24 ** 0 /usr/bin/ps –u user1 > ~user1/ps.out
at 12:00 ppm DEC 31 ps –u user01(사용자 실행 프로세스목록확인) ctrl+d
디스크 기반 파일시스템: dvd, 디스크 저장장치 생성 사용하는 파일시스템, 가상파일시스템 : 메모리에 생성
유닉스 유래 파일시스템 공통 개념 : 파일 inode로 관리, 디렉터리는 단순히 파일목록 가진 파일이 뿐, 특수파일 통해 장치 접근 가능함
블록그룹 0에서 그룹 0 패딩의 용도: 첫 1024B는 x86부트섹터와 부가정보 저장
블록그룹 0외 슈퍼블록 있는 이유; 복구 위해 복사본
inode : 파일 관리 특별구조체, 파일정보저장+데이터블록주소 저장 ,
마운트 포인트: 디렉터리 계층구조에서 파일시스템 연결 디렉터리, 루트 파일시스템 마운트한 /디렉터리도 마운트 포인트임
부팅시 /etc/fstab에 설정된 파일 시스템 점검 순서 0 : 부팅시 fsck명령수행X 1: 루트파일시스템, fsck로 점검
2: 루트파일시스템이외, 나열순으로 fsck
CD-ROM을 /cdrom에 마운트 mount –t iso 9660 /dev/cdrom /cdrom
파티션으로 나누면 장점: 하나의 디스크를 독립 영역으로 구분, 시스템 성능향상, 데이터관리 유리, 파일복구 ᅟᅲᆼ리
파티션에 파일시스템 생성 명령 mkfs 또는 mke2fs
guest계정의 디스크 사용량 확인 법 du –s ~guest 또는 du –sh guest
슈퍼블록 복구 sudo e2fsk –b 백업슈퍼블록위치 –y 장치명
리눅스 부팅과정: 전원on –바이오스-부트 로더- 커널 초기화 –systemd –로그인 프롬프트 출력
부트로더 : 리눅스 커널을 메모리에 로딩 커널초기화: pid낮게배정, 대괄호[]표시
systemd : 리눅스시스템 및 서비스 관리자,
-부팅과정에서 부트 스플래시 출력되는 도중 부팅 메시지확인위해서 alt+d
런레벨: 시스템 상태 나타내는 숫자 문자, 각 단계 따라 셸 스크립트 실행
device 유닛에 뭐 있는지 확인하려면 systemctl –t device
atd.service가 동작중인지 확인 : systemctl status atd 또는 systemctl is-active atd (시작은 start)
단일사용자모드로 전환 1.기존 런레벨 이용- systemctl isolate rescue.target 2.systemd이용 systemctl isolate
runlevel1.target
시스템종료방법: 1. shutdown명령 , 2. sudo init0 3. systemctl isolate poweroff.target (또는 runlevel0.target)
시스템 종료 취소 – sudo shutdown –c
슈퍼데몬 역할; 사용자 서비스 요청시 슈퍼데몬이 서비스 데몬 동작시킴
독자형 데몬- 백그라운드 항상 동작, 슈퍼데몬에 의한 호출형 –평소 슈퍼데몬만, 서비스요청시 동작
암호 재설정 방법: CRUB에서 단일사용자모드로 수정
참고: 우분투 리눅스 개정판, 이종원, 한빛아카데미