티스토리 뷰
XFS | 64비트 파일시스템 현재 사용되는 파일시스템 중 가장 큰 파일 생성 가능 |
standalone | [ 데몬 프로세스를 실행하는 방법 ] : 백그라운드에서 데몬이 요청을 기다린다 >> 요청이 들어오면 독립적으로 처리한다 >> 항상 메모리에 올라와 있기에 자원을 많이 사용한다 웹 / 메일 등에 자주 사용되는 서비스 |
inetd | [ 데몬 프로세스를 실행하는 방법 ] >> 서비스 요청이 있을 때마다 inetd 라는 슈퍼 데몬에 의해 할당하는 데몬을 실행한다 >> 시스템 자원 관리에 효율적이다 >> 속도가 느리다 웹 / 메일 등에 자주 사용되지 않는 서비스 커널 2.4버전부터 xinetd가 inetd 역할 수행 xinetd 는 환경설정 파일을 이용해서 자체 접근 제어 가능 # / etc / init.d / 서비스명 [ 실행옵션 ] 사용 ex> / etc / init.d / httpd start |
cifs | 유닉스 윈도우 동시에 지원하는 표준 파일 규약 프로토콜 # 삼바 파일 시스템 마운트 할 때 지정하는 유형 값 smb >> cifs 로 바뀌었다 |
udf | 광 디스크의 파일 저장용 파일 시스템의 포맷 규격 |
nfs | NFS 서버에서 공유한 파일 시스템을 NFS 클라이언트에서 마운트 하여 사용하는 FS |
명령어
umask | 권한을 빼주는 옵션 |
chmod | ex> chmod 7 lin.txt == 007 # IPv6 주소 축약하는 것과 비슷하게 생각하자 |
Sticky Bit | Set-UID / Set-GID 는 s 사용 Sticky-bit 는 t 사용 실행 권한이 있는 x : t 실행 권한이 없으면 T |
SET - UID | - 이 권한이 사용된 파일을 실행 시 실행시킨 사람의 권한이 아닌 파일 소유주의 권한으로 실행한다 - 유저 실행 권한에 x 대신 s 가 붙은게 적용된 파일이다 - x 의 유무는 소문자와 대문자로 구분한다 S = x 없다 s = x 있다 |
du | 디렉터리 사용량을 확인 - s : 사용량의 합계 ( 하위 디렉터리 X ) - h : 사람이 이해하기 쉽게 단위 표시 - a : 디렉터리 내부의 각 파일 별 사용량 - b / k / m : 각 단위별 표기 |
df | 시스템 전체 디스크의 정보 - i : inode 확인 - h : 단위 - T : 파일시스템 타입 |
fsck | 디스크 검사 / 파일시스템 복구 - / lost + found : 파일 시스템 복구를 위한 fsck의 링크 디렉터리 |
export | 환경 변수 생성 사용자 환경변수를 전역 변수로 설정 |
env | 전역변수 설정 및 조회 |
set | shell 변수 global 변수 모두 출력 가능 사용자 환경변수 설정 및 조회 |
grep <문자열> | 문자열이 들어간 문장 찾기 |
nohup | - 로그아웃해도 백그라운드 프로세스로 작업 가능 - 실행중인 프로세스 표준출력 / 표준에러를 nohup.out 파일 생성하여 기록 - 쓰기 작업 권한 없다면 $HOME/nohup.out 파일 생성하여 기록 # 자동 백그라운드 보내는게 아니라 & 명령어 이용해야 가능 |
killall - [signal] [process 이름] | |
kill - [signal] [PID] | ex> kill -9 1000, 1001, 1002 불가 kill -9 1000 1001 1002 로 띄어야 한다 |
pico 편집기 | Ctrl + P / N / B / F p : previous 이전 줄 n : next 다음 줄 b : back 뒤 ( 왼쪽 ) f : front 앞 ( 오른쪽 ) Ctrl + i 화면갱신 |
Makefile | 프로그램의 빌드 과정을 표준 문법으로 기술한 파일 [ Makefile 이 존재하면, configure 없이 그 다음 단계 진행 ] |
rpm | - v : verbose - q : query - V : verify - c : configfiles - h : # 기호 표현 -- nodeps : 의존성 관계 무시 설치 - i : install - U : upgrade == - i - F : freshen 이전 버전 설치 되어있는 경우 설치 |
mount -t [ FS ] [ dev ] [ mount point ] | - CDroom : iso9660 - ms-dos : msdos - windowsXP : ntfs - ISO : loop - NFS : nfs - samba : smbfs |
mount | - a : / etc / fstab 에 있는 파일 시스템 모두 마운트 - o : 옵션 추가 remount / ro / loop ( iso 파일 마운트 ) / - o [ 계정 ] [ 패스워드 ] : 마운트 할 때 계정 인증 필요할 때 |
quota | - quotaon : 디스크 할당량 제한 - edquota : 디스크 할당량 설정 - quotacheck : 디스크 사용량 할당 정보 체크 |
chsh | 셀 변경 명령어 - l : 변경 가능한 셀 list == cat / etc / shells |
histtimeformat | 명령어를 수행할 때마다 현재시각을 history 에 기록 |
histfile | 히스토리 파일의 절대 경로 |
finger | 계정 정보 확인 - l : 좀 더 자세한 정보를 출력 - s : 간략한 정보 출력 |
service | 서비스 실행 가능 |
jobs | 백그라운드 작업 확인 ( + ) 는 가장 최근에 실행 ( - ) 는 최근 실행 바로 전 |
crontab | - l : list - r : remove - e : edit - u : user |
fork | 프로세스 복제 - 하나의 프로세스가 다른 프로세스를 실행하기 위한 시스템 호출 방법 |
exec | 프로세스가 지정된 파일 실행 / 시스템 호출 |
# inetd | 클라이언트의 서비스 요청시 프로세스 실행하고 종료 후에는 자동으로 프로세스 종료 |
awk | - 패턴 탐색과 처리 - grep 과 비슷하 |
printf | 자료를 형식화 하여 출력 ( C 언어 방식 ) |
sed | vi 편집기의 문자열 치환과 같은 패턴으로 셀 환경에서 치환 가능 |
vi - r | 스왑 파일 리스트 |
vi - r [ file ] | file.swp 내용 불러온 ( 복구모드 ) |
top | 시스템 전체 상태 실시간 확인 [ CPU / PID ... ] |
nice | 프로세스를 새로 생성하는 경우에 초기 설정된 작업의 우선순위 변경 |
renice | 실행되고 있는 프로세스의 우선순위를 변경 [ 프로세스 증가 없다 ] |
vmstat | 가상메모리 상태 확인 |
lspci | 시스템에 설치된 모든 설정 및 정보를 출력 |
mke2fs | 파일 시스템 생성 기본 설정 : / etc / mke2fs.conf - t : 파일 시스템 설정 - j : 저널링 시스템으로 설정 >> 저널링 시스템은 ( ext 3 ) - b : 블록 크기 지정 - c : 배드 블럭 검사 |
ps | - a : 터미널과 연관된 프로세스 출력 [ x 와 같이 사용하여 모두 출력 ] - u : 소유자 기준 출력 - x : 데몬 프로세스처럼 터미널에 종속되지 않는 프로세스 출력 |
scanimage | 이미지 스캔 명령어 - d : SANE 의 장치 파일명 - - format : 이미지 형식 지정 옵션 [ pnm / tiff ] - L : 사용 가능한 스캐너 장치 목록 출력 |
프로세스 우선순위를 뜻하는 NI 값 - 20 ~ 19 까지 가능하다
프로세스 상태코드
Z : zombie
T : stopped
W : paging
KILL 명령어 | ||
- l | list | 목록 확인 |
1 | SIGHUP | 재시작 |
2 | SIGINT | 인터럽트 [ == Ctrl + C ] |
9 | SIGKILL | 강제종료 |
15 | SIGTERM | 정상종료 |
20 | SIGSTP | Ctrl + Z |
디렉터리 | |
/ boot | 부트 이미지 디렉터리 |
/ bin | 사용자 명령어 디렉터리 |
/ dev | 장치 파일 디렉터리 |
/ etc | 시스템 환경 설정 디렉터리 |
/ etc / rc . d | 부팅 레벨별 부팅 스크립트 파일이 저장된 디렉터리 |
/ etc / rc.d / init.d | 시스템 초기화 파일들이 저장된 디렉터리 |
/ etc / crontab | 관리자가 직접 지정한 작업 설정 / 임의의 사용자 권한으로 실행 가능 / 시스템 관련 작업을 등록 |
/ lib | 공유 라이브러리 및 커널 모듈 디렉터리 |
/ misc | 아키텍처 독립 자료 디렉터리 |
/ mnt | 마운트 포인트 디렉터리 |
/ opt | 커널과 프로세스를 위한 가상 파일 시스템 디렉터리 |
/ root | 루트 사용자 홈 디렉터리 |
/ sbin | 시스템 명령어 디렉터리 |
/ tmp | 임시 작업 디렉터리 |
/ usr | 공유 파일 시스템 디렉터리 |
/ var | 가변 자료 디렉터리 |
/ var / spool / cron | crontab 파일 위치 |
/ lost + found | 파일 시스템 복구를 위한 fsck의 링크 디렉터리 |
/ etc / bashrc | 전역 환경변수 설정 파일 |
$ HOME / .bashrc | 개인 사용자 환경변수 설정 파일 |
bash_logout : 사용자 로그아웃할 때에 실행할 명령을 등록하는 파일
bashrc : 개인 사용자
문법 강조 기능 Vi / Vim
GUI 기반 에디터 gedit
자동 들여쓰기 nano / vi
GPL 라이선스 nano
Apache 라이선스 pico
pico 가 불편해서 nano 개발
GNU emacs 는 리처드 스톨만이 'EMACS LISP' 라 하는 LISP 에 기반을 두는
환경설정 언어를 가지고 처음부터 다시 만들었다 >> ELISP 라고도 불린다
FTP | |
mput | 파일 업로드 |
mget | 파일 다운로드 |
emacs 편집기 | |
Ctrl + x Ctrl + s |
저장 |
Ctrl + x Ctrl + c |
종료 |
Ctrl + space | 마크 설정 |
Ctrl + w | 잘라내기 |
Ctrl + y | 붙이기 |
Ctrl + k | 한 줄 지우기 |
Ctrl + a | 커서를 줄 맨 앞으로 이동 |
Ctrl + e | 커서를 줄 맨 뒤로 이동 |
Ctrl + n | 커서를 아래로 한 줄 이동 |
Ctrl + s | 커서 아래 부터 찾을 문자열 검색 |
Ctrl + r | 커서 위부터 찾을 문자열 검색 |
Ctrl + g | 명령 끄기 |
ESC % " " ' ' |
문자열 치환 |
Vi 문자열 치환
시작행, 끝행s / 원래 문자열 / 변경 문자열 / 옵션
시작행 / 끝행 대신 전체 행을 표현하는 % 사용한다
/ < : 원래 문자열에 해당하는 단어 / \ >
g 는 한 행에 원래 문자열이 여러번 나오면 전체를 변경하는 옵션
ex> % s / \ < ihd \ > / linux / g
간단하게 정리
^ 문장 시작
$ 문장 끝
< 단어 시작
> 단어 끝
\ 를 기호 앞에 써주면, 글자로 인식한다
< 와 > 앞에는 \ 를 적어서 단어의 처음과 끝을 인식해줘야한다
^ 과 $ 는 \ 가 필요없다 아마도 커널 자체 설정에 내장되어 있는듯? 커널 설정파일을 못찾았다
vi 로 파일을 열면서 커서 이동
vi + 숫자 : 커서 위치 조정
숫자 없이 + 만 사용하면 맨 아랫줄로 이동
vi
abbrevation 설정 기능 >> 자주 입력하는 단어를 약어 설정
ab [ 약어 ] [ 문자열 ] : 약어를 입력하면 문자열로 대체
ab : 현재 설정된 약어 목록 확인
/etc/fstab >> Dev | Mount Directory | FS type | Mount Option | dump 여부 | FS Check >> 6필드
VAR1=linux 는 환경변수 등록 X
export VAR2=linux2 환경변수 등록
소스파일 이용하여 프로그램 설치
Configure >> make >> make install
[ make 단계에서 타겟과 의존성 관련 작업 수행 후 실행파일 만든다 ]
./configure --prefix=path
configure 작업으로 생성된 다양한 파일 제거
make clean
cmake 기반 프로그램 (KDE / MySQL) 설치 순서
cmake >> makeinstall
ls file[12].py : file1.py 를 우선 찾고 없으면 file2.py 를 출력하라
최초의 프로세스 PID 는 1 이다
RedHat 계열 ( RPM 기반 ) - yum / rpm / apt
Devian 계열 ( dev 기반 ) - apt / dpkg / aptitude
openSUSE ( RPM 기반 ) : yaST / zypper
yaST : 패키지 설치 ~ 마우스 프린터 네트워크 부트로더 설정까지 지원하는 강력한 기능
데비안 계열 패키지 관리 프로그램
alien : rpm [ - e : erase ]
apt-get : yum / dnf [ - r : remove ]
dselect : dpkg 를 대화식 연속 처리
저장소 기반 패키지 관리기법 : yum / apt-get / zypper
Yum | |
install | 설치 |
remove | 삭제 |
update | 업데이트 모두 업데이트 [ yum - y update ] |
search | 검색 |
info | 정보 |
list [ word ] | 단어가 포함된 패키지 리스트 |
history | 작업 이력 출력 |
whatprovides [ filename ] | 특정 파일 제공한 패키지 |
dpkg | |
- i | install ( 패키지 설치 ) |
- l | 설치된 패키지 list |
- I | Info |
- c | contents ( 패키지파일에 포함된 파일 목록 출력 ) |
- L | Listfiles ( 패키지가 설치한 파일 목록을 출력 ) |
- r | remove ( 패키지 제거 / 환경 설정 파일은 제거 X ) |
- P | purge ( 환경 설정 파일까지 전부 제거 ) |
- - unpack | 환경 설정은 하지 않고 패키지를 푼다 |
- - configure - - unpack | 옵션으로 풀린 패키지를 환경 설정 |
프린터 설정시
system-confi-printer 명령어 사용하여 설정
CUPS 로 로컬연결된 프린터를 네트워크 프린터처럼 사용 가능
리눅스 파일시스템에 프린터 직접 연결 시, 자동으로 파일 생성
usb포트에 연결하면, /dev/usb/lp0
직렬 포트에 연결하면, /dev/lp0
lpd : 프린터 데몬
lpc : 프린터 컨트롤
lpq : 기본프린터의 큐 목록 출력
lprm : 프린터 큐 작업 삭제
lpr : 내용 출력
lpstat : lp프린터 상태 출력
LPRng : 버클리 프린팅 시스템
CUPS : 애플 개발한 오픈소스 프린팅 시스템
[ HTTP 기반의 IPP ( Internet Printing Protocol ) 사용 ]
[ SMB 프로토콜 부분적 지원 ]
[ System V 형식과 BSD 형식의 커맨드라인 인터페이스 지원 ]
System V : lp / lpstat /cancel
BSD : lpr / lpq / lprm / lpc
표준 유닉스 장치 시스템 콜에 기반을 둔 것은 OSS ( 유닉스 사운드 인터페이스 )