기본 콘텐츠로 건너뛰기

Linux Command 3

리눅스 기초 명령어 1. 로그 아웃하기 - # logout / ^D / exit 2. 리눅스 종료하기 - # halt - # shutdown -h now 3. 파일과 디렉토리 관리하기 1) 한글 터미널 실행하기 - [시작]-[시스템도구]-[추가시스템도구]-[한글터미널] 2) 파일과 디렉토리 목록보기 - # ls - # ls -a :숨김파일도 표시 - # ls -l : 자세한 정보 표시 - # ls --show-control-chars : 일반 영어가 아닌 글자들을 출력하는 옵션 - # ls --color :파일의 종류에 따라 다른 색으로 표시 - # ls -c : 파일의 생성이나 변경된 시간에 따라 정렬하여 표시 - # ls -F : 파일의 종류에 따라 파일 이름 뒤에 특정 문자를 추가하여 표시 - # ls -R : 하위 디렉토리의 내용까지 모두 표시 - # ls -al --color 3) 현재의 작업 디렉토리 표시 - # pwd 4) 디렉토리 이동하기 - # cd /home 5) 파일 복사하기 - # cp [원본파일이름] [복사할파일이름] - # cp [원본파일이름] [복사할디렉토리이름] : 디렉토리에 파일 복사 - # cp [원본파일이름] [복사할데렉토리/복사할이름] : 이름을 바꾸어서 지정한 디렉토리에 복사 - # cp [디렉토리/파일이름] [디렉토리/파일이름] - # cp -r [원본디렉토리이름] [복사할디렉토리이름] : 디렉토리를 통채로 복사 - # cp -rb [원본디렉토리이름] [복사할디렉토리이름] : 디렉토리를 통채로 복사하는데 같은 이름이 있을 때는 ~문자를 덧붙여 백업 파일 생성 - #

Linux Command 2

파일의 압축과 압축 풀기 1. 하나의 파일 압축: gzip(GNU zip), 압축 풀기(gunzip) - # gzip test1.txt.gz - # gunzip test1.txt.gz - 여러 파일을 압축: tar -czvf, tar -xzvf tar에 압축 기능은 없다. 그러나 -z옵션을 통해서 압축 기능을 추가한다. - 압축할 때 ☞ $tar -czvf 압축의 결과로 생길 파일의 이름(압축할 파일명에 .gz나 .tgz를 추가하는게 일반적) - 압축할 파일이나 디렉터리 압축 풀 때 ☞ $tar -xzvf 압축된 파일명 - # tar -czvf txt.tgz *.txt 2. 파일을 플로피에 복사하기(MS-dos호환 format으로): mtools사용 - 루트 사용자라면 floppy를 mount시켜서 사용하면 된다. 그러나 마운트시킬 권한이 없다면 mtools 명령어를 사용한다. mtools는 도스로 포맷된 플로피를 읽고 쓰는 도구이다. mtools로 된 명령은 도스 명령어에 m을 붙인 것이 대부분이다. - # mdir - # mcopy a:'*.bak' . - # ls *.bak - # mcopy l4.txt a

Linux Command

소유권과 허가 1. chmod -R g+rx images (u, g, o, a) (+,-,=) (r,w,x) 2. chmod 777 images ※ 일반적인 사용과 숫자표현 ▷ --------- 000 ▷ r-------- 400 ▷ r--r--r-- 444 ▷ rw------- 600 ▷ rw-r--r-- 644 ▷ rw-rw-rw 666 ▷ rwx------ 700 ▷ rwxr-x--- 750 ▷ rwxr-xr-x 755 ▷ rwxrwxrwx 777 3. 소유권 변경 - # chown [옵션] [소유자:그룹] [파일이나 디렉토리이름] - # chown -R root:myclass images ※ ls -lg : 소유자변경 확인하기 4. chgrp root images ※ ls -lg : 그룹변경 확인하기 5. umask ※ umask 277 -소유자에 한하여 읽을 수 만 있도록 ( r-x------ ) umask 007 -소유자에 한하여 읽기.쓰기, 실행권한 (rwx------)

주요 오픈 소스 라이센스(GPL, LGPL, BSD, MPL, QPL)에 대한 설명

게시글 주소 :  http://www.igotit.co.kr/zbxe/386 주요 오픈 소스 라이센스 최종 비교   GPL LGPL BSD MPL QPL/ 상용 QT 코드의 무료 이용 O O O O O/X 코드의 자유 배포 O O O O O/X 소스 코드의 공개 O O O O O/X 소스 코드의 수정 O O O O O/O 수정 코드의 소스 공개 O O X O O/X 상용 소프트웨어와의 링크 X O O O X/O GPL : GNU General Public License   1. GPL을 따르는 소프트웨어 소스 코드 일부를 사용해 만든 소프트웨어는 GPL을 따라야 한다. 2. GPL을 따르는 소프트웨어 소스 코드를 개인적으로 사용할 수 없다. 반드시 소프트웨어를     개발한 원작자나 공동체에 환원해야 한다.   배경 → 1980년대 초 PC의 보급 등으로 소프트웨어의 상업성 강조       - 소프트웨어의 자유로운 사용 통제       - AT&T의 UNIX의 대한 권리 주장 → Richard Stallman이 GNU 프로젝트 시작, FSF(Free Software Foundation) 설립       - 소프트웨어의 자유로운 사용, 공유, 수정을 강조       - 이를 담보하기 위한 장치로 GPL 고안       - GCC등 주요 개발 툴을 GPL로 배포 → 전세계 자유 소프트웨어 개발자들의 GPL 채택       - 1990년대 초 Linux Kernel이 GPL로 배포   의무사항     소스코드 배포 시 실행파일 배포 시  수정코드 배포 시      - 저작권 표시    - No Warranty    - GPL로 배포    - 저작권 표시    - No Warr

재귀호출 3

재귀호출을 이용한 간단한 Tree 구조를 분석해 보도록 한다. void main () {   recurtree ( 4 ); } void recurtree ( int n ) {   if (n > 0)   {     recurtree ( n-2 );     printf ( "%3d", n );     recurtree ( n-1 );   } }

재귀호출 2

1부터 어떤 수까지의 합을 재귀호출로 구해보자 sum(n) = n + (n-1) + (n-2) + ... + 3 + 2 + 1 이를 다시 정리하면, sum(n) = [ { 1, n = 1 }, { n + sum(n-1), n > 1 } ] 여기서, n 이 1이 되는 조건이 재귀호출 종료조건이 되게 된다. void main() {   int isum = 0;   ...   isum = sum(3);   ... } int sum(int n) {   if ( n == 1 ) return 1;   else     return ( n + sum( n - 1) ); }

재귀호출 1

컴퓨터 알고리즘을 공부하기 위해 많은 준비가 필요한 것은 아니다. 가장 기본적인 개발 환경은 Borland 사의 TurboC++ 컴파일러를 구하여, DOS Shell 상에서 실행되는 프로그램으로 만들면 된다. UI를 구현할 필요가 없으며, 가장 기본적인 입출력 함수를 사용하면 된다. 컴퓨터 알고리즘을 공부한다는 것이 궁극적으로 C 문법을 익히기 위한 것이 아니며, 프로그램을 보기좋게 꾸미기 위한 것이 아니다. 대단위 프로그램으로 얘기한다면 그 프로그램의 핵심이 되는 엔진을 만드는 것이다. 우선 정형화된 컴퓨터 알고리즘을 정리해 보도록 하겠다. 재귀(Recursion)호출 컴퓨터 알고리즘을 언급하는 많은 자료들에서 첫번째 Chapter 로 잡는 것이 "정렬"이다. 이 정렬 알고리즘 중 다른 정렬들에 비해 비교적 좋은 성능을 가진 "퀵정렬", 데이타베이스의 정형화된 형태 중 이진트리내의 순회, 차량항법장치등 길찾기 방법 중의 하나인 그래프 탐색등에 사용하는 재귀호출을 알아보도록 하자. 말 그대로 자기 자신을 다시 호출하여 실행하는 알고리즘이다. 이를 구현하기 위해서 반드시 고려하여야 할 부분이 종료 조건이다. 이 종료 조건에 의해 최종적인 결과치가 나오기 때문이다. 또한 재귀의 깊이가 일정값을 넘었을 경우, 스택오버플로우가 발생한다. 또한 재귀함수와 등가인 비재귀함수와의 계산시간은 엄청난 차이를 보인다. 이는 계산비교 함수로 이를 확인해 보도록 하자.