18.1 찾은 파일에 대한 명령 수행 #
$ find . -name '*.tmp' -exec rm {} ;
{} 에는 find 로 찾은 파일의 완전한 경로명이 들어간다.
18.2 from kldp #
<sect1> find <label id='sect-find'>
<p>
하우투 문서는 파일 이름이나 /usr/doc/HOWTO/HOWTO-INDEX에서 대강의 내용을 짐작할 수 있습니다. 하우투 문서 안에서도 관련된 다른 문서들을 소개하기도 합니다. 그런 고리를 통해 리눅서는 읽어야 할 목록에 연결됩니다.
제목이나 문서 안내로 짐작할 수 없는 조그만 정보라도 더 얻고 싶다면 <ref id='sect-find' name='find'>, <ref id='sect-grep' name='grep'> 유틸리티로 특정 단어를 포함한 모든 파일을 검색할 수 있습니다. find와 grep 명령은 가장 많이 사용하는 명령입니다. 잘 알아두면 여러분의 리눅스 인생이 매우 쉬워질 것입니다. (이 글을 쓰는 동안에도 나는 find와 grep의 도움을 참 많이 얻고 있습니다.)
<bf/find 명령의 형식/
<p>
/usr/bin/find 명령은 다음과 같이 사용합니다.
$ <bf>find
path...
expression</bf>
<p>
path(경로)는 find 명령으로 찾아볼 디렉토리의 시작위치입니다. 경로 깊이를 따로 지정하지 않았다면 기본적으로 시작위치와 그 하위 디렉토리 모두를 검색합니다. 이 곳에 루트 디렉토리(/)를 지정한다면 find 명령은 파일 시스템 전체를 검색합니다.
expression(표현식)은 옵션과 테스트, 행동(action)으로 구성됩니다.
옵션(option)은 테스트와 상관없이 항상 적용됩니다.
<descrip>
<tag/ -maxdepth/
0이 아닌 정수값으로 경로 깊이를 지정합니다. '-maxdepth 1'은 시작위치로 지정한 디렉토리만 검색하고 하위 디렉토리는 찾지 않습니다. -mindepth 옵션은 반대로 동작합니다. 지정한 숫자만큼의 깊이부터 그 하위 디렉토리를 검색합니다.
<tag/ -xdev/
검색을 시작한 파일시스템에서만 검색을 수행하도록 설정합니다. 하위 디렉토리에 링크된 파일시스템은 검색하지 않습니다.
</descrip>
<p>
아래는 find 명령에서 사용되는 테스트입니다. 테스트에 사용되는 인수에는 보다 큰 수를 의미하는 +, 보다 작은 수를 의미하는 - 연산자와 함께 사용할 수 있습니다. 인수에 아무 연산자도 붙지 않는다면 정확히 그 값을 의미합니다.
<verb>
-atime N n일 전에 액세스(access)된 파일을 찾습니다.
-mtime N n일 전에 수정(modify)된 파일을 찾습니다.
-newer USR file보다 늦게 수정된 파일을 찾습니다.
-size n n*512 바이트 길이를 가지는 파일을 찾습니다.
-name WORD 파일 이름으로 검색합니다. 이름에는 메타 문자(*, ?, [])를
사용할 수 있습니다.
-perm MODE 퍼미션으로 검색합니다. (-perm +2000)
-type LETTER 파일형식으로 검색합니다. f는 보통 파일, d는 디렉토리
파일을 의미합니다.
-user USR 사용자 이름이 usr인 파일을 찾습니다.
-nouser 파일 소유자 이름이 등록되어 있지 않은 파일을 찾습니다.
-nogrp 파일 소유 그룹 이름이 등록되어 있지 않은 파일을 찾습니다.
</verb>
<p>
행동(action) 옵션은 조건(test)과 일치하는 파일에 대해 수행할 작업을 설정합니다.
<verb>
-exec CMD 명령(CMD)을 실행합니다. 명령행의 끝은 반드시 ; 로
닫아 주어야 합니다. 현재 찾은 파일이름의 배열을 {}로
입력으로 사용할 수 있습니다. 아래 명령은 확장자가 bak인
모든 파일을 찾아 삭제합니다.
find ./ -name '*.bak' -exec rm -f {} ;
-ok CMD 명령을 실행하기 전에 사용자 입력을 기다립니다.
-print 표준출력(stdout)으로 출력합니다. 기본설정입니다.
-ptint0 -print와 같이 동작하지만 출력의 끝에 개행문자를 붙이지
않습니다.
-fprint FILE -print와 같이 동작하면서 출력을 지정한 파일로 보냅니다.
-printf FORM c 스타일의 포맷을 사용하여 출력합니다.
man 3 printf
-ls ls -dils 형식으로 파일 정보를 자세히 출력합니다.
-fls -ls 와 같이 동작하면서 출력을 지정한 파일로 보냅니다.
51 How to use yum #
HOWTO use yum
Make sure you have yum installed and then read
FedoraSources to configure.
Now you can run the following commands:
yum list
List all available software.
yum check-update OR yum list updates
See if there are updated packages available.
yum update
어떤 면에서는 이를 위해 yum이 개발되었다고도 할 수 있는, 가장 중요하고 유용한 yum 명령어들 중의 하나이다. 이 명령은 시스템에 설치된 모든 패키지들을 저장소들에 있는 최신 버전으로 업데이트한다. 이는 시스템을 단순한 스크립트 하나로 최신의 상태로 유지할 수 있게 하며, 필요할 때 언제든지 어떤 패키지라도 업데이트할 수 있게 한다.
yum install <packagename>
Install specific package (and its dependencies, if missing any).
yum search <word>
Search all known packages entries (descriptions etc) for <word>.
yum info <packagename>
Show basic information about a package.
All of the above commands can take shell-style wildcards (*,?) instead of a package name. Check the yum man page for more details.
yum 에서의 설정 파일은 yum.conf 이다. 여기서 yum 의
MirrorList 를 설정할 수 있다.
56 586, 686 의 차이 #
-mcpu=cpu-type
Tune to cpu-type everything applicable about the generated code,
except for the ABI and the set of available instructions. The
choices for cpu-type are i386, i486, i586, i686, pentium, pentium-
mmx, pentiumpro, pentium2, pentium3, pentium4, k6, k6-2, k6-3,
athlon, athlon-tbird, athlon-4, athlon-xp, athlon-mp, winchip-c6,
winchip2 and c3.
While picking a specific cpu-type will schedule things appropri-
ately for that particular chip, the compiler will not generate any
code that does not run on the i386 without the -march=cpu-type
option being used. i586 is equivalent to pentium and i686 is
equivalent to pentiumpro. k6 and athlon are the AMD chips as
opposed to the Intel ones.
즉, i586 은 펜티엄이랑 동일하고 i686 은 펜티엄 프로랑 동일하니까 펜2 이상급은 거의 다 i686 이다. 흐음... 글쿤