패턴 검색 [grep] 

grep 명령은 파일 내에서 지정한 패턴이나 문자열을 찾은 후에, 그 패턴을 포함하고 있는 모든 행을 표준 출력해 준다. 물론, 한 디렉토리 내에서 지정한 패턴을 포함하는 파일을 출력할 수도 있다. grep 명령은 하나 이상의 파일로부터 프로그램 수정 등을 위해 변수, 또는 함수명을 찾을때 많이 사용된다. 

 

 

  grep 명령의 기본 문법 

grep [-옵션] 패턴 파일명 

 

   옵션

-c : 패턴이 일치하는 행의 수를 출력 

-i : 비교시 대소문자를 구별 안함 

-v : 지정한 패턴과 일치하지 않는 행만 출력 

-n : 행의 번호를 함께 출력 

-l : 패턴이 포함된 파일의 이름을 출력 

-w : 패턴이 전체 단어와 일치하는 행만 출력 

 

   사용 예 

$ grep -n '삼성' token_dic

= token_dic 이라는 파일내에서 '삼성' 이라는 패턴이 들어간 문자열과 행번호를 출력 

 

$grep -l '삼성' * 

= 현재 디렉토리의 모든 파일에서 '삼성' 이라는 패턴이 들어간 파일의 이름을 출력 

 

$grep -v '삼성' * 

= 현재 디렉토리의 모든 파일에서 '삼성' 이라는 패턴이 들어가지 않은 행을 출력

 

$grep -r '삼성' * 

= 현재 디렉토리 및 서브디렉토리의 모든 파일에서 '삼성' 이라는 패턴이 들어간 문자열 출력

 

 

  패턴의 정규 표현식(Regular Expression) 

패턴 지정에서 사용되는 정규 표현식은 작은 따옴표 (' ')로 묶어서 표현한다. 

$ grep '^a' 파일명 

= ^는 파일의 시작을 나타냄. 파일에서 a로 시작하는 행을 찾는다. 

$ grep 'apple$' 파일명

= $는 파일의 끝을 나타냄. 파일에서 e로 끝나는 행을 찾는다. 

$ grep 'app*' 파일명 

= 파일에서 app로 시작하는 모든 단어를 찾는다. 

$ grep 'a.....e' 파일명 

= 파일에서 a로 시작하고 e로 끝나는 7자리 단어를 찾는다. 

$ grep [a-d] 파일명 

= 파일에서 a,b,c,d 로 시작하는 단어를 모두 찾는다. 

$ grep [aA]pple 파일명 

= 파일에서 apple 또는 Apple로 시작하는 단어를 모두 찾는다.

$ grep 'apple' d*

= d로 시작하는 모든 파일에서 apple 를 포함하는 모든 행을 찾는다. 

$ grep 'apple' 파일명1 파일명2 

= 지정된 두개의 파일에서 apple 를 포함하는 모든 행을 찾는다. 

$ grep '^[ab]' 파일명 

= 파일에서 a나 b로 시작되는 모든 행을 찾는다. 



출처: https://ra2kstar.tistory.com/100 [초보개발자 이야기.]

'리눅스' 카테고리의 다른 글

[ LINUX ] tar 압축  (0) 2010.07.27
리눅스 설치 URL  (0) 2010.06.25
리눅스의 전반적인 개념(?)개요...  (0) 2010.06.25
리눅스 명령어 모음2  (0) 2010.06.25
리눅스 명령어 모음  (0) 2010.06.25
tar command files
옵션  - c 지정파일또는 디렉토리를 tar로 묶는다(압축효과 없음:오히려 용량증가)
        - x tar의 파일의 묶음을 푼다. (묶음과 압축의 차이점 이해해야함)
        - v 묶음의 대상파일을 보여준다.
        - r 기존의 tar파일에 파일을 추가한다.
        - p 파일의 생성되었을 때의 권한을 그대로 유지하게 해준다.
        - z tar.gz의 파일로 압축할때 쓰이는 옵션
        - f 작업대상이 되는 tar파일의 이름을 지정한다.
사용예
        tar xvfz gnu3.tgz  : 압축해제와 묶여짐을 동시에 푼다.  
        tar cvfzp gnu3.tgz  *.php  : 현재디렉토리에 있는 *.php로 끝나는 파일을 모두 퍼미션을 유지한 상태에서 묶어서 gnu3.tgz라는 파일로 압축한다.
 
이밖에도 여러가지 gzip gunzip등의 압축관련명령어가 쓰이지만
sir에서 사용되는 파일들은 tar의 명령어로 사용가능하다.

참고) tar 명령어는 - 를 쓰지 않아도 옵션이 사용가능하다.


tar

여러개의 파일을 하나로 묶는 명령어이다.
압축명령어라고 잘못알고 계시는 분들이 있는데, tar는 분명 여러개의 파일을 하나로 묶어주는 일종의 유틸리티라고 할 수 있다.
하지만, 거의 대부분 tar는 gzip이나 compress등과 같은 압축유틸리티와 함께 사용을 하는 것이 일반적이다.

또한 tar옵션에는 z라는 옵션이 있기 때문에 tar명령어만으로 압축하고 풀 수 있기때문에 tar만으로도 효율적인 파일관리를 할 수있다.

※ 사용형식

파일묶기       : tar cvf 파일명.tar 파일(디렉토리)
묶은파일보기   : tar cvf 파일명.tar
파일풀기       : tar xvf 파일명.tar

묶고압축하기     : tar cvfz 파일명.tar.gz 파일(디렉토리)
묶고압축된 파일 보기 : tar tvfz 파일명.tar.gz
묶고압축된파일 풀기 : tar xvfz 파일명.tar.gz


사용예 #1

다음과 같이 dir1이라는 디렉토리에는 파일두개가 존재하고 있다.
이를 대상으로 tar의 사용법을 설명하도록 하겠다.

[root@host3 command]# ls -l ./dir1
합계 8
-rw-r--r--    1 root     root          120  9월 18 14:11 textfile
-rw-r--r--    1 root     root           68  9월 18 15:26 textfile2
[root@host3 command]#

먼저 위의 디렉토리 dir1에 있는 모든 파일들을 하나의 파일로 묶어보자.
파일을 압축할 때에는 "cvf"라는 옵션을 사용한다.

[root@host3 command]# tar cvf dir1.tar dir1
dir1/
dir1/textfile
dir1/textfile2
[root@host3 command]#

위의 tar예에서
tar는 tar명령어이며,
cvf는 파일을 하나로 묶기 위한 tar의 옵션이며,
dir1.tar는 하나의 파일로 묶여진후에 생성될 파일명이며(tar의 결과파일),
dir1은 tar의 대상파일(즉, 묶여질 파일들)이다.

아무런 메시지없이 끝났다면 위의 tar작업이 성공적으로 끝났다는 것을 의미한다.
아래의 결과를 확인해 보자.

[root@host3 command]# ls -l
합계 16
-rw-r--r--    1 root     root        10240  9월 20 12:56 dir1.tar
drwxr-xr-x    2 root     root         4096  9월 20 12:55 dir1
[root@host3 command]#

dir1.tar이라는 파일이 새로 생성된 것을 확인할 수 있다.
이 dir1.tar파일에는 dir1디렉토리의 모든 내용이 하나로 묶여져 새로 생성된 파일이다.


사용예 #2

이번에는 위의 예에서 생성한 dir1.tar파일의 내용을 확인해 보도록 하자.
tar파일의 내용을 확인할때에는 "tvf"라는 옵션을 사용한다.
아래의 예를 보자.

[root@host3 command]# tar tvf dir1.tar
drwxr-xr-x root/root         0 2003-09-20 12:55:03 dir1/
-rw-r--r-- root/root       120 2003-09-18 14:11:35 dir1/textfile
-rw-r--r-- root/root        68 2003-09-18 15:26:39 dir1/textfile2
[root@host3 command]#

예상했던 결과와 동일하게 dir1.tar에는 dir1에 있던 내용과 동일한 파일들이 들어있음을 알 수 있다.


사용예 #3

이번에는 앞의 예에서 tar로 묶은 dir1.tar 파일을 다시 원래대로 풀어보도록 하자.

이런 작업을 위해서 dir1은 삭제를 하고 dir1.tar만 남겨두도록 하자.

[root@host3 command]# rm -rf dir1
[root@host3 command]#

위에서 원본파일 dir1을 모두 삭제하였다.


이제 아래와 같이 dir1.tar파일만 남아있음을 알 수 있다.

[root@host3 command]# ls -l          
합계 12
-rw-r--r--    1 root     root        10240  9월 20 12:56 dir1.tar
[root@host3 command]#

이제 이 파일(dir1.tar)을 풀어보자.
tar로 묶여진 파일을 풀때에는 "xvf"라는 옵션을 사용한다.

[root@host3 command]# tar xvf dir1.tar
dir1/
dir1/textfile
dir1/textfile2
[root@host3 command]#

자, 이렇게 풀어진 결과를 확인해보자.

[root@host3 command]# ls -l
합계 16
-rw-r--r--    1 root     root        10240  9월 20 12:56 dir1.tar
drwxr-xr-x    2 root     root         4096  9월 20 12:55 dir1
[root@host3 command]#
[root@host3 command]# ls -l dir1
합계 8
-rw-r--r--    1 root     root          120  9월 18 14:11 textfile
-rw-r--r--    1 root     root           68  9월 18 15:26 textfile2
[root@host3 command]#

원본파일인 dir1과 동일한 디렉토리와 파일들이 생성되어 있음을 확인할 수 있을 것이다.

원본파일과 풀여진 파일들의 날짜와 시간을 자세히 비교해 보면 파일의 생성날짜와 시간이 원본파일과 동일함을 알 수 있다.
즉, tar로 묶여질때에는 묶여지는 파일들의 생성날짜와 시간정보까지 함께 저장이 되어지며, tar로 풀때에는 이 시간정보를 그대로 적용하여 풀어진다는 것을 알 수있다.



사용예 #4

이번에는 파일을 묶는 작업과 압축을 하는 작업을 동시에 해보도록 하자.
이 작업을 하려면 z라는 옵션을 추가해서 "cvfz"라는 옵션을 사용하면 간단히 묶음과 압축을 동시에 할 수있다.

설명의 편의를 위하여 dir2라는 디렉토리를 작업대상으로 하며 dir2에는 다음과 같은 파일 2개가 들어있다.

[root@host3 command]# ls -al dir2
합계 16
drwxr-xr-x    2 root     root         4096  9월 20 13:42 .
drwxr-xr-x    3 root     root         4096  9월 20 13:41 ..
-rw-r--r--    1 root     root          120  9월 18 14:11 textfile1
-rw-r--r--    1 root     root           68  9월 18 15:26 textfile3
[root@host3 command]#

자, 그렇다면 묶음과 압축을 동시에 해보도록 하자.

[root@host3 command]# tar cvfz dir2.tar.gz dir2
dir2/
dir2/textfile1
dir2/textfile3
[root@host3 command]#
[root@host3 command]# ls -l
합계 8
drwxr-xr-x    2 root     root         4096  9월 20 13:42 dir2
-rw-r--r--    1 root     root          284  9월 20 13:43 dir2.tar.gz
[root@host3 command]#

cvfz라는 옵션을 사용하고 새로 생성되는 파일명을 dir2.tar.gz로 하였다.
묶음과 압축의 결과로 dir2.tar.gz파일이 생성되었음을 알수가 있다.

간단한 명령이므로 어렵지는 않으리라 생각한다.

그리고 이렇게 묶음과 압축이 한번에 된 파일의 내용을 확인하고자 한다면 다음과 같이  "tvfz"옵션을 사용한다.

[root@host3 command]# tar tvfz dir2.tar.gz
drwxr-xr-x root/root         0 2003-09-20 13:42:08 dir2/
-rw-r--r-- root/root       120 2003-09-18 14:11:35 dir2/textfile1
-rw-r--r-- root/root        68 2003-09-18 15:26:39 dir2/textfile3
[root@host3 command]#

사용예 #5

위의 예에서 묶음과 압축을 동시에 했던 tar로 압축저장된 파일을 풀어보도록 하자.
묶음과 압축이 동시에 된 파일을 한번에 풀때에는 z옵션을 추가해서 "xvfz"옵션을 사용하면된다.

아래와 같이 dir2라는 원본파일을 모두 삭제한다.

[root@host3 command]# ls -l
합계 8
drwxr-xr-x    2 root     root         4096  9월 20 13:42 dir2
-rw-r--r--    1 root     root          284  9월 20 13:43 dir2.tar.gz
[root@host3 command]#
[root@host3 command]# rm -rf dir2
[root@host3 command]#

원본파일이 삭제된 것을 확인하고 압축된 tar파일만이 남아있다.
[root@host3 command]# ls -l
합계 4
-rw-r--r--    1 root     root          284  9월 20 13:43 dir2.tar.gz
[root@host3 command]#

여기서 아래와 같이 이 파일을 푸는 작업을 한다.

[root@host3 command]# tar xvfz dir2.tar.gz
dir2/
dir2/textfile1
dir2/textfile3
[root@host3 command]#

압축이 잘 풀렸으므로 이를 확인한다.
dir2.tar.gz를 푼 결과 dir2라는 디렉토리와 그 안에 있던 파일들이 새로 생성이 되었다.
아래는 그 결과를 확인한 것이다.

[root@host3 command]# ls -l
합계 8
drwxr-xr-x    2 root     root         4096  9월 20 13:42 dir2
-rw-r--r--    1 root     root          284  9월 20 13:43 dir2.tar.gz
[root@host3 command]#
[root@host3 command]# ls -l dir2
합계 8
-rw-r--r--    1 root     root          120  9월 18 14:11 textfile1
-rw-r--r--    1 root     root           68  9월 18 15:26 textfile3
[root@host3 command]#

'리눅스' 카테고리의 다른 글

Unix/Linux 문자열 패턴 검색 (grep)  (0) 2019.12.23
리눅스 설치 URL  (0) 2010.06.25
리눅스의 전반적인 개념(?)개요...  (0) 2010.06.25
리눅스 명령어 모음2  (0) 2010.06.25
리눅스 명령어 모음  (0) 2010.06.25

리눅스 설치 URL이네요

각 챕터 별로 잘 정리 되어있네요


http://www.qprk.pe.kr/txt_data/setup_linux/howto/Installation-HOWTO.html


2번째 == 개인적으로 여기가 더 깔끔한 것 같네요.. 자세히 나와있고.. 열공하세요..

http://wiki.kldp.org/wiki.php/%B8%AE%B4%AA%BD%BA%BC%B3%C4%A1%C7%CF%B1%E2

'리눅스' 카테고리의 다른 글

Unix/Linux 문자열 패턴 검색 (grep)  (0) 2019.12.23
[ LINUX ] tar 압축  (0) 2010.07.27
리눅스의 전반적인 개념(?)개요...  (0) 2010.06.25
리눅스 명령어 모음2  (0) 2010.06.25
리눅스 명령어 모음  (0) 2010.06.25

이 글은 Linux Gazette에 실렸던 기사입니다. 기초적인 설치법이 많이 나와있지만 정작 리눅스에 대해서 알고싶어할 때 궁금한 질문사항을 적절히 해결할 만한 내용이 없었던 것 같습니다. 여기에 Ron Jenkins이 질문과 답변 형식으로 설치에 대한 사항을 기사화 했습니다. 설치를 위해서 자료를 찾아보시는 분들에게 좋은 정보가 될 것입니다. 이 글에 대한 원본은 다음의 웹페이지를 참고하기 바랍니다.

http://www.linuxgazette.com/issue32/jenkins1.html
http://www.linuxgazette.com/issue33/jenkins2.html

여러분은 아마 리눅스에 대한 여러 가지 선전을 들어봤을 것이고 이 “리눅스” 라는 것이 무엇인가를 알아 볼려고 결심한 적도 있을 것입니다. 또는 상업용 운영체제를 사용하는 대신에 적은 비용으로 대체해서 사용할 수 있는 운용체제가 필요하게 될지도 모릅니다. 그리고 다양한 시스템을 연결하기 위해서 서로 통신이 될 수 있는 손쉬운 방법이 필요하게 될 수 도 있습니다. 이런 경우는 문제를 해결해야 하는 경우도 있고 호기심을 충족시켜야 하는 경우도 있습니다. 어떤 경우든지 이 기사가 그러한 점을 만족시킬 수 있을 것입니다 .
이제 리눅스 운영체제에 대한 흥미진진한 세계로의 여행을 해보도록 하죠.



1. 도대체 리눅스가 무엇인가요?

리눅스는 Linux Torvalds와 전세계에 있는 수많은 프로그래머에 의해서 개발된 자유롭게 배포할 수 있는 유닉스입니다. 해커의 시스템으로 시작되었고 최신기술의 수용을 주요한 목적으로 설계되었던 리눅스는 이제는 계획적으로 개발되고 안정적인 운영체제로 발전하게 되었습니다. 물론 여기에는 개인적인 목적 뿐만 아니라 중요한 업무에도 사용할 수 있는 훌륭한 애플리케이션과 툴들이 함께 했습 니다.
최근 6달동안 리눅스는 기하급수적인 성장을 하고 있습니다. 매일 리눅스는 기사거리가 되고 신문지상에 발표가 되고 있죠. 많은 상업적인 소프트웨어 회사들이 리눅슬 지원할 것을 발표하고 있거나 리눅스 운영체제로 자신들의 제품들을 포팅하고 있습니다. 필자는 요전에 유닉스 데이터베이스 세계의 최대업체인 오라클과 인포믹스가 리눅스로의 포팅이 진행중인 것을 보았었습니다.



2. 이렇게 훌륭한 시스템이 나에게 무슨 의미가 있을까요?

리눅스는 필자와 같은 신기술 추종자들뿐만 아니라 전체 컴퓨터 사용자들에게 믿을 수 없을 정도로 중요한 의미를 가지고 있습니다.
필자에게 프로그램과 애플리케이션을 만드는 것은 재미있는 반면 대부분의 사람들은 단지 어떤 일을 하기 위해서 필요가 있을 것입니다. 또는 재미로 네트워크 서핑을 하기를 원한다거나 게임을 하기를 원할 수 도 있습니다. “아주 쓸만한 애플리케이션”이 없다면 운영체제는 상업적으로는 이미 끝난 것입니다.
훌륭한 애플리케이션과 개발 툴을 가지고 있고 그러한 것을 효율적으로 사용하는 것을 배우는데 들이는 최소한의 비용을 제외하고는 추가적인 비용이 거의 들지 않는 이 모든 것을 충족시킬만한 운영체제를 전에는 본적이 없을 것입니다.
추가적으로 고려해야 할 사항은 여러분이 리눅스를 교육적으로 사용한다면 놀라운 기술의 진전을 볼 것이고 당장에 어떠한 직장에라도 갈 수 있을 만한 능력을 가지게 될 수 있을 것입니다.

리눅스의 장점중의 한가지는 당신의 업무를 성공적으로 수행하기 위해서 필요한 깊이 있는 지식을 얻을 수 있는 기회가 된다는 점입니다. 그러나 단지 한 두 개의 문서나 작성하고 게임만을 하길 원하시는가요? 물론 그러한 것도 할 수 있습니다. 인터넷을 서핑하고 E-mail을 교환하길 원하세요? 그것도 문제가 되지 않습니다. 다양한 프로그래밍 언어를 사용하여 프로그램 작성하고 싶으신가요? 당장에 할 수 있습니다.

여기까지 보면 리눅스로 모든 것을 할 수 있다는 것을 알 수 있을 것입니다. 게다가 리눅스를 사용해 가면서 만약 여러분이 원하는 기능을 추가할 때 많은 돈을 지불할 필요도 없습니다.



3. 알겠습니다! 놀랍군요. 그러나 나는 유닉스가 구성하기가 까다롭고, 설치가 어려우며 오직 몇몇 전문가들을 위한 것이라는 등의 여러 가지 말들을 들었습니다.

물론 이러한 시절도 있었죠. 그러나 지금은 1999년이고 이러한 것은 사실이 아닙니다. 설치와 구성을 하는데에 많은 발전이 이루어졌고 대부분의 경우에 리눅스는 더 이상 설치가 까다롭지 않게 되었습니다. GUI 형식의 패키지관리자와 시스템의 구성요소를 정확히 검색할 수 있는 기능을 가질 수 있는 설치과정이 지금까지 커다란 논쟁거리가 되어왔습니다.

사실 여러분이 리눅스 세계에 들어오기 위해서 지금보다 더 좋은 시간을 가질 수는 없을 것입니다. 여러분이 네트워킹에 대한 주제를 얻기 원한다면 Windows 장비보다는 유닉스 장비가 있어야 한다는 것은 일반적인 이야기지만 새로운 구성 유틸리티와 직관적이고 쉽게 이해할 수 있는 진행 상태 등이 결합하여졌기 때문에 필자는 리눅스가 Windows 보다 더 쉽게 설치할 수 있다고 강력하게 느끼고 있습니다.

만약 여러분이 리눅스가 판매되는 제품이 아니기 때문에 어디에서 그것을 얻어야 할지 알 수 없다라고 말할 수 도 있을 것입니다. 그러나 다행스럽게 리눅스에도 상업적인 배포본이 있습니다. 여기에는 상업적인 지원도 포함되어 있기 때문에 필요할 때 도움을 받아야 하는 사람들이게는 이러한 상업용 배포본이 있다는 것은 매우 즐거운 일이 될 것입니다.

이제 리눅스의 비밀무기에 대해서 말을 해보도록 하죠. 이에 앞서 필자가 언급할 많은 사람들을 기억하고 있어야 합니다. 그들은 가상세계에 있는데 그들은 여러분을 도와줄 준비가 되어 있고 기꺼이 도와줄 사람들입니다. 여러분은 그러한 사람들을 USENET과 IRC와 지역적인 리눅스 사용자 모임등에서 찾을 수 있을 것입니다. 사실 이러한 자유로운 비상업적인 모임들은 최종 사용자 사회에서 신선한 충격을 만들고 있습니다. 이러함 점으로 인해서 리눅스가 전례없이 1997년에는 올해의 제품으로 선정되게 된 것입니다.



4. 알겠습니다. 그러나 나는 매우 느린 오래된 486 DX2/66을 가지고 있습니다. 리눅스가 내게 적당하다고 생각합니까?

대답은 당연하다입니다. 리눅스는 디스크없는 워크스테이션으로부터 XT는 물론이고 가장 최신의 하드웨어까지 어느곳에서나 실행될 수 있습니다. 사실 필자는 라우터로부터 웹서버까지 또는 다이얼업 서버에서 파일서버까지 어느 것에나 이러한 장비들을 사용하고 있습니다. 나는 현재 486 66Mhz 사양의 장비 2대를 백업 DNS 장비로 사용하고 있습니다.

이러한 것은 리눅스의 또 다른 힘입니다. 리눅스는 “오래된” 시스템에서도 그 성능을 발휘합니다. 이것은 비영리기구, 오래된 시스템에서 최대한 효과를 끌어내려고 하는 비용에 민감한 기구등에서 비용을 절약하는 한가지 방법이 됩니다.

여기에는 한가지 예외가 있는데 당신의 비디오 서브시스템이 그것인데 GUI인 X는 비디오 카드를 많이 가립니다. 그래서 지원하지 않는 것이 있을 수 있습니다. 이렇게 된 주요한 원인은 많은 비디오카드 제조사들이 자신의 제품에 대한 정보를 리눅스 개발자들에게 주지 않아서 해당 하드웨어에 대한 지원사항을 개발 할 수 없었기 때문입 니다.

그러나 점점 많은 업체들이 지원이 이루어지고 있고 상업적인 X 서버등도 계속적으로 발표가 되고 있습니다. 만약 16색 VGA이상을 사용하길 원한다면 이 기사의 마지막쯤에 X가 지원하는 비디오카드의 목록을 살펴보기 바랍 니다.


리눅스의 다양한 배포본은 다양한 하드웨어 구성요소를 가지고 있습니다. 물론 이러한 점이 더욱 새로운 장비가 반드시 장점을 가진다는 것을 의미하지는 않습니다. 필자는 여러분이 리눅스를 사용하기 위해서 256MB 램을 가진 펜티엄 II시스템이나 600Mhz 알파시스템을 가져야 할 필요는 없다는 것을 말하고 싶습니다.

일반적인 기준으로 386이나 또는 그 이상에 4MB이상의 램을 가지고 있으면 그런대로 잘 동작합니다. 만약 X를 사용할 계획이라면 8MB나 또는 16MB이상을 사용하면 됩니다.

일반적으로 RAM은 많으면 많을수록 좋습니다. 사실 필자는 고객들에게 빠른속도의 프로세스에 적은 RAM 보다는 느린속도의 프로세스에 많은 RAM을 사용하라고 말하곤 합니다.

여러분이 지금까지 들었던 것과는 다르게 프로세스의 속도가 성능을 결정하는 주요한 요소가 되지 않는 다는 점을 알 수 있을 것입니다. 여러분 시스템의 성능을 향상시키길 원한다면 당장 RAM을 늘리고 디스크 서브시스템의 속도를 높이고 그리고 마지막으로 프로세스를 선택하는 것입니다.

어떠한 IDE HDD형식과 ATAPI CD-ROM도 대부분의 SCSI호스트와 디스크처럼 매우 잘 동작합니다. 그러나 SCSI장치에 대한 설치는 좀 복잡한 것 같아 별도의 장에서 설명을 할 것입니다.



5. 알겠습니다. 당신이 절 설득시켰군요. 그럼 다음은 무엇인가요?

여러분이 제일 먼저 해야 할 일은 배포본을 선택하는 일입니다. 리눅스는 프로그램과 애플리케이션과 유틸리티들과 운영제체의 모음으로 여러사람들과 여러 회사에 의해서 패키징되어 있습니다. 이것을 보통 배포본이라고 부릅니다. 혼란스러울 정도로 많은 배포본들이 있죠. 그래서 이것은 최적의 휴향지를 고르거나 마음에 가장 드는 옷을 고르는 것과 비슷합니다.

필자는 슬랙웨어 3.5와 레드햇 5.1를 가지고 설명을 할 것입니다. 이것들이 가장 많이 사용되어서 친숙할 것입니다. 많은 설명이나 선택사항에 대한 구성, PCI 장치를 자동검색 하는 것 그리고 새로운 비디오 카드를 지원하는 것 등은 오직 이 배포본들에만 구성되어 있습니다. 필자의 설명은 이것들을 기준으로 할 것입니다. 그리고 이 배포본을 개인적으로 추천하고 싶군요. 만약 여러분의 취향이 다르다면 다른 것을 선택할 수 있습니다.

이것은 필자가 사용해본 첫 번째 배포본입니다. 그래서 아직까지도 친숙하죠. 이것은 명령행 방식으로 설치를 할 수 있고 GUI 방식으로도 설치를 할 수 있습니다. tar나 또는 .tgz 패키지 형식을 사용하고 있습니다. 필자는 다른 배포본들처럼 X의 사용을 강제하기 않기 때문에 이 배포본을 좋아합니다. 그리고 이것은 필자 자신이 어떠한 것을 설치하고 또 설치를 하지 않을 것인가에 대한 제어를 할 수 있습니다. 이것은 어떻게 시스템이 동작하는지 알고 싶은 사람들이나 자신의 소프트웨어를 설치하고 컴파일하기를 원하는 사람들에게 적당할 것입니다. 전체를 모두 설치하면 거의 400MB에 달합니다.

이 배포본은 리눅스 사회에서 상업적인 면으로 성공하고 있어서 현재 가장 구미가 당기는 부분입니다. 아마 가장 쉬운 인스톨을 제공할 것입니다. 그러나 X 윈도우 시스템을 기본으로 합니다. 그리고 RPM 패키지 형식을 사용하고 이것은 정확하게 설치된 모든 패키지와 프로그램을 확인할 수 있게 합니다. 현재는 미디어를 제작하고 그것으로 수익을 얻고 있으며 그것에 대한 지원도 하고 있습니다. 이 배포본은 신속하게 시스템 작업을 해야 하는 사람들이나 운영체제의 내부적인 작동법에는 그다지 관심이 없는 사람들에게 적당한 것 같습니다. 전체 설치를 한 경우에 거의 600MB에 달합니다.
필자는 서로간의 비교를 위해서 다양한 배포본을 사용하는 경향이 있었고 특정한 배포본에 대한 필자 자신의 의견을 피력한 적이 있었는데 이것에 대해서 누군가 필자를 비난했었습니다. 필자는 칼데라 배포본에 대해서는 그다지 좋게 생각하진 않습니다. 이 배포본은 일단 가격이 적정이상이고 성능면에서는 수준이하라고 생각합니다. 필자를 비난했던 사람이 이점에 대해서 좀더 깊이있는 비교를 해보길 바랍니다.



6. 어떻게 소프트웨어를 얻을 수 있습니까?

여기에는 몇가지 방법이 있습니다. 필자가 언급했던 모든 배포본들은 자유롭게 인터넷에서 얻을 수 있습니다. 추가적으로 레드햇과 슬랙웨어는 구입도 가능합니다. 마지막으로 리눅스에 대해서 설명한 책들에 번들되어진 것을 사용할 수도 있고 리눅스 사용자 그룹의 정기모임에서 얻을 수도 있습니다.

주의사항 : FTP나 NFS를 통해서도 이러한 배포본을 설치할 수 있지만 처음 설치하는 경우에는 CD-ROM을 구해서 CD로부터 설치하기를 바랍니다.



7. 먼저 알아야할 사항은 무엇입니까?

괜찮은 질문입니다. 먼저 알아야할 사항에는 몇가지 있습니다.

시스템에 몇 개의 운영체제를 같이 사용하는 것은 할 수는 있지만 될 수 있는 대로 장비를 따로하거나 최소한 디스크를 운영체제별로 분리시키는 것이 좋습니다.

다중 운영체제의 설치는 설치를 여러번 해보고 열심히 연습해보고 당신이 주로 사용하는 OS와 데이터의 손상이 입을 염려가 줄어들게 되어서 할 수 있다는 확신이 섰을 때 해보기를 바랍니다. 또한 나중에 필자는 어떻게 이 장비에서 모든 종류의 작업을 할 수 있는지 알려 줄 것입니다. 여기에서 작업에는 인터넷 접속을 한다거나 파일과 애플리케이션의 저장 또는 여러분의 집안 내부 네트워크을 위한 시작점등을 지정하는 것등을 말할 수 있습니다.



8. 나는 부자가 아니며 당신이 언급한 것과 같은 열악한 기계를 어디에서 얻을 수 있습니까?


신문이나 지역 리눅스 사용자 그룹을 둘러보는 것이 좋을 것입니다. 거기에서 거의 돈을 들이지 않고 장비를 얻을 수 있을 것입니다.
우리가 목표로 하는 것은 누구든지 성공적인 설치를 할 수 있도록 하는 것이며 유닉스를 다루는 능력을 배가시키기 위한 비밀스런 방법을 익히기 위해서는 많은 시간이 필요합니다.
가능하다면 두 개의 하드디스크 드라이브와 ATAPI 호환의 CD-ROM을 가지고 있는 장비를 어러대 얻도록 노력하는 것이 좋습니다.



9. 많은 어려움이 있는 것 같은데 그러한 모든 추가적인 사항없이 시험을 할 수는 없는 것인가요?

만약 당신이 나의 경고를 완전히 무시하고 리눅스를 주장비로 사용하려 한다면 자신이 사용하는 것은 모두 백업을 받아놓고 사용하는 것이 좋겠군요. 충분한 백업장치가 없을 때는 슬랙웨어 배포본을 사용해보시기 바랍니다. 이 배포본은 CD-ROM에서 직접 실행하는 옵션을 제공하고 있습니다.


10. 알겠습니다. 난 여분의 장비나 추가적인 디스크를 가지고 있습니다. 다음에 무엇을 하죠?

만약 여러분이 여분의 장비를 얻지 못했다면 위에서 말한 경고를 확인해보는 것이 좋습니다. 그리고 잘못해서 자료에 접근하는 것을 방지하기 위해서 백업을 받기를 바랍 니다.

제일 먼저 할 일은 부트디스크와 각각의 상황에 따른 여분의 디스크 즉 루트나 또는 추가디스크를 만들어야 합 니다.

만약 레드햇과 같은 상업용 배포본을 구입했다면 이미 디스크들이 포함되어 있을 것입니다. 슬랙웨어의 상업적인 버전은 최신장비의 CD-ROM에서 바로 부팅이 가능할 것입니다.

만약 책에서 번들된 버전을 가지고 있다면 디스크를 만들 필요가 있습니다.
이러한 디스크를 만들려면 한 장이나 또는 두장의 DOS 포맷의 디스크가 필요하게 됩니다.

필요한 부트이미지는 설치하려고 하는 배포본에 따라 다릅니다.

레드햇의 경우에는 /image 디렉토리에 있고 boot.img와 supp.img라고 이름이 붙여져 있을 것입니다. 보통은 boot.img 하나만 필요할 것 같군요.

슬랙웨어의 경우에는 /bootdsks.144 와 /rootdsks 라고 불리는 디렉토리를 확인하면 됩니다. 만약 IDE 장치가 필요없다면 bare.i 이미지를 부트이미지로 사용할 수 있습니다. rootdsks 디렉토리에서는 루트 디스크로 color.gz 이미지를 사용하면 될 것입니다.

부트와 루트 디스크를 만드는 방법은 리눅스에서 만드느냐 DOS 환경에서 만드느냐에 따라 차이가 있습니다.

DOS 환경 즉 윈도우 3.x, 윈도우 95, 윈도우 98, 윈도우 NT라면 RAWRITE.EXE를 사용하면 됩니다. 이 프로그램은 보통 /install 이나 또는 /dosutils 디렉토리에 있습니다.

명령행에서 다음과 같이 입력하면 됩니다.

C:> RAWRITE <enter>
You will be asked for the source file name:bare.i <enter>
You will next be asked for your target drive: A: <enter>

만약 프로그램이 에러를 발생시키면서 “Attemption to DMA across 64k boundary” 라는 메시지가 나온다면 sunsite.unc.edu에 FTP를 이용하여 들어간 다음 다음 장소로 이동하여 새로운 버전의 RAWRITE 프로그램을 가져오면 됩니다.

/pub/Linux/distributions/redhat/redhat-5.1/i386/dosutils/

이것은 아마 원래 사용했던 것보다 크기가 더 작을 것이고 에러도 없을 것입니다. 필자는 NT를 사용한 경우와 윈도우 98을 사용한 경우에 이러한 경험을 한 기억이 있습니다.

만약 리눅스나 유닉스 장비를 사용하고 있다면 다음과 같이 입력하면 됩니다.

dd if=<your boot or root image> of=<where to write it to> bs=1440k

그래서 만약 슬랙웨어 부트 디스크를 만들려고 한다면

dd if=bare.i of=/dev/fd0 bs=1440k <:enter>

이와 같이 입력하고 루트디스크라면 다음과 같이 입력해야 합니다.

dd if=color.gz of=/dev/fd0 bs=1440k <enter>


11. 알겠습니다. 필요한 디스크를 만들었습니다. 다음은 무엇을 하죠?

지금 플로피 드라이브에 부트디스크를 넣고 장비를 재부팅시키십시요.

이 시점에서는 루트로 로그인을 해야 합니다. 로그인 뒤에 디스크를 파티션 해야 하는데 이것은 HDD를 파티션한 뒤에 포맷하는 과정이 있습니다.

배포본에 따라서 어느 곳의 리눅스 native 파티션을 원하는지 또는 마운트하길 바라는 파티션이 어디인지를 묻게 될 것입니다. 이러한 질문에는 각 포맷된 파티션이 파일시스템 계층상에서의 위치를 정해주면 됩니다.

단일 디스크 시스템에서라면 단일 리눅스 native 파티션을 root 또는 / 파티션으로 마운트 합니다.

두 개의 디스크 시스템에서는 위에서 언급한 것처럼 첫 번째 디스크를 마운트합니다. 그런 다음 두 번째 드라이브의 리눅스 native 파티션을 /home 디렉토리로서 마운트합니다. 이 /home 파티션에는 사용자의 정보나 파일들을 보관하기 위해서 사용할 것입니다. 그래서 하드가 망가질 정도의 문제가 OS에서 발생하는 것을 방지하고 만약 그러할 때에 발생할 수 있는 데이터의 손실을 방지합니다.

이렇게 하는 것에 추가하여 나중에 불행한 일이 발생하지 않게 하려면 정기적인 백업 계획이 필요합니다. 필자는 정기적인 신뢰성 있는 백업이 매우 중요하다고 말하고 싶습니다.

백업에 대해서 필자가 편집증적인 증세를 보이는 것 같아 보이지만 그렇게 필자가 보이는 것이 오히려 자랑스럽습니다. 필자는 기회가 될 때마다 고객이나 친구나 같이 일하는 동료들에게 이 점에 대해서 이야기 합니다. 그리고 필자는 그들을 위해서 이런 말을 하는 것 때문에 상당히 웃기는 사람으로 취급당하기도 합다. 그러나 이렇게 취급당하는 것도 어떤 문제가 발생하는 경우에는 끝이 나고 이러한 경우에 그들에게는 필자가 구원자처럼 보인다는 것입니다.
그래서, 만약 이러한 문제가 발생하는 경우에는 백업을 제대로 했다면 당신은 모세처럼 보일것이고 이것은 연봉협상에 좋은 영향을 줄 것입니다.



12. 알겠습니다. 나는 파티션을 만들었고 준비가 다 되었습니다. 설치를 위해서 나만의 선택사항은 무엇이고 내가 필요한 프로그램    은 무엇입니까?

한가지 알아야 할 예외사항이 있지만 리눅스의 설치에는 네 가지 방법이 있습니다. 다음은 용량이 작은 것부터 큰 것 순으로 나열하였습니다. 한가지 예외라는 것은 CD-ROM에서 직접 실행하는 경우입니다. 레드햇 배포본의 경우에는 CD-ROM에서 직접 실행하는 것을 제공하지 않습니다.

1) CD-ROM에서 직접 실행시키는 것입니다. 이 CD-ROM 시스템은 “이미 실행중인” 파일시스템인 것입니다.

이 방법이 기존의 시스템에 가장 적은 영향을 주면서 리눅스를 실행시키는 방법입니다. 만약 CD-ROM 이 느리다면 수행능력은 떨어지게 될것입니다. 이 방법은 여러분이 사용하는 주요한 시스템에 특별한 작업을 하지 않기 때문에 안정성을 위해서 권하는 방법입니다.

이러한 방식을 수행하기 위해서 정확한 방법은 배포본마다 다양합니다. 그러나 이러한 방법은 보통 “run from CD-ROM” 또는 “run from live filesystem”으로 불립니다.

2) 최소한의 기본적인 시스템 설치입니다. 이것은 단지 부팅이 되고 실행만 되기 위한 내용만 설치하는 것입니다.

리눅스는 설치하기 위해서 최소한 두 개의 파티션이 필요하다. 하나는 루트 파티션이고 이것은 리눅스가 설치되는 최상위 디렉토리이고 다른 하나는 스왑파일을 위한 파티션입니다.

한 드라이브에 운영체제를 위한 장소를 유지하고 또 다른 장소에 임시 저장소를 사용하는 하는 것은 현명한 방법입니다.

Windows와 같은 운영체제에 익숙해 있다면 루트 파디션은 C:\ 드라이브라고 말할 수 있고 그리고 스왑파일은 pagefile.sys와 같다고 말할 수 있습니다.
Windows 장비에서 데이터를 저장하기 위해서 분리된 드라이브를 사용하는 것은 좋은 생각인데 이러한 것이 리눅스에도 적용됩니다. 즉 데이터를 다른 하드에 유지하는 것입니다. 이것이 왜 필자가 리눅스 장비의 HDD가 두 개가 필요한지에 대한 이유입니다.

선택한 배포본에 따라서 필요한 파티션은 다양합니다. 마찬가지로 하나나 또는 두 개의 HDD를 가지고 있다고 하더라도 최선의 파티션을 하는 방법도 다양합니다.

슬렉웨어

cfdisk 유틸리티를 사용합니다. 이 유틸리티는 이해하기가 쉽고 충실한 도움말을 제공합니다.

레드햇

여러분은 Disk Druid를 사용하길 바랍니다.

디스크가 하나밖에 없는 장비에서는 두 개의 파티션으로 나누어야 합니다. 하나는 스왑 파티션으로 이것은 16에서 32MB 크기를 가지는 것이 좋겠군요. 크기는 가지고 있는 장비의 RAM 용량에 따라 결정이 됩니다. 사용하는 유틸리티에 따라서 리눅스에 스왑파티션을 위한 헥사코드를 지정해 주어야 하는 것도 있습니다. 이런 것을 요구한다면 82라는 스왑파티션 코드를 입력하면 됩니다.
디스크의 나머지 부분은 리눅스 native 파티션으로 잡아야 합니다.
어떤 사람들은 파티션을 세 개로 나누어야 한다고 말하기도 합니다. 이것은 루트파티션이 잘못되는 경우에 사용하던 데이터를 보호하기 위해서라고 보통 합니다. 그러나 필자는 단지 일정부분만 이상이 생기는 경우를 거의 본적이 없습니다. 보통 문제가 발생한 경우에는 모두 잃든지 아니면 아무것도 잃어버리지 않는 것이 대부분입니다.
그래서 필자는 이러한 경우를 대비하여 두 개의 디스크를 권장합니다. 필자는 두 개의 디스크가 동시에 문제가 발생하는 경우는 번개 때문에 전체 시스템이 문제가 생긴 경우 외에는 본적이 없습니다.

두 개의 디스크 시스템은 다음과 같이 하는 것을 권하고 싶습니다.

프라이머리 HDD 또는 첫 번째 HDD (보통 배포본에서는 hda 라고 불린다.) 에는 위에서 말한 것과 같은 두 개의 파티션을 만듭니다.
세컨드리 IDE 장치 또는 두 번째 HDD 에는 16이나 또는 32MB정도의 추가적인 스왑파티션을 만듭니다. 그리고 드라이브의 나머지 부분은 리눅스 native 파티션을 만듭니다.

슬렉웨어

다음 디스크 시리즈만 선택합니다.
A
AP(선택적이다.)

레드햇

기본적인 사항을 받아들이는 것이 좋겠습니다.

3) 원활한 사용을 위한 설치입니다. 이것은 기본 시스템에 작업에 필요한 것과 네트워크 그리고 개발에 필요한 툴등을 더한 것입니다.

슬랙웨어

다음 디스크 시리즈를 선택합니다.
A
AP
F
D
N
X
XAP

레드햇

기본 선택사항에다 다음을 추가합니다.

X applications
Development tools

4) 전체 설치입니다. 이것은 보통 “우리 얼마나 많은 용량이 필요한지 봅시다” 라는 것으로 불리기도 합니다.

슬랙웨어

최상위의 “complete installation”을 선택합니다.


레드햇

“Everything”을 선택합니다.

전체를 모두 설치하는 경우에는 고려해야 할 만한 몇가지 사항이 있습니다.
“Everything”을 선택한 곳 아래에 대화 상자가 있습니다. 이곳에는 “Choose individual packages.” 라는 문구가 있는데요 이것을 선택합니다.
이렇게 하면 시스템에 설치하려는 모든 소프트웨어의 카테고리를 표시하는 대화상자가 나타나게 될 것입니다. Documentation까지 스크롤을 시킵니다.
몇가지 이유로 레드햇은 매뉴얼로 알려진 모든 형식과 모든 언어의 HOWTO를 설치합니다.
여기에서 문서의 텍스트 형식과 html 형식만을 선택합니다. 이러한 설정에는 적당한 이유로 예외가 있을 수 있습니다. 유용한 문서가 다른 언어로도 필요하다면 적당한 언어의 문서를 선택합니다. 이것이 끝나면 done을 선택합니다. 이것으로 디스크 공간을 줄이게 될것입니다.

두 개의 배포본에 모두 동일한 사항도 있습니다. 다음은 사용하려는 배포본에 상관없이 수행해야 하는 것입니다.



(1) 부트와 복구 디스크를 만들기

슬랙웨어

설치과정의 끝에 가면 새로운 리눅스 시스템을 구성할 것을 요구할 것입니다. 필자는 둘 다 lilo 부트디스크 또는 vmlinuz 부트디스크를 만들기를 강력하게 권합니다. 그리고 LILO 선택사항을 설치하는 것에는 NO를 선택합니다.

레드햇

설치의 끝에서 부트디스크를 만들도록 요구하는데 yes를 선택하는 것이 좋습니다.

만약 X 윈도우나 네트워크를 설정하는 화면이 나온다면 no를 선택합니다. 만약 X에 대한 이러한 사항을 강제적으로 해야 한다면 기본적인 사항만을 선택합니다. 네트워킹을 위해서 만약 네트워크 어드레스를 설정해야 한다면 127.0.0.1이나 또는 선택할 수 있는 것이 있다면 “loopback”을 선택합니다. 우리는 설치의 다음 단계에서 이러한 작업을 할 것입니다.

(2) 루트로 로그인해서 자신을 위한 사용자 계정을 만듭 니다.

루트로 로그인해서 작업을 하는 것이 유용한 경우도 있는 반면에 대부분의 경우에는 해당 시스템에 사용자로 계정으로 로그인을 하길 권합니다.
이러한 데에는 몇가지 이유가 있는데 가장 중요한 이유로는 당신의 사용자 계정으로 들어간 경우에는 최소한 최악의 경우는 만들지 않는데 있습니다.
그러나 루트로 로그인하였을 때는 시스템에 설치된 대부분의 보호수단을 통과할 수 있습니다. 그래서 어떤 것이라도 할 수 있지만 그래서는 안됩니다. 파일 시스템은 호스와 같은데 이것은 superuser 계정일때에는 편리한 부분도 있고 단점이 될 수 있는 부분도 있습니다.
이것은 이미 뽑아든 총처럼 주의깊게 다루어야 합니다. 만약 이것을 사용할 필요가 없다면 그것을 뽑아들 필요가 없는 것입니다. 만약 그것을 사용하려 한다면 명확한 목적이 있어야 하고 다시 원위치로 되돌릴 수 있어야 합니다.
필자는 여러분이 이러한 사항에 대해서 겁을 내기를 바랍니다. 여기에 그렇게 해야만 하는 당연한 이유가 있기 때문입니다.

루트로 로그인합니다. 그런 다음 여러분 자신을 위한 사용자 계정을 만듭니다.

adduser rjenkins

여러분은 몇가지 질문을 받을 것이고 이러한 사항에 대해서 기본설정상태 그대로 하려면 주의깊게 엔터를 치면 됩니다.

(3) 루트와 사용자 계정의 패스워드를 선택하여 입력합 니다.

여기에서 당신은 루트 계정과 사용자 계정을 보호해야 하기 때문에 패스워드가 필요합니다. 루트로 로그인해서 passwd 명령어를 사용합니다.

passwd root
그리고 사용자 계정도 마찬가지로 합니다.
passwd rjenkins

패스워드에는 간단한 주석을 달 수 있습니다. 좋은 패스워드 계획은 매우 중요합니다. 이것은 시스템이 네트워크에 연결되어 있든지 그렇지 않든지 다 해당되는 것이죠. 간단한 방법을 제시하면 다음과 같습니다.
쉽게 기억할 수 있는 아무거나 생각해보죠. 예를 들어 kibble로 하죠.
다음은 여기에 점이나 또는 숫자를 더합니다. ?kibble4 처럼 해보죠
마지막으로 더 좋은 보안을 위해서 쉽게 만들어진 단어(여기에서는 kibble)에 키보드에서 위쪽이나 또는 아래쪽으로 또는 왼쪽이나 오른쪽으로 이동하여 해당 문자를 선택하여 새로운 단어를 만듭니다.
그래서 ?kibble4라면 위쪽과 왼쪽으로 이동하여 ?u8ggi34라는 것을 얻을 수 있습니다.
만약 위쪽과 오른쪽으로 했다면 ?o9hhp44를 얻을 수 있을 것입니다.
이것은 쉽게 기억할 수도 있고 복잡한 패스워크 크래킹 프로그램을 무력화 시킬 수 있을 것입니다.


13. 리눅스 시스템을 살펴보고 문서로부터 도움과 정보를 얻기

여러분이 해야할 첫 번째 일은 어떻게 시스템을 돌아다닐 수 있는가를 배우는 것입니다. 도움이 되는 대부분의 문서는 /usr/doc 디렉토리에 있습니다. 특별히 /usr/doc/howto 디렉토리를 주의깊게 보길 바랍니다. 그리고 설치가이드와 사용자 가이드를 읽어보는 것도 도움이 될 것입니다.

만약 책에 번들된 CD를 구입했다면 그것을 사용하고 책안에서 충분한 정보를 얻을 수 있을 것입니다. 또는 doc 디렉토리에서 배우는 시작을 위한 여러 가지 것을 얻을 수 있을 것입니다.

편집기나 문서에 관련된 툴은 문서마다 매우 다양하지만 어떠한 배포본에도 vi는 있을 것입니다. 여러분이 그것을 좋아하든 그렇지 않든 배우게 될 것입니다. 여러분이 이것은 기본적인 것을 사용하지 않더라도 어떠한 유닉스 시스템도 vi가 있기 때문에 혹은 유닉스 시스템을 다루어야 할 경우를 생각하면 최소한의 것을 알아두는 것이 좋을 것입니다.

짧게 여기서는 관련된 몇가지 명령어의 간략한 리스트를 보여줄 것입니다.


파일열기

vi 파일이름

파일에 텍스트를 추가하려면

i 키를 누르면 삽입모드가 되고 이때 원하는 텍스트를 입력합니다.

변경사항을 파일에 저장하려면

<Esc> 키를 누르고, :w 라고 입력하고 <enter>를 입력합 니다.

파일을 닫으려면

<Esc> 키를 누르고, :q 라고 입력하고 <enter>를 입력합 니다.

더 좋은 방법은 Midnight Commander를 이용하는 것입니다. 이것은 단지 명령행에서 mc라고 입력하면 됩니다. 이것은 Norton Commander와 비슷하고 DOSSHELL에 익숙한 사람이라면 쉽게 이 프로그램을 사용할 수 있을 것입니다.

'리눅스' 카테고리의 다른 글

Unix/Linux 문자열 패턴 검색 (grep)  (0) 2019.12.23
[ LINUX ] tar 압축  (0) 2010.07.27
리눅스 설치 URL  (0) 2010.06.25
리눅스 명령어 모음2  (0) 2010.06.25
리눅스 명령어 모음  (0) 2010.06.25
alias (명령어 간소화하기)
apropos (관련된 명령어 찾기)
arch (컴퓨터 종류 알기)
arp (같은 서브넷의 IP 보여주기)
at (작업 시간 정하기)
atd (계획성 있는 작업 실행하기)
awk (특정 패턴 문자 처리하기)
a2p (펄 파일로 바꾸기)
badblocks (배드 블럭 검사하기)
bc (계산기)
biff (메일 수신 소리로 확인하기)
bg (후면작업; 배경화면 설정)
bind (키나 함수 순서 결합하기)
break (루프 빠져나가기)
cal (달력보기)
builtin (내부 명령어 알아보기)
case (조건 처리하기)
cat (화면상에서 파일 보기)
cd (디렉토리 변경하기)
cfdisk (디스크 설정하기)
chattr (파일 속성 변경하기)
chfn (사용자 정보 변경하기)
chgrp (파일, 디렉토리가 속했던 그룹 바꾸기)
chmod (파일 권한 바꾸기)
chown (파일 주인 바꾸기)
chsh (지정된 셸 바꾸기)
cksum (CRC값을 점검한다)
clear (화면 청소하기)
clock (CMOS 시각을 조정하기)
cmp (파일 비교하기)
colcrt (문자 변환 필터)
colrm (열 삭제하기)
column (가로 정렬하기)
comm (파일 비교 출력하기)
command (명령어 알아보기)
continue (루프 계속돌기)
cp (파일 복사하기)
cpio (복사본 만들기)
crontab (cron을 관리한다)
csplit (파일에 서식, 규칙 정하기)
cut (필요한 필드만 출력하기)
date (날짜 보기)
dd (블럭장치 읽고 쓰기)
debugfs (ext2 파일 시스템 디버깅하기)
declare (변수 선언하기)
df (파일 시스템의 사용량 보기)
dirs (디렉토리 목록 표시하기)
dmesg (부팅 메시지 보기)
dnsdomainname (DNS 이름 출력)
domainname (NIS 이름 출력&설정)
du (디렉토리와 파일의 용량 파악하기)
dumpe2fs (파일 시스템 정보 보기)
echo (표준 출력하기)
eject (장치 해제하기)
elm (메일 관련)
enable (내부 명령어 지정)
env (환경변수 출력하기)
eval (인수 읽기)
exec (셸 명령어 실행하기)
exit (종료하기)
expand (탭을 공백으로 변환하기)
export (변수 지정하기)
e2fsck (파일 시스템 복구하기)
fc (지정된 편집기 받기)
fdformat (플로피 디스크 포맷하기)
fdisk (파티션 나누기)
fg (지정된 작업을 전면 프로세스로 시작하기)
file (파일 종류 보기)
find (파일 찾기)
finger (사용자 정보 알기)
fold (정형화하기)
fmt (정형화하기)
for (반복 실행하기)
free (메모리 사용량 알아보기)
fsck (파일 시스템 검사하기)
fstab (파일 시스템에 대한 고정적인 정보 저장하기)
ftp (파일 전송 프로그램)
fuser (프로세스 ID 출력)
getkeycodes (매핑 테이블 출력하기)
grep (특정 문자 (열) 검색하기)
gzexe (실행 파일 압축하기)
gzip (압축하기)
halt (시스템 종료하기)
hash (기억해 두기; index 역할)
head (파일의 앞부분 출력하기)
help (도움말 보여주기)
host (호스트 정보 보기)
history (사용 명령어 목록보기)
hostname (서버 이름 알기)
id (계정 정보 알기)
if (조건문 실행하기)
ifconfig (랜카드에 주소 할당하기)
imolamod (모듈 설치하기)
inetd (인터넷 서비스의 최상위 데몬)
init (실행 단계 정하기)
ispell (철자법 검사하기)
jobs (수행중인 프로세스 알기)
kbd_mode (키보드 모드 출력하기)
kill (프로세스 죽이기)
klogd (커널 로그 데몬)
ldd (공유 라이브러리의 의존성 알기)
less (페이지 단위로 출력하기)
let (정규식 표현하기)
lilo (부팅하기)
ln (링크하기)
locate (패턴에 맞는 파일 찾기)
login (로그인하기)
logger (시스템 로그 기록하기)
logname (사용자 로그인명 보여주기)
logout (로그인 셸 종료하기)
look (특정 단어 검색하기)
losetup (중복 장치 확인하기)
lpd (프린트 데몬)
lpq (현재 프린트 작업 상태 출력하기)
lpr (출력하기)
lprm (대기열에 있는 문서 삭제하기)
ls (디렉토리 내용보기)
lsattr (파일 시스템의 속성 보여주기)
lsdev (하드웨어 장치 출력하기)
lsmod (모듈 정보 출력하기)
mail (메일 관련)
make (컴파일하기)
man (매뉴얼 보기)
mattrib              (ms-dos 파일 속성변경)
mbadblocks      (MS-DOS 파일 시스템 배드블럭 표시)
mcd                 (MS-DOS 디렉토리 변경)
mcopy             (리눅스 도스간 파일복사)
mdel                (MS-dos 파일삭제)
mdeltree           (ms-dos 파일이나 디렉토리 삭제)
mdir                 (ms-dos 파일 목록보기)
mesg (메시지를 받을 수 있는지 확인하기)
mformat            (ms-dos 파일 시스템 만들기)
minfo                (ms-dos 파일 시스템에서 매개변수보기)
mkdir (디렉토리 만들기)
mke2fs (파일 시스템 생성하기)
mkfs (파일 시스템 만들기)
mknod (특수 파일 만들기)
mkswap (스왑 영역 지정하기)
mlabel               (ms-dos 디스크 레이블 만들기)
mmd                 (ms-dos 파일시스템 디렉토리 만들기 #mmd a:/testdir)
mmount             (ms-dos 파일 시스템 마운트)
mmove              (ms-dos 파일 옮기기 이름바꾸기)
mpartition           (커널모듈의 적재)
mount (장치 연결하기)
more (화면 단위로 출력하기)
mrd                   (ms-dos 디렉토리 삭제)
mren                 (ms-dos 파일이름 바꾸기)
mtoolstest          (특정드리이브를 지정하여 mtoolstest로 mtools설정 테스트)
mtype                (ms-dos 파일 내용보기)
mutt (메일 관련)
mv (파일 옮기기)
mzip
netstat (현재 네트웍 상황 보기)
nice (프로세스 우선 순위 변경하기)
od (8진수로 파일 보기)
passwd (암호 입력하기)
pidof (실행중인 프로그램의 프로세스 ID 찾기)
pine (메일 관련)
ping (네트웍 확인하기)
popd (pushd 취소)
ps (프로세스 纘?알기)
pstree (프로세스 상관관계 알기)
pwd (절대경로 보여주기)
quota (디스크 한계량 알기)
rarp (rarp 테이블 관리하기)
rcp (원격 호스트에 파일 복사하기)
rdev (루트, 스왑장치, 램 크기, 비디오 모드를 조사하고 설정하기)
rdate (네트웍으로 시간 설정하기)
reboot (재부팅하기)
rmmod (모듈 지우기)
readonly (읽기 전용으로 표시하기)
renice (프로세스 우선 순위 바꾸기)
reset (터미널 초기화하기)
restore (다시 저장하기)
rlogin (바로 접속하기)
rm (파일 지우기)
rmdir (디렉토리 지우기)
route (라우팅 테이블 추가/삭제하기)
rpm (프로그램 추가/삭제)
rpm2cpio (rpm을 cpio로 변환하기)
rsh (원격으로 명령어 실행하기)
rup (호스트 상태 출력하기)
rusers (호스트에 로그인한 사용자 출력하기)
rwall (호스트 사용자에게 메시지 뿌리기)
script (기록하기)
set (변수값 설정하기)
setup (시스템 관련 설정하기)
showmount (호스트의 마운트 정보 보여주기)
shutdown (전원 끄기)
sleep (잠시 쉬기)
source (스크립트 번역하기)
split (파일 나누기)
ssh (암호화된 원격 로그인하기)
stty (터미널라인 설정 보여주기)
su (계정 바꾸기)
suspend (셸 중단하기)
swapoff (스왑 해제하기)
swapon (스왑 활성화하기)
sync (버퍼 재설정하기)
syslogd (로그인 과정 설정하기)
tac (거꾸로 보기)
tail (문서 끝부분 출력하기)
talk (이야기하기)
tar (파일 묶기)
tcpdchk (tcp wrapper 설정하기)
tcpmatch (네트웍 요청에 대해 예측하기)
tee (표준 입력으로부터 표준 출력 만들기)
telnet (원격접속하기)
test (테스트하기)
times (셸에서의 사용자와 시스템 시간 출력하기)
top (cpu 프로세스 상황 보여주기)
tr (문자열 바꿔주기)
true (종료 코드 리턴하기)
type (유형 보기)
ul (밑줄 처리해서 보여주기)
ulimit (제한하기)
umask (매스크 모드 설정하기)
umount (장치 해제하기)
unalias (별명 제거하기)
uname (시스템 정보 보기)
unexpand (공백 문자를 탭으로 변환하기)
uniq (중복된 문장 찾기)
useradd (사용자 계정 만들기)
userdel (계정 삭제하기)
usermod (사용자 계정정보 수정하기)
unset (설정 변수 해제)
uptime (시스템 부하 평균 보여주기)
users (로그인된 사용자 보여주기)
w (시스템에 접속한 사용자 상황 알아보기)
wait (프로세스 기다리기)
wall (모든 사용자에게 메시지 보내기)
wc (문자, 단어, 라인수 세기)
whatis (명령어의 간단한 설명보기)
while (루프 명령어)
who (사용자 알기)
write (콘솔 상에서 간단한 메시지 보내기)
xcopy (반복적으로 복사하기)
XFree86
ypchfn (NIS에서 사용하는 chfn 명령어)
ypchsh (NIS에서 사용하는 chsh 명령어)
yppasswd (NIS에서 사용하는 passwd 명령어)
zcat (압축 파일 보기)
zcmp (압축 파일 비교하기)
zforce (강제로 gz 만들기)
zgrep (압축 상태에서 grep 실행하기)
zmore (압축 상태에서 more 실행하기) 

'리눅스' 카테고리의 다른 글

Unix/Linux 문자열 패턴 검색 (grep)  (0) 2019.12.23
[ LINUX ] tar 압축  (0) 2010.07.27
리눅스 설치 URL  (0) 2010.06.25
리눅스의 전반적인 개념(?)개요...  (0) 2010.06.25
리눅스 명령어 모음  (0) 2010.06.25

addbib  -  도서목록 형식의 데이터베이스를 만들거나, 확장
apropos  - 사용설명서의 키워드 검색
ar       -  라이브러리 만들기, 관리
at, batch - 원하는 시간에 원하는 명령을 실해하게 하는 명령
awk     - 패턴 검색과 언어 처리
banner   - 큰 글자(배너) 만들기
basename - 경로 이름에서 마지막에 있는 이름만 출력
biff     - 자신에게 편지가 배달되면 알려주는 명령
bin-mail, binmail - 예전에 사용한 전자우편 프로그램
cal     - 달력보기
calendar - 간단한 일정표
cat    - 파일 병합과 내용 보기
cb     - 간단한 C 프로그램 beautifier(?)
cc     - C 컴파일러
cd    - 작업 디렉토리 바꾸기
checknr - nroff 또는 troff 입력 파일 검사; 오류를 보여준다
chgrp  - 파일의 사용자 그룹 바꾸기
chmod - 파일의 접근 권한 바꾸기
clear  - 터미날 화면 깨끗이 하기
cmp   - 두 파일을 바이트 단위로 비교
colcrt  - troff 파일의 밑줄 속성 문자 처리
comm  - 지정 두파일의 줄 단위 비교와 그 처리
compress, uncompress, zcat - 파일 압축관련 유틸리티들
cp     - 파일 복사
cpio   - copy file archives in and out
cpp    - C 언어 전처리기
csh    - C 문법과 비슷한 쉘 스크립트 문법과 기타 여러 기능이 내장된 쉘
ctags  - ex 나 vi 편집기에서 사용될 tag 파일을 만드는 명령
date    - 시스템 시간 보기나 지정하기
dbx    - 소스 수준의 디버거
deroff  - nroff, troff, tbl, eqn 관련 내용 지움
df     - disk free: 디스크의 남은 용량 보기
diff    - 두 파일의 차이점 비교
du     - disk used : 디스크 사용량 보기
echo   - 인자를 표준 출력으로 출력

'리눅스' 카테고리의 다른 글

Unix/Linux 문자열 패턴 검색 (grep)  (0) 2019.12.23
[ LINUX ] tar 압축  (0) 2010.07.27
리눅스 설치 URL  (0) 2010.06.25
리눅스의 전반적인 개념(?)개요...  (0) 2010.06.25
리눅스 명령어 모음2  (0) 2010.06.25

+ Recent posts