다음 이전 차례

10. 나머지 1%

사실 1% 이상이다.

10.1 tar와 gzip의 사용

유닉스에서는 파일들을 한데 모으고 저장하는데 널리 사용되는 애플리케이션이 있다. tar는 파일들을 한데 모으는데 사용한다---tar는 마치 PKZIP이나 Winzip 에서 압축 기능이 빠진 것과 같다, 파일들을 한데 모으는 기능만 한다. 새로운 저장 파일을 만들려면 다음과 같이 입력한다.

        $ tar =cvf <archivve_name.tar> <file> [file...]           
저장 파일로부터 파일을 추출하려면:
        $ tar -xpvf <archive_name.tar> [file...]     
저장 파일의 내용을 보려면:
        $ tar -tf <archive_name.tar> | less  
compress를 사용하면 파일을 압축할 수 있다. 하지만 compress는 이제 한물 가서 더 이상 쓰이지 않으므로 qzip을 사용해야 한다.

        $ compress <file>
        $ gzip <file>                
이렇게 하면 확장자가 .Z인 파일(compress를 썼을 때)이나 .gz인 파일(gzip을 썼을 때)이 만들어진다. 이 프로그램들은 한번에 하나의 파일만 압축할 수 있다. 압축을 해제 할 때는:
        $ compress -d <file.Z>
        $ gzip -d <file.gz>  
RMP.

10.2 애플리케이션 설치

제일 먼저 : 패키지를 설치하는 것은 루트의 작업이다. 대부분의 리눅스 애플리케이션은 .tar.gz 아카이브 형태로 배포된다. 이 아카이브에는 보통 적당한 이름의 디렉토리가 들어 있으며 그 속에는 또 적절한 이름의 파일과 서브디렉토리가 들어 있다. 이런 패키지를 설치하는 방법은 대체로 /usr/local 에서 다음의 명령을 사용한 다음

        # tar -zxf <archive.tar.gz>          
그 다음 README나 INSTALL 파일을 읽으면 된다. 대부분의 경우 애플리케이션은 소스로 배포되어 컴파일 시켜야 한다. make를 입력한 다음 make install을 입력하면 충분한 경우가 흔하다. gcc나 g++ 컴파일러가 있어야 하는 것은 물론이다.

/ 에서 풀어야 하는 아카이브도 있다. Slackware의 .tgz 아카이브가 이런 경우다. 서브디렉토리는 없이 파일만 들어 이는 아카이브도 있다 - 이런 때는 파일들이 뒤 섞이지 않도록 주의해야 한다! 설치하기 전에 항상 내용물을 확인해보는 것이 좋다.

데비안과 레드햇은 각각 .deb와 .rpm의 자체 아카이브 포맷을 갖고 있다. .rpm은 점점 인기를 얻어가고 있는데 rpm 패키지를 설치하려면 다음과 같이 입력하면 된다.

        # rpm -i package.rpm            

10.3 꼭 알아 두어야 할 팁

백스크롤:

<SHIFT + PAG UP>를 누르면 위쪽 페이지들로 백스크롤 할 수 있다. 이 때 뒤로 갈 수 있는 페이지 양은 비디오 메모리에 따라 결정된다.

화면 재정리:

실수로 이진 파일에 more나 cat 명령을 사용하면 화면에 필요 없는 것들로 가득찬다. 이를 고치려면 화면에 나타나지 않더라도 그냥 'reset'을 입력하거나 echo CTRL-V ESC c RETURN을 차례대로 누르면 된다.

텍스트 붙여 넣기:

콘솔에서 아래를 보라;X 에서는 x터미널 창에 있는 텍스트를 선택하려면 클릭한 다음 드래그하고, 붙여 넣기는 가운데 버튼을(또는 2버튼 마우스를 사용하고 있다면 두 개의 버튼을 동시에) 누르면 된다. xclipboard도 있다(불행히도 텍스트에만 작동되지만); 반응이 느린 것 때문에 혼동하지 않도록.

마우스 사용:

콘솔용 마우스 드라이버인 gpm을 설치했다면 클릭+드래그로 텍스트를 선택하고 오른쪽 클릭으로 선택된 텍스트를 붙여 넣기 할 수 있다. 서로 다른 VC 들 간에 사용할 수 있다.

10.4 애플리케이션 찾기

오랫동안 사용해온 그 믿음직한 DOS/Win 애플리케이션들을 리눅스용으로 대체할 수 있는지 궁금할 것이다. 먼저 리눅스 소프트웨어 저장소들을 뒤져볼 것을 권한다. sunsite.unc.edu/pub/Linux, tsx-11.mit.edu/pub/linux, ftp.funet.fi/pub/Linux. 그 밖에 "Linux Applications and Utilities Page"인 www.xnet.com/~blatura/linapps.shtml과 리눅스 "공식" 페이지인 www.linux.org를 찾아보는 것도 좋다.

10.5 할 수 없는 몇 가지 것들

DOS/Windows에서는 작업이 귀찮거나 어렵거나 심지어는 불가능한 많은 작업들이 리눅스에서는 가능하다. 자 여기 식욕을 돋울만한 몇 개를 소개해보겠다.

at

는 특정 시간에 지정된 프로그램이 실행되도록 한다.

awk

는 데이터 파일을 조작하는 간단하지만 강력한 언어다. 예를 들어 data.dat를 멀티 필드 데이터 파일이라고 하자.

$ awk '$2   "abc" {print $1, "\t", $4}' data.dat

이 명령은 data.dat에 있는 모든 행 중 두 번째 필드에 "abc"가 들어 있는 행들의 1과 4번 필드를 프린트한다.

cron

은 특정 요일의 특정 시간에 주기적으로 필요한 작업에 쓸모가 있다. man 5 crontab을 입력해보라.

file

<filename>은 filename이 무엇인지 알려준다(ASCII 텍스트, 실행, 아카이브 등);

find

는 가장 강력하고 유용한 명령 중 하나이다( "Directories: Translating Commands" 섹션을 참조하라). 이는 해당 문자를 포함한 파일을 찾거나 그 파일에 어떤 명령을 수행하는데 사용한다. find의 일반적인 사용은 다음과 같다.

$ find <directory> <expression>

여기에서 <expression>에는 검색 규범과 행동이 포함된다. 예:

$ find . -type l -exec ls -l {} \;

이 명령은 모든 symbolic link를 찾아서 그것이 지시하는 것이 무엇인지 보여준다.

$ find / -name "*.old" -ok rm {} \;

이 명령은 지정된 패턴에 해당되는 파일을 모두 찾아서 당신에게 허락을 요구한 다음 지운다.

$ find . -perm +111

이 명령은 permission이 111인(실행파일) 모든 파일을 찾는다.

$ find . -user root

이 명령은 root에 속하는 모든 파일을 찾는다. 이 경우 여러 가지 가능성이 있다---RMP.

grep

는 파일 내에서 지정 텍스트 패턴을 찾는다. 예를 들면,

$ grep -l "geology" *.tex

이 명령은 'geology'란 단어가 들어가 있는 *.tex 파일들을 나열한다. 이의 변형인 zgrep는 gzip으로 압축된 파일에 실행된다. RMP;

일반 표현들은 매우 복잡하지만 텍스트에 검색 작업을 수행하는 방식이 아주 강력하다. 예를 들어 ^a[^a-m]X{4,}txt$는 'a'로 시작하고 그 뒤에 a-m 사이에 들어가지 않는 문자로 시작하고 그 뒤에는 'X'가 4개 이상 들어가고 txt로 끝나는 행을 찾는다. less와 같은 고급 편집기를 비롯하여 다른 많은 애플리케이션에서 일반 표현을 사용한다. man grep 하여 설명을 읽어보라.

script

<script_file>은 종료 명령을 내릴 때까지 화면 내용을 script_file에 덤프 한다. 디버깅을 할 때 유용하다.

sudo

는 root의 작업 중 일부를 사용자들이 수행할 수 있게 해준다(예, 디스크의 포맷과 마운팅; RMP)

uname -a

는 시스템에 대한 정보를 알려준다.

zcat과 zless

는 gzip으로 압축된 파일들을 압축해제하지 않고 브라우징하고 파이핑하는데 유용하다.

예를 들어: $ zless textfile.gz $ zcat textfile.gz | lpr

다음의 명령들도 가끔 편리할 때가 많다. bc, cal, chsh, cmp, cut, fmt, head, hxdump, nl, passwd, printf, sort, split, strings, tac, tail, tee touch, uniq, w, wall, wc, whereis, write, xargs, znew. RMP.

10.6 DOS/Windows에서 유닉스 연습

믿거나 말거나, DOS/Windows에서 유닉스 비슷한 환경을 제공하는 훌륭한 툴들이 많이 있다. 그 중 하나가 Djgpp 수트다 DOS용은 ( www.delorie.com/djgpp) Win32용은 Cygnus ( www.cygnus.com)다. Cygnus는 제법 복잡한 툴이다. 둘 다 리눅스처럼 GNU 개발툴과 유틸리티가 들어 있다. 하지만 동일한 안정성과 성능을 얻을 수는 없다.

리눅스 맛을 조금 보고 싶으면 Djgpp를 시험해보라. 다음의 파일들을 받아서 설치해본다. (이 글을 쓰고 있는 시점에서 가장 최신 버전은 2.02이다): djdev202.zip, bnu281b.zip, bsh1147b.zip, fil316b.zip, find41b.zip, grep22b.zip, gwk303b.zip, lss332b.zip, shl112b.zip.. 설치 방법이 제공되어 있으며 <news:comp.os.msdos.djgpp> 에서 도움을 얻을 수 있다.

특히 DOSWin에서 bash를 사용하면 상큼한 기분이 들 것이다. 설정을 하려면 함께 제공되는 BOOT.BAT를 편집하여 자신의 설치에 맞게 고친다. 그런 다음 이 파일들을 홈 디렉토리(Windows 파티션의)에 제공된 것들 대신 넣는다.


        # 이것은 _bashrc 다
        LS_OPTIONS="-F -s --color=yes"
        alias cp='cp -i'
        alias d='ls -l'
        alias l=less
        alias ls="ls $LS_OPTIONS"
        alias mv='mv -i'        alias rm='rm -i'
        alias u='cd ..'

# 이것은 _bprof 이다
if [ -f ~/_bashrc ]; then
        .~/_bashrc
fi
PS1='\w\$ 
'PS2='> 'CDPATH="$CDPATH:~"
# less(1)을 위한 것들
LESS="-M-Q"                     # 긴 프람프트, 침묵
LESSEDIT="%E ?lt+%lt. %f"       # 제일 첫 번 행을 편집
VISUAL="jed"                    # 에디터
LESSCHARSET=latin1              # 강조된 문자들을 시각화
export PS1 PS2 CDPATH LS_OPTIONS LESS LESSEDIT LESSOPEN VISUAL LESSCHARSET

10.7 일반적으로 사용하는 확장자와 관련 프로그램

여러 파일 확장자들을 보게 될 것이다. 좀 희귀한 것들(예, 폰트 등)을 제외하고 보편적으로 사용되는 것들이 나열해 보았다.

1 ... 8: man 페이지들. groff -Tascii -man <file.1>을 사용하여 읽어보라.

arj:

arj로 만든 아카이브.

dvi:

TeX로 만든 출력 파일 (아래 참조). xdvi를 사용하면 시각화 할 수 있다. dvips는 PostScript 파일인 .ps 파일로 바꾸어준다.

gz:

gzip으로 만든 아카이브

info:

info 파일 (man 페이지의 일종의 대치품). 정보를 얻는다.

lsm:

Linux Software Map 파일. 보통의 ASCII 파일로 패키지에 대한 설명이 들어 있다.

ps:

포스트스크립트 파일. 이 파일을 보거나 인쇄하려면 gs에 꼭 필요한 것은 아니지만 ghostview나 gv를 사용한다.

rpm:

Red Hat 패키지. 패키지 매니저인 rpm을 사용하여 어느 시스템에나 설치할 수 있다.

taz, tar.Z:

tar로 한데 모으고 compress로 압축한 아카이브

tgz, tar.gz:

tar로 한데 모으고 gzip으로 압축한 아카이브

tex:

강력한 조판 시스템인 TeX에 보내지는 텍스트 파일. 여러 배포판이 나와 있는 tex 패키지를 구해서 쓴다.

texi:

texinfo 파일. TeX와 info 파일을 모두 만들 수 있다.(info 참조). texinfo를 구해서 사용한다.o xbm, xpm, xwd: 그래픽 파일

Z:

compress로 만든 아카이브

10.8 파일 변환

DOS/Win과 리눅스 사이에 텍스트 파일들을 교환할 필요가 있으면 "end of line" 문제에 주의해야 한다. DOS에서는 텍스트의 모든 행이 CR/LF(즉 ASCII13 + ASCII 10)으로 끝나고 리눅스에서는 LF로 끝난다. DOS 텍스트 파일을 리눅스에서 편집하면 각 행은 이상한 M 모양 비슷한 문자로 끝날 가능성이 높다. 리눅스 텍스트 파일을 DOS에서 보면 문단 구분이 없는 아주 아주 긴 하나의 행으로 나타난다. 도스와 리눅스 사이의 파일 변환을 하는 툴로 dos2unix와 unix2dos 두 개가 있다.

텍스트로만 된 파일에 강조 문자가 들어 있다면 보통 DOS가 아니라 Windows에서(Notepad)로 만들어진 것인지 확인하라. 그렇지 않으면 모든 강조 문자들이 엉망이 될 것이다.

Word나 WordPerfec 파일을 일반 텍스트로 변환하는 것은 좀 다 까다롭지만 가능하다. 이를 위해서는 CTAN 싸이트에서 발견할 수 있는 툴이 필요하다. 그 중 하나가 ftp.tex.ac.uk 이다. /pub/tex/tools/ 디렉토리에서 word2x 프로그램을 받거나 /pub/tex/support/ 디렉토리에 있는 프로그램 중 하나를 사용해보라. 특히 word2x는 Word 6 파일을 변환 하는데, Word 97 파일의 변환을 위해선 HTML로 변환하는 mswordview ( www.csn.ul.ie/~caolan/docs/MSWordView.html)가 필요하다.

10.9 자유 오피스 수트

파일 변환만 갖고는 충분하지 않다면 마이크로소프트 오피스 비슷한 패키지를 선택할 수도 있다.

StarOffice 수트는 개인 사용은 자유이다. 이 수트는 크고 속도가 좀 느리긴 하지만 아주 좋다. 마이크로소프트 오피스에는 없는 기능들도 많이 제공된다. 비록 변환이 항상 완벽한 것은 아니지만 Word와 Excel 파일도 읽고 쓸 수 있다. 홈페이지는 : www.stardivision.com.


다음 이전 차례