cifs가 무엇인가?


안녕하세요.
고코더 입니다.


 1. 혹시 N드라이브를 사용하시나요? 저는 10년 넘게 사용중입니다. 뜬금없이 이 서비스를 설명하냐면 CIFS를 이용한 시스템이기 때문입니다.

 2. SMB가 확장된 버전이 바로 CIFS(Common Internet File System)입니다. 우리가 흔히 쓰는 윈도우의 파일이나 프린터를 공유하는 프로토콜이라고 할 수 있습니다. 이 프로토콜을 이용한 접속을 이용해 내 컴퓨터에 하드디스크처럼 사용이 가능합니다. 마치 USB를사용 하듯 속도가 빠르고 지연이 적습니다. 그리고 더 중요한 한가지는 폐쇄적이었던 SMB 프로토콜과 달리 규약을 정의하여 많은 유닉스 업체들이 참여하여 호환성을 끌어 올렸습니다. 


 3. 우리가 폴더를 공유하기 위해 윈도우에서 사용하는 공유 방식이 바로 CIFS 입니다.



마무리


- X/Open CAE Specification C209 공개된 IETF 인터넷 응용 표준이다.
- 윈도우 NT, 윈도우 시리즈, Workgroup for Windows 등의 클라이언트들을 지원합니다.
-  파일 공유 서비스, DNS 서비스, 인쇄, 메시지 등 다양한 기능을 수행합니다.


댓글을 달아 주세요


linux 파일 삭제


안녕하세요.
고코더 입니다.


리눅스에서 파일을 삭제하는 방법을 알아봅니다. 이전 시간에서는 폴더 삭제 위주로 배워봤는데요. 이번 시간은 파일 위주로 알아봅니다.



 1. rm [파일명] : 개별 파일 삭제


하나의 파일을 삭제하는 기본 방법입니다.

rm 1.txt



 2. rm *.[확장자] : 같은 확장자 파일을 모두 삭제


똑같은 확장자의 파일을 삭제하는 방법을 알아봅니다. 

rm *.txt



 3. rm * : 모든 파일 삭제


해당 폴더안에 있는 모든 파일을 삭제 합니다.
rm *




 4. rm -ri [파일명] :  파일을 삭제할때 확인하기


파일을 삭제할때 확인을 물어보고 하나씩 봐가면서 삭제할 수 있습니다. 파일 삭제는 매우 위험한 작업이기에 이 방법을 추천합니다.

rm -ri *



마무리


파일 삭제는 매우 위험한 작업입니다.



댓글을 달아 주세요


linux 압축의 차이


안녕하세요.
고코더 입니다.


리눅스에서 압축 파일을 다루다 보면 두 가지 형식을 자주 보게 됩니다.
바로 확장자 기준으로 tar와 tar.gz 입니다. 윈도우에서 보던 zip, 7z, rar 처럼 압축 포맷중에 하나 입니다.
그런데 이 둘은 명확한 차이가 있습니다.



 1. tar 방식


리눅스 환경에서 자주 사용하는 방식입니다. 압축파일이라고는 하지만 용량을 압축하지는 않습니다. 덕분에 매우 빠르게 압축이 진행되고 CPU 사용률도 높지가 않습니다. 그래서 tar를 사용하면 순식간에 압축 파일이 생성됩니다. 

- 압축이라기 보다는 파일을 하나로 합쳐지는 방식
- cpu사용이 적다
- 용량을 줄이지 않는다



 2. gzip(tar.gz) 방식


리눅스에서 용량을 줄여서 압축할때 사용하는 방식입니다. tar를 다시 압축한다는 의미로 해석합니다. 

- 용량을 압축한다.  
- tar를 압축한다.




마무리


파일을 하나로 묵는다 = tar
파일을 압축 한다 = gz




댓글을 달아 주세요


YUM, RPM 차이를 알아보자


안녕하세요.
고코더 입니다.


리눅스에서 프로그램을 설치하는 대표적인 두 가지 방법이 존재합니다. 바로 오늘 RPM 그리고 YUM으로 나뉩니다. 
패키지 인스톨 프로그램이면서 인스톨 프로그램이라 생각하면 쉽습니다. 이 둘은 명확한 차이가 있어 개념을 정리해보려고 합니다.


 1. RPM (Redhat Package Manager)


이 방법은 리눅스 초기부터 사용해온 설치 방식입니다. 윈도우에서 인스톨 프로그램일 설치하듯 하는 방식이고 확장자는 rpm 입니다. 패키지라고 불리는 이 방식은 필요요소를 전부 다운로드 해야 하는 불편함이 있습니다. 

- 패키지 인스톨 프로그램
- 인터넷 없이 RPM으로만 설치 가능
- 의존하는 패키지를 모두 직접 설치 해야 한다



 2. YUM (Yellodog Updater Modified)


이 방식은 의존성 문제를 해결한 방식입니다. 인터넷을 통하여 필요 파일을 저장소에 다운로드 한 후에 설치하는 방법입니다. yum은 외부 서버랑 통신이 가능해야 합니다. 패키지를 구성한 요소를 전부 갖추어서 설치 가능합니다. 즉 인터넷마 있으면 쉽게 설치가 가능한 최신 방법 입니다.

- 이 방식도 패키지 인스톨 프로그램이다.
- 인터넷으로 다운로드 한다. 서버 통신 허용이 필요
- 패키지 구성을 자동으로 다운로드 하여 설치 가능하다.




마무리


현업에서는 yum 방식이 효율적이죠. 




댓글을 달아 주세요


emacs 편집기 단축키 


안녕하세요.
고코더 입니다.


emacs에서 사용 가능한 단축키를 모아보았습니다. 참고 해보세요.


커서이동
Ctrl f, b, n, p 
 화살표와 동일
Ctrl v, Alt v 
 PgUp, PgDn
Ctrl a, Ctrl e 
 Home, End
Alt f, b 
 단어단위로 앞뒤이동
Alt a, e 
 문단 앞, 뒤로 이동
Alt <, > 
 파일의 처음, 끝으로 이동
Alt r 
 커서를 페이지의 처음,끝,가운데로 이동
Ctrl l 
 커서가 포함된 줄을 화면 처음, 끝, 가운데로 이동
Alt g - Alt g 
 원하는 줄로 이동
삽입
Ctrl o 
 빈줄 삽입, 커서 제자리
Ctrl j 
 빈줄 삽입, 커서 아래로
Ctrl x - i 
 파일 삽입
Ctrl y 
 kill한 내용 삽입
삭제
Ctrl d 
 커서에있는 글자삭제
BackSpace 
 커서 앞에있는 글자삭제
Alt d 
 커서에 있는 단어삭제
Alt BackSpace 
 커서 앞에있는 단어삭제
Ctrl k 
 커서부터 줄끝까지 삭제
Ctrl w 
 선택영역 kill
영역
Ctrl Space 
 영역선택시작, 종료
Ctrl x - Ctrl x 
 선택영역 시작지점 변경
Ctrl x - h 
 전체선택
Alt w 
 복사와 비슷
Ctrl w 
 잘라내기와 비슷
Ctrl y 
 붙여넣기와 비슷
검색
Ctrl s 
 아래로검색
Ctrl r 
 위로검색
Ctrl % 
 치환
Alt u 
 단어 대문자로 변경
Alt l 
 단어 소문자로 변경
Alt c 
 단어중 맨 앞글자만 대문자로변경
Ctrl x - Ctrl t 
 윗줄과 내용을 바꿈
Alt t 
 앞단어와 내용을 바꿈
Ctrl t 
 커서가 줄선두에 있을때 윗줄로 글자보냄
 
 
Dired 모드 
 디렉토리 모드
f 
 파일 열기, 없으면 생성
v 
 파일 열기, 읽기전용
D 
 파일 삭제
g 
 디렉토리 목록갱신
R 
 파일 이름 변경
C 
 파일 복사
Alt x - make-directory - Enter 
 디렉토리 생성
+ 
 디렉토리 생성
Ctrl x - d 
 dired 모드 진입
Alt x - dired - Enter 
 dired 모드 진입
인코딩
Ctrl x - Enter - r 
 인코딩 보는방식 변경
Ctrl x - Enter - f 
 인코딩 저장방식 변경
 
 팁:미니버퍼에서 tab 누르면 목록 나옴
 
 euc-kr, cp949, utf-8, utf-16-le 등..
Ctrl \ 
 한글, 영어 변경
leftShift Space 
 한글, 영어 입력방식 변경
F9 
 한글이나 자음등을 한자, 특수문자등으로 변환
파일
Ctrl x - Ctrl f 
 파일열기, 없을시 새로생성
Ctrl x - Ctrl s 
 파일 저장
Ctrl x - Ctrl w 
 다른이름으로 저장
Ctrl x - k 
 버퍼 닫기
Ctrl x - b 
 버퍼 이동, 화살표 위아래키로 목록열람가능
Ctrl x - Ctrl b 
 새 프레임을 열고 버퍼 목록 표시
프레임
Ctrl x - 2 
 상하로 프레임분리
Ctrl x - 3 
 좌우로 프레임분리
Ctrl x - 1 
 현제프레임만 남기도 나머지 없애기
Ctrl x - 0 
 현제프레임을 없애고 하나로 합치기
Ctrl x - ^ 
 현제프레임 수직크기 키우기, 보통 Ctrl - u 와 함께씀
Ctrl x - {, } 
 현제프레임 좌우크기 조절
Ctrl + 
 프레임들 크기 일정하게
Ctrl x - o 
 프레임간 이동
기타
Ctrl g 
 명령취소
Ctrl / 
 실행취소
Ctrl x - u 
 실행취소
Ctrl u - 숫자 
 반복작업
Alt ! 
 간단한 쉘명령
Alt - shell - Enter 
 쉘 불러오기
Alt x - hexl-mode - Enter 
 헥사모드
Ctrl x - Enter - r - cp437 
 nfo 파일볼때

마무리


외우지 말고 한번만 읽고 찾으면서 해보세요.
시험 준비하는 분은 외우셔야 겠네요.



댓글을 달아 주세요


nano 에디터를 실행하는 방법


안녕하세요.
고코더 입니다.


nano 편집기는 기본적으로 설치된 vi 편집기 보다 사용하기 수월한 에디터 입니다. 간단한 작업시에 매우 편리합니다. 사용법을 익히기 힘든 vi 보다 유리한 점이 많습니다. 


 1. nano [파일] : 파일 편집 하기


가장 기본적인 파일을 편집하는 명령어 입니다. 
nano test.txt




 2. nano -B [파일] : save 이후에 파일 편집하기


기존 파일을 백업 합니다. 중요한 파일이다면 해당 옵션을 사용하세요.
nano -B memo.txt




 3. nano -m [파일] : 마우스를 사용해 편집할 수 있게 한다. 커서 이동을 마우스로 가능


마우스가 있다면 이 옵션을 쓴다면 마우스로 커서 이동이 가능합니다. 매우 편리합니다.
nano -m test.txt




 4. nano +3 [파일] : 원하는 라인부터 편집


파일을 편집시에 원하는 라인부터 커서를 이동 시킵니다. 특정 라인만 편집하게 강제한다면 이렇게 명령어를 전달 해줘도 좋습니다.
nano +3 test.txt




마무리


nano가 제일 편리한거 같습니다.


댓글을 달아 주세요


리눅스에서 사용하는 대표적인 텍스트 편집기 에디터


안녕하세요.
고코더 입니다.


리눅스에서는 다양한 편집기를 제공합니다. 윈도우에서도 메모장부터 워드까지 다양한 텍스트 편집기가 존재하는거처럼 리눅스도 마찮가지 입니다.
오늘은 이 편집기의 종류에 대해 알아보려고 합니다.



 1.  vi (Vi Improved)


리눅스를 대표하는 편집기 입니다. 현업에서도 대부분 이 프로그램을 사용합니다. 
빌 조이가 캘리포니아 대학교 버클리에서 개발했습니다. vi편집기와 호환 후에 독자적으로 다양한 기능을 추가해 만들어진 편집기 입니다. ex모드에서 히스토리 기능, 정규 표현식 기능, 문법 강조 기능, 다중 되돌리기 기능, 유니코드를 비롯한 다국어 지원을 사용할 수 있습니다. 리눅스 배포판에서 탑재되어서 가장 많이 사용하지만 커맨드 명령어가 주입니다.

vi




 2.  pico


워싱턴대학에서 개발한 유닉스용 편집기입니다. 기존 편집기와 달리 윈도우의 메모장처럼 쉽게 사용할 수 있는 특징이 있습니다. 입력모드와 명령모드가 따로 존재하지 않고 바로 텍스트를 입력할 수 있습니다. 삭제키인 delete 키와 backspace를 사용할 수 있는 편의가 있습니다.

pico




 3.  emacs



Editor Macros는 리처드 스톨만이 매크로 기능이 텍스트 편집기로 개발하였습니다.  'emacs LISP'라 하는 LISP에 기반을 두는 환경 설정 언어를 가지고 처음부터 다시 만든 버전입니다. emacs는 편집기와 LISP 개발 환경이 통합되어 있어서 LISP를 아는 프로그래머에게는 인기 있는 에디터입니다. 하지만 초보자가 사용하기에는 매우 어렵습니다.




마무리


vi가 제일 쓰기 어려운데 이거만 쓰게 되네요


댓글을 달아 주세요


프로세스 cpu 사용률 실시간 체크


안녕하세요.
고코더 입니다.


리눅스에서 사용중인 실시간 cpu 사용률을 확인 하는 명령어를 배워봅니다. 잘못 사용된 프로세스가 운영체제를 망가지지 않도록 모니터링 해보세요.


 1. top 명령


현재 리눅스에서 사용중인 프로세스 cpu 사용률을 알아보는 방법이 있습니다. 해당 명령어를 사용하면 cpu 현황을 체크 할 수 있습니다.
top




 2항목 설명


PID : 프로세스 ID 
USER : 프로세스를 실행시킨 사용자 ID
PRI : 프로세스의 우선순위 
NI : NICE 값 마이너스 일수록 우선순위가 높다
VIRT : SWAP+RES 가상 메모리 사용량
RES : Resident Size 현재 페이지가 크기
SHR사용된 메모리를 나눈 메모리의 총합
S : S(sleeping), R(running), W(swapped out process), Z(zombies) 상태 값
%CPU :  CPU의 사용률
%MEM : 메모리의 사용률
COMMAND : 실행된 명령어


 3실행 후 정렬


SHIFT + P : CPU사용량 순서대로 정렬
SHFT + M : 메모리 사용량 순서대로 정렬
SHFT + T : 실행시간 순서대로 정렬


마무리


cpu 잘 사용합시다.


댓글을 달아 주세요


백그라운드로 진행 중인 작업 상태, 보고되지 않은 상태를 표시


안녕하세요.
고코더 입니다.


이전에 백그라운드 실행 방식을 알아보았습니다. 해당 방식을 사용하면 출력화면이 표시되지 않지만 백그라운드 프로세스로 실행되고 있는 명령어를 확인하는 방법이 있습니다.


 1.  jobs [옵션] : 명령어


해당 명령어를 사용하면 실행중인 백그라운드가 목록이 나타납니다.
jobs



옵션 -l을 붙이면 좀 더 자세한 내역이 나타납니다. 고유 job id가 나타납니다.
jobs -l


프로세스 ID를 출력 한다.
jobs -p




 2.  세션의 상태값


Running - 작업이 종료하지 않고 계속 진행 중
Done - 작업이 완료되어 0을 반환하고 종료 함
Stopped - 작업이 일시 중단
Done(code) - 작업이 정상적 완료 코드를 반환
Stopped(SIGTSTP) - SIGTSTP 신호가 작업을 일시 중단
Stopped(SIGSTOP) - SIGSTOP 신호가 작업을 일시 중단
Stopped(SIGTTIN) - SIGTTIN 신호가 작업을 일시 중단
Stopped(SIGTTOU) - SIGTTOU 신호가 작업을 일시 중단



마무리


모르고 실행중인 프로세스를 조심하세요.


댓글을 달아 주세요



foreground , background란?


안녕하세요.
고코더 입니다.



 1. 포그라운드 작업


사용자가 명령어를 입력하면 터미널에서 작업을 입력한 명령을 해석하여 실행합니다. 그리고 결과를 화면에 출력합니다. 그러면 출력된 결과 화면을 보고 다시 명령을 입력하는 대화식 작업을 수행합니다. 입력한 명령어 실행이 결과가 나올 때 까지 기다리는 방식이 바로 포그라운드 방식 입니다.  포그라운드 프로세스라고 말하며 작업 제어 측면에서는 포그라운드 작업이라고 말합니다. 
포그라운드 작업은 다른 명령을 입력할 수 없고 기다려서 입력해야 한다. 일반적 명령을 실행 입니다.

아래 명령어를 입력하면 sleep이 풀릴때까지 다음 명령을 실행 할 수 없습니다.
sleep 99999999




 2. 백그라운드 작업


백그라운드 기능은 프로세스가 실행되는 동안 다른 프로세스가 실행 가능합니다. 하나의 쉘에서 여러 개의 프로세스를 동시에 실행할 수 있는 방식입니다.
백그라운드 방식으로 명령어를 실행하면 곧바로 다음 명령어를 실행 가능합니다. 필요한 여러 작업 동시에 진행하면서 포그라운드 작업을 계속 진행할 수 있습니다. 백그라운드 작업은 해당 명령어 처리가 오래 걸릴걸 대비해 백그라운드를 이용하면 여러 작업을 동시에 수행할 수 있다. 실행 방법은 & 기호를 추가하면 됩니다.

아래 명령어를 입력하면 곧 바로 다음 명령어를 실행 가능합니다.
sleep 99999999&



마무리


백그라운드를 잘 사용하면 작업이 편리 합니다.



댓글을 달아 주세요