태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

'Linux'에 해당되는 글 6건

  1. 2012.01.27 Linux 사용자 접속정보 보기
  2. 2011.05.23 리눅스 NTFS 외장하드 마운트
  3. 2009.11.20 리눅스 서버 점검 도구 - Linux System Check Project ; LSCP (2)
  4. 2009.06.16 Unix 장비별 MAC Address 확인 방법
  5. 2009.06.12 find 명령 활용 (2)
  6. 2008.10.12 RPM 명령

Linux 사용자 접속정보 보기

ⓔ Forensic 2012.01.27 20:55
명령어 모음

1. last(/var/log/wtmp 파일의 정보를 이용해 사용자들의 로그인 정보 열람)
 - last 계정명 : 계정 로그인 정보 확인
 - last reboot : 시스템 재시작 정보 확인
 - last -t YYYYMMDDHHMMSS : 'YYYYMMDDHHMMSS'의 부분은 특정 날짜와 시간을 의미. 특정일시 이전에 접속한 사용자들에 대한 접속정보 확인

2. lastlog(/var/log/lastlog 파일의 정보를 이용해 사용자들의 마지막 로그인 정보 열람)

'ⓔ Forensic' 카테고리의 다른 글

[Volatility] 메모리덤프에서 실행파일 추출하기  (0) 2012.05.03
carving malware from live memory  (0) 2012.04.17
Linux 사용자 접속정보 보기  (0) 2012.01.27
Oxygen Forensic  (0) 2011.12.10
MOBILedit  (0) 2011.12.09
인터넷 소아성애자 조사 소프트웨어  (0) 2011.05.04
Trackbacks 0 : Comments 0

Write a comment


리눅스 NTFS 외장하드 마운트

┃ Linux 2011.05.23 09:37

1. 아래 링크에서 모듈을 다운받아서 압축풀고 설치!!


./configure
make
make install # or 'sudo make install' if you aren't root


2. 인식된 외장하드 경로 알아보기
fdisk -l
* 웬만하면 외장저장매체는 /dev/sda 임.

3. /mnt 아래에 폴더 만들기
cd /mnt
mkdir USB

4. 마운트하기
mount -t ntfs-3g /dev/sda1 /mnt/USB
* mount -t ntfs-3g (외장하드 경로) (마운트할 경로)
Trackbacks 0 : Comments 0

Write a comment


리눅스 서버 점검 도구 - Linux System Check Project ; LSCP

┃ Linux 2009.11.20 15:23

SULinux 측에서 SSU의 업그레이드 버전인 LSCP https://www.sulinux.net/bbs/board.php?bo_table=news_2&wr_id=190 를 11월 초에 공개했다. 보안, 시스템 리소스, 시스템 상태를 효율적이고 쉽게 점검 할 수 있는 솔루션을 무료로 제공하는 취지로 마련됐다. SULinux 패키지에는 이미 SSU가 있는데 기능이 크게 향상되어 나온 것이다. 다운로드는 http://sourceforge.net/projects/lscp/ 를 참고하기 바란다.

< 원문 보기 >

관리자에게 좋은 도구인 것 같습니다.

Trackbacks 0 : Comments 2
  1. Favicon of http://hello.bubblecocktail.kr BlogIcon 우깡 2009.11.22 01:38 Modify/Delete Reply

    저도 저거 설치 했는데
    괜찮더군요~~~

    그런데...
    문제는 보고서가 메일로 올때마다 한글이 깨져 와서 곤란하답니다.ㅠ

Write a comment


Unix 장비별 MAC Address 확인 방법

┃ Linux 2009.06.16 10:16
1. Linux : ifconfig -a (/sbin/ifconfig -a)
 
-----------------------------
eth0   Link encap:Ethernet HWaddr 00:50:xx:xx:xx:xx
     inet addr:192.168.1.100 Bcast:192.168.123.255 Mask:255.255.255.0
... 생략 ...
#
-----------------------------
 
2. Solaris : ifconfig -a (root로 실행해야 합니다.)
 
-----------------------------
# ifconfig -a
hme0: flags=863 mtu 1500
    inet 192.168.1.100 netmask ffffff00 broadcast 192.168.1.255
    ether 8:0:xx:xx:xx:xx
#
-----------------------------
 
3. AIX : lscfg -vp 또는 lscfg -vpl
 
-----------------------------
# lscfg -vpl ent0
 
 DEVICE      LOCATION     DESCRIPTION
 
 ent0       21-08       IBM 10/100 Mbps 이더넷 PCI 어댑터
                   (23100020)
 
    Network Address.............0006xxxxxxxx
    Displayable Message.........PCI Ethernet Adapter (23100020)
    Device Specific.(YL)........P1/E1
... 생략 ...
#
-----------------------------
 
4. HP-UX : lanscan
 
-----------------------------
# /etc/lanscan
Hardware Station      Crd Hardware Net-Interface NM Mac  HP DLPI Mjr
Path   Address      In# State  NameUnit State ID Type  Support Num
2/0/2  0x0800xxxxxxxx  0  UP   lan0   UP  4  ETHER  Yes  52
#
-----------------------------
 
5. Digtal UNIX : netstat -in 또는 uerf
 
-----------------------------
# netstat -in
Name Mtu  Network   Address        Ipkts Ierrs  Opkts Oerrs Coll
... 생략 ...
fta0 4352    00:00:xx:xx:xx:xx 13775882   0 13642091   0 0
#
-----------------------------
 
6. SGI : nvram |grep eaddr 또는 netstat -ia
 
-----------------------------
# nvram |grep eaddr
eaddr=08:00:xx:xx:xx:xx
#
-----------------------------


출처 : http://charmpa.egloos.com/1599445

'┃ Linux' 카테고리의 다른 글

리눅스 서버 점검 도구 - Linux System Check Project ; LSCP  (2) 2009.11.20
우분투 패키지 관리 apt 명령  (0) 2009.07.24
Unix 장비별 MAC Address 확인 방법  (0) 2009.06.16
find 명령 활용  (2) 2009.06.12
RPM 명령  (0) 2008.10.12
[CentOS] J2SDK + TOMCAT 5 + JK2  (0) 2008.09.07
Trackbacks 0 : Comments 0

Write a comment


find 명령 활용

┃ Linux 2009.06.12 13:20
리눅스에서 find 명령은 굉장히 유용하다는 것을 아실겁니다. 활용팁으로 free4u님 블로그에서 퍼왔습니다.

링크보다는 저도 이런 자료 자주 참고하기 위해 통째로 퍼왓으니 양해부탁드립니다.^^;



----------------------------------------------------------------------------------------------

출처 : http://free4u.wo.tc/weblog/?document_srl=11948&mid=blog&rnd=11979#comment_11979


svn 업데이트후 불필요해진 .svn파일과 디렉토리 삭제

 find . -type d -name .svn -print0 | xargs -0 rm -rf


소유권 일괄 변경

 find / -user userid -exec chown 변경후userid.변경후GROUP {} \;


빈 디렉토리만 삭제

 find / -empty -type d -exec rm -rf {} \;

 

파일 검색시 특정 디렉토리 제외

/usr/local/apache/log 디렉토리를 제외한 모든 log파일 검색

 find / -path '/usr/local/apache/log' -prune -o -name "*.log"

기타 find 관련팁은 계속 추가하도록 하겠습니다.


--------------------------------------------------------------------


이하 김칠봉님과 삶의 여유님이 작성한 문서들 입니다.


제목 : [팁] find + xargs + ls 명령어 몇가지 활용
작성자 : 김칠봉 <san2(at)linuxchannel.net>
원본 링크 : http://www.linuxchannel.net/docs/find-xargs-ls.txt

 목차
1. 가장 일반적인 find 명령어

2. find 명령어 일반적인 옵션
2-1. 사용법 개요
2-2. 일반적으로 표현식 옵션 구분
3-3. 자주 사용되는 표현식 옵션
3-4. path(find 명령어 다음의 path)
3-5. 표현식-연산자

3. 예제
3-1. 다른 명령어와 결합형태(ls,xargs)
3-2. 퍼미션 관련 예제
3-3. 유저와 관련된 예제
3-4. 팁
- 최근 하루(1) 동안(-)에 변경(change)된 파일을 찾을려면(-ctime)?
- 오래된 파일을 찾을려면(30일 이상 수정(modify))되지 않은)?
- 최근 30일(30) 안에(-) 접근(access)하지 않은 파일과 디렉토리를 리스트로 만들려면(-atime)?
- 자신의 홈디렉토리에서 만 검색하려면?
- 서브 디렉토리로 내려가지 않고 현재 디렉토리에서만 검색하려면?
- 특정 유저(foobar) 소유의 파일을 찾을려면?
- 퍼미션이 777인 파일을 찾을려면 ?
- others에게 쓰기 권한이 있는 파일을 찾을려면?
- others에게 쓰기 권한이 있는 파일을 찾아 쓰기 권한을 없애려면?
- 유저이름과 그룹이름이 없는 파일을 찾을려면?
- 빈 파일을 찾을려면?
- 파일크기가 100M 이상된 파일을 찾을려면?
- *.bak 파일을 찾아 지울려면?
- *.bak 파일을 찾아 특정 디렉토리로 옮길려면?
- 디렉토리 만 찾을려면?
- root권한으로 실행되는 파일을 찾을려면?
- 다른 파일시스템을 검색하지 않을려면?
- 파일이름에 공백이 들어간 파일을 찾을려면?
- 숨겨진(hidden) 파일을 찾을려면?
- 같은 이름을 가진 디렉토리를 찾을려면?
- 잘못된 링크를 찾을려면?

4. find 명령어에 대해서 좀더 알아보려면?

------------------------------------------------------------

1. 가장 일반적인 find 명령어

# find /path -name "foobar" -print

제일 먼저(?) 배우는 형식이 아닌가 쉽군요.


2. find 명령어 일반적인 옵션

2-1. 사용법 개요

find 명령어 사용법 보기 :

# find --help
# man find (직접 입력해 보세요. 내용이 너무 많아서..)

사용법 : find [path...] [expression]
기본값 : default path는 현재 디렉토리; default expression은 -print

표현식(expression) 구성 :
operators (decreasing precedence; -and is implicit where no others are given):
( EXPR ) ! EXPR -not EXPR EXPR1 -a EXPR2 EXPR1 -and EXPR2
EXPR1 -o EXPR2 EXPR1 -or EXPR2 EXPR1 , EXPR2
options (always true): -daystart -depth -follow --help -maxdepth LEVELS -mindepth LEVELS
-mount -noleaf --version -xdev
tests (N can be +N or -N or N):
-amin N -anewer FILE -atime N -cmin N
-cnewer FILE -ctime N -empty -false -fstype TYPE -gid N -group NAME
-ilname PATTERN -iname PATTERN -inum N -ipath PATTERN -iregex PATTERN
-links N -lname PATTERN -mmin N -mtime N -name PATTERN -newer FILE
-nouser -nogroup -path PATTERN -perm [+-]MODE -regex PATTERN
-size N[bckw] -true -type [bcdpfls] -uid N -used N -user NAME
-xtype [bcdpfls]
actions:
-exec COMMAND ; -fprint FILE -fprint0 FILE -fprintf FILE FORMAT
-ok COMMAND ; -print -print0 -printf FORMAT -prune -ls

간단하게 몇가지만 알아보죠...
(자세한 사용설명은 꼭 man 페이지를 읽어보세요....한글은 없군요..T.T)


2-2. 일반적으로 표현식 옵션 구분

-a'xxxx'
'xxxx'에 대한 Access(접근)
-c'xxxx'
'xxxx'에 대한 Changes(변경), 마지막으로 Access한 경우 변경됨
-m'xxxx'
'xxxx'에 대한 Modify(수정), 파일내용 자체 수정한 경우
-i'xxxx'
'xxxx'(inum 제외)에 대한 Insensitive(대소문자 구분없이)

3-3. 자주 사용되는 표현식 옵션

N
정확하게 N과 일치
+N
N 보다 큰 경우
-N
N 보다 작은 경우
-name PATTERN
PATTERN에 일치하는 파일 찾기, 와일드카드 문자 사용가능
-iname PATTERN
PATTERN에 일치하지 않은(insensitive) 파일 찾기
-perm [+-]mode
PERMission('mode')에 해당되는 파일 찾기, ls와 결합 가능
-type [bcdpfls]
b(블럭파일), c(특정 문자), d(디렉토리), p(파이프),
f(정규표현 일반파일), l(링크), s(소켓) 유형의 파일 찾기
-size N[bckw]
파일 크기가 N 인 파일 찾기
b(블럭-기본값), c(bytes), k(kbytes),
w(2바이트 단어)
-user NAME
NAME은 유저이름이거나 UID
-atime N
N*24 시간 동안에 Access 한 파일
-ctime N
N*24 시간 동안에 Changes 한 파일(내용수정이 아니고 읽기모드도 Changes됨)
-mtime N
N*24 시간 동안에 Modify 한 파일
-empty
파일이 비어 있고(0 bytes), 정규식 파일이거나 디렉토리
-newer FILE
FILE 보다 최근에 갱신된 파일
-path PATTERN
path가 PATTERN과 일치하는 path에 대해서 검색
-regex PATTERN
파일이름이 PATTERN에 일치하는 정규식에 대해서 검색
-inum N
inode N을 갖는 파일
-nouser,-nogroup
USER나 GROUP에 이름이 없는 파일 검색(UID,GID만 있는 파일)
-exec COMMAND
검색된 파일을 찾으면 COMMAND 명령을 실행한다.
COMMAND 인자(검색된 파일)는 {}으로 사용하며,
이때 COMMAND 끝은 \;(;이 아님)을 사용해야 한다. 즉 명령구분
문자인 ';'을 탈출(\)시켜줘야 한다.
-ok COMMAND
-exec COMMAND와 같지만 COMMAND를 실행하기 전에 확인을 요청한다.

3-4. path(find 명령어 다음의 path)
.
현재 디렉토리(기본값이므로 생략해도 됨)
`pwd`
현재 디렉토리와 결합(?) `은 ~문자가 있는 자판
$(pwd)
위의 `pwd`와 같거나 비슷함
/
최상위 루트 디렉토리에서 하위 모든 디렉토리
/home
특정 /home 디렉토리에서 하위 모든 디렉토리
/{usr,home/{aaa,san2},var}
/usr, /usr/home/aaa /usr/home/san2 /var

3-5. 표현식-연산자

\( 표현식 \)
'표현식'을 우선적으로 먼저 수행
(와 )앞에 \를 넣어야 하며, '표현식'과 공백을 각각 둔다.
\( A + B \) * \( C + D \) 와 같이 \(, \)안을 우선적으로 수행
! 표현식 , -not 표현식
'표현식'을 부정
표현식1 -a 표현식2, 표현식1 -and 표현식2
표현식1과 표현식2의 AND 연산
표현식1 -o 표현식2, 표현식1 -or 표현식2
표현식1과 표현식2의 OR 연산


3. 예제

3-1. 다른 명령어와 결합 형태(ls,xargs)

찾는 것 그 차체 만으로 만족(?) 할 수 도 있지만 그 결과에 대해서 어떤 행동(Actions)을 취할 필요가 있습니다.

형태1. -exec 이용시

# find ..... -exec COMMAND {} \;

형태2. xargs 명령어로 표준 입력받아 COMMAND 수행

# find ..... | xargs COMMAND

형태3. ls 명령어로 최종 결과 출력

# ls -l `find .....[COMMAND]`
또는
# find .... ls
(ls는 ls -dils와 같음)

xargs
xargs rpm 정보보기
# rpm -qi `rpm -qf $(which xargs)`
또는
# rpm -qf `which xargs` | xargs rpm -qi

즉, find 결과에 대해서,

형태1은 -exec를 사용하여 그 인자를 {}로 사용하고,

형태2는 xargs 명령어로 find에서 넘어온 결과(표준출력)에 대해서 COMMAND를 실행하고,

형태3은 오른쪽의 find 결과물에 대해서 ls 명령어를 실행합니다.
간혹 '/bin/ls Argument list too long'이라는 에러를 낸 경우도 있습니다.
이는 검색조건에 너무 많은 와일드카드 문자로 찾을 경우에 그렇습니다.
이를 테면 /*/*/*.*/.*,

`은 ~문자가 있는 자판(역인용부호).

ls -l 명령어를 사용할 경우, 찾는 결과가 없다면 모두 출력됩니다.
(ls -l와 같기 때문에)
ls 명령어와 마찬가지로 다른 명령어(chmod, chmod)를 결합하여 사용할 경우 그 찾는
결과가 없다면 명령어에 대한 에러를 내겠죠.
(chmod 'null')과 같은 예..........

# find /{home,usr/{src,local/src}} -nouser -o -nogroup -exec ls -l {} \; -print | more
# find /{home,usr/{src,local/src}} -nouser -o -nogroup -print | xargs ls -l | more

위의 2개의 명령어 대해서 직접 테스트 해보세요...

전자의 경우, 아마 아무것도 출력되지 않을 겁니다.

# find /{home,usr/{src,local/src}} \( -nouser -o -nogroup \) -exec ls -l {} \; -print | more

위와 같이 해야 맞겠죠...(우선순위)

후자의 경우도 마찬가지로 다음과 같이 우선순위를 정해놓아야 겠지요..
아마 원하는 출력이 이 경우일 것 같군요.

# find /{home,usr/{src,local/src}} \( -nouser -o -nogroup \) -print | xargs ls -l | more


3-2. 퍼미션 관련 예제

othesrs에 쓰기(w:2) 권한이 있는 모든(-기호를 붙임) 파일 리스트를 찾을려면?

# find `pwd` -perm -2 -print | xargs ls -l

여기에서 2는
퍼미션이 -------w- 와 일치하는 파일이며 -의 의미는 rwx-중 하나.

왜 2인가요?
만약 퍼미션이 755 이라면,

700 : rwx------ : user
50 : ---r-x--- : group
5 : ------r-x : others
------------------------
755 : rwxr-xr-x : others는 읽기와 실행 권한

따라서 others의 권한은 8진수로 5(r+x)이다.

그렇다면, others가 쓰기(w:2) 권한은 당연히 -------w-

그룹이나 others에게 쓰기 권한이 있는 파일일 경우

-perm -20 -o -perm -2

그룹과 others에게 모두 쓰기 권한이 있는 파일일 경우

-perm -22

[others에게 w 권한이 있는 파일에 w 권한 없애기]

방법1)
1. others에게 w 권한이 있는 파일 리스트 출력

# find `pwd` -perm -2 -print | xargs ls -l | more
(만약 매치되는 리스트가 없다면 전부 출력함)

2. others에게 w 권한을 없애기

# find `pwd` -perm -2 -print | xargs chmod o-w
(만약 매치되는 리스트가 없다면 chmod에 에러를 냄)

방법2) 방법1)의 과정을 한꺼번에 할 경우

# find `pwd` -perm -2 -exec chmod o-w {} \; -print | xargs ls -l
또는
# ls -l `find $(pwd) -perm -2 -print | xargs chmod o-rwx` | more

이 경우는 퍼미션이 조정된 결과를 출력함.


3-3. 유저와 관련된 예제

UID와 GID에 대한 유저가 없는 파일을 root.root로 바꾸어 보죠.

1) 먼저 리스트를 출력해 보자.(확인해야하니깐)

# find . \( -nouser -o -nogroup \) -print | xargs ls -l | more

2) 확인했으면, chown root.root 명령을 내리자.

# find . \( -nouser -o -nogroup \) -print | xargs chown root.root | more
또는
# find . \( -nouser -o -nogroup \) -exec chown root.root {} \; -print | xargs ls -l
(chown root.root 의 결과를 ls -l)


3-4. 유용한 팁

*주의) ***********************************************
-a'xxxx'
'xxxx'에 대한 Access(접근), 읽기
-c'xxxx'
'xxxx'에 대한 Changes(변경), 마지막으로 Access한 경우에도 변경됨
-m'xxxx'
'xxxx'에 대한 Modify(수정), 파일내용 자체 수정한 경우
*****************************************************

- 최근 하루(1) 동안(-)에 변경(change)된 파일을 찾을려면(-ctime)?

# find / -ctime -1 -a -type f | xargs ls -l | more

- 오래된 파일을 찾을려면(30일 이상 수정(modify))되지 않은)?

# find / -mtime +30 -print | more

- 최근 30일(30) 안에(-) 접근(access)하지 않은 파일과 디렉토리를 리스트로 만들려면(-atime)?

# find / ! \( -atime -30 -a \( -type d -o -type f \) \) | xargs ls -l > not_access.list

- 자신의 홈디렉토리에서 만 검색하려면?

# find $HOM ...
또는
# find ~root ...

- 서브 디렉토리로 내려가지 않고 현재 디렉토리에서만 검색하려면?

# find . -prune ...

- 특정 유저(foobar) 소유의 파일을 찾을려면?

# find / -user foobar -print | more

- 퍼미션이 777인 파일을 찾을려면 ?

# find / -perm 777 -print | xargs ls -l | more

- others에게 쓰기 권한이 있는 파일을 찾을려면?

# find / -perm -2 -print | xargs ls -l | more

- others에게 쓰기 권한이 있는 파일을 찾아 쓰기 권한을 없애려면?

# find / -perm -2 -print | xargs chmod o-w
또는
# find / -perm -2 -exec chmod o-w {} \; -print | xargs ls -l | more

- 유저이름과 그룹이름이 없는 파일을 찾을려면?

# find / \( -nouser -o -nogroup \) -print | more

- 빈 파일을 찾을려면?

# find / -empty -print | more
또는
# find / -size 0 -print | more

- 파일크기가 100M 이상된 파일을 찾을려면?

# find / -size +102400k -print | xargs ls -hl

- *.bak 파일을 찾아 지울려면?

# find / -name "*.bak" -exec rm -rf {} \;

- *.bak 파일을 찾아 특정 디렉토리로 옮길려면?

# mv `find . -name "*.bak"` /home/bak/

- 디렉토리 만 찾을려면?

# find . -type d ...

- root권한으로 실행되는 파일을 찾을려면?

# find / \( -user root -a -perm +4000 \) -print | xargs ls -l | more

- 다른 파일시스템을 검색하지 않을려면?

# find / -xdev ...

- 파일이름에 공백이 들어간 파일을 찾을려면?

# find / -name "* *" -print

- 숨겨진(hidden) 파일을 찾을려면?

# find / -name ".*" -print | more

- 같은 이름을 가진 디렉토리를 찾을려면?

# find / -type d -print | awk -F/ '{printf("%s\t%s\n",$NF,$0);}' | sort| more
*주)'O'Reilly Unix Power Tools' 참고

- 잘못된 링크를 찾을려면?

# find . -type l -print | perl -nle '-e || print' | xargs ls -l
*주)'O'Reilly Unix Power Tools' 참고





제목 : 유용한 find 사용 방법
작성자 : 삶의 여유
출처 : http://linuxer.mireene.com/bbs/zboard.php?id=tips&no=40

* / 는 최상위 디렉터리를 뜻함. 만약 찾고자 하는 디렉터리가 있다면 그걸로 대체

- 파일 이름에 foobar 가 들어간 파일 찾기
   find / -name "foobar" -print

- 특정 사용자(foobar) 소유의 파일을 찾기
   find / -user foobar -print | more

- 최근 하루 동안에 변경된 파일을 찾기
   find / -ctime -1 -a -type f | xargs ls -l | more

- 오래된 파일(30일 이상 수정되지 않은 파일) 찾기
   find / -mtime +30 -print | more

- 최근 30일안에 접근하지 않은 파일과 디렉터리를 별도의 파일로 만들기
   find / ! ( -atime -30 -a ( -type d -o -type f ) ) | xargs ls -l > not_access.txt

- 하위 디렉터리로 내려가지 않고 현재 디렉터리에서만 검색하기
   find . -prune ...

- 퍼미션이 777 인 파일 찾기
   find / -perm 777 -print | xargs ls -l | more

- others 에게 쓰기(write) 권한이 있는 파일을 찾기
   find / -perm -2 -print | xargs ls -l | more

- others 에게 쓰기(write) 권한이 있는 파일을 찾아 쓰기 권한을 없애기
   find / -perm -2 -print | xargs chmod o-w
      또는
   find / -perm -2 -exec chmod o-w {} \; -print | xargs ls -l | more

- 사용자이름과 그룹이름이 없는 파일 찾기
   find / ( -nouser -o -nogroup ) -print | more

- 빈 파일(크기가 0 인 파일) 찾기
   find / -empty -print | more
      또는
   find / -size 0 -print | more

- 파일 크기가 100M 이상인 파일을 찾기
   find / -size +102400k -print | xargs ls -hl

- 디렉터리만 찾기?
   find . -type d ...

- root 권한으로 실행되는 파일 찾기
   find / ( -user root -a -perm +4000 ) -print | xargs ls -l | more

- 다른 파일시스템은 검색하지 않기
   find / -xdev ...

- 파일 이름에 공백이 들어간 파일 찾기
   find / -name "* *" -print

- 숨겨진(hidden) 파일을 찾기
   find / -name ".*" -print | more

- *.bak 파일을 찾아 지우기
   find / -name "*.bak" -exec rm -rf {} \;

- *.bak 파일을 찾아 특정 디렉터리로 옮기기
   mv `find . -name "*.bak"` /home/bak/

- 여러 개의 파일에서 특정 문자열을 바꾸기
   find / -name "*.txt" -exec perl -pi -e 's/찾을문자열/바꿀문자열/g' {} \;

시스템이 옮겨지면서 방대한 양의 파일들의 날짜가 모두 미래라서 컴파일이 안될때가 있었습니다.

이걸 손수 다 읽었다 놨다를 하는데, 결국 삽질을 그만두기 위한 삽질을 선택했죠.

touch! 살짝 어루만져 주기만해도 날짜가 바뀐다는것을 알아냈습니다.

다음에 find 를 이용해서 모두 어루만져 주었습니다.

find ./  -exec touch {} \; -print 

'┃ Linux' 카테고리의 다른 글

우분투 패키지 관리 apt 명령  (0) 2009.07.24
Unix 장비별 MAC Address 확인 방법  (0) 2009.06.16
find 명령 활용  (2) 2009.06.12
RPM 명령  (0) 2008.10.12
[CentOS] J2SDK + TOMCAT 5 + JK2  (0) 2008.09.07
리눅스서 톰캣 연동하기  (0) 2008.09.07
Trackbacks 0 : Comments 2
  1. Favicon of http://ykei.egloos.com BlogIcon 용기백배 2009.06.27 20:19 Modify/Delete Reply

    허...참 좋네요 저도 링크 걸어두고 자주 참고해서 써먹어야 할듯 ㅋ

    • Favicon of https://suban.tistory.com BlogIcon suban 2009.06.28 22:28 신고 Modify/Delete

      응용해서 사용할 수 있도록 여러 예제를 보여주신 것에 대해서 저도 저분들께 감사할 따름입니다 ㅋ

Write a comment


RPM 명령

┃ Linux 2008.10.12 21:35

<패키지 설치시 명령>

(1) 설명: 새로운 패키지를 설치하거나 업그레이드시 사용한다.
(2) 관련옵션
  -i : 새로운 패키지를 설치할 때 사용한다.  (--install)
  -U : 기존의 패키지를 새로운 버전의 패키지로 업그레이드할 때 사용하고 설치된 패키지가
       없을 경우 패키지를 설치를 한다.( -i 옵션과 같음)
  -F : 이전 버전이 설치되어 있는 경우에만 설치한다.(--freshen)
  -v : 메시지를 자세히 보여준다.
  -h : '#'기호로 표시해 준다.

  --force : 기존에 설치된 패키지와 관계없이 강제로 설치 한다.
  --nodeps : 의존성 관계를 무시하고 설치 한다.
  -vv : 메시지를 아주 자세히 보여준다.
  --oldpackage : 구버전으로 다운그레이드할 때 사용한다.
  --rebuilddb : 특정한 패키지 설치후에 rpm패키지로 검색했으나 나타나지 않을 때 rpm데이
                 터베이스를 업데이트한다

(3) 정리
  -ivh : 새로운 패키지 설치
  -Uvh : 업그레이드하거나 새로운 패키지 설치
  -Fvh : 이전 버전의 패키지가 있는 경우에만 패키지 설치

(4) 예제
# rpm -Uvh proftpd-1.2.9-1.9.i386.rpm
==> proftpd 패키지를 설치하거나 업데이트 한다.

#rpm -Fvh /usr/local/src/update/*.rpm
=> /usr/local/src/i386/에 있는 패키지들중 설치되어 있는 패키지들을 업데이트 한다.

<패키지 삭제시>

(1) 설명 : 시스템에 설치된 패키지를 삭제할때 사용된다.

(2) 옵션
  -e : 설치된 패키지를 제거한다.
  --nodeps : 제거시 의존성을 무시한다.

(3) 예제
# rpm -qa | grep sendmail  (sendmail 패키지 리스트를 확인)
   sendmail-devel-8.11.6-27.73
   sendmail-8.11.6-27.73
   sendmail-cf-8.11.6-27.73
# rpm -e sendmail-devel-8.11.6-27.73
=> sendmail-devel-8.11.6-27.73 라는 rpm 패키지를 삭제 한다.
삭제시 의존성 에러 메세지로 삭제가 안될 경우 --nodeps를 붙이면 강제로 삭제를 하는데 주의를 요한다.
# rpm -e proftpd --nodeps
=> proftpd 패키지에 의존성이 있더라도 무조건 제거한다.

<패키지 검색시>

(1) 설명: 설치된 패키지와 각 패키지에 포함된 파일들을 검색하여 확인해 볼수 있다.
(2) 관련옵션
  -q : 질의시에 꼭 써야하는 옵션이다. 패키지를 찾으면 패키지이름과 버전만 표시한다.
  -i : 설치된 패키지의 정보를 보여준다. -p옵션과 사용하면 패키지 파일정보를 보여준다.
  -l : 패키지에 포함된 모든 파일을 보여준다. 역시 -p와 사용하려면 정확한 파일명을 적는다.
      (--list)
  -p 파일명: 패키지의 파일에 대한 정보를 보여준다.  정확한 이름을 입력해야 한다.
  -a : 시스템에 설치된 모든 패키지목록을 보여준다. (--all)
      패키지명을 잘 모르는 경우에는 '| grep 패키지명'을 붙여 사용하면 유용하다.
  -f 파일명: 지정된 파일이 포함된 패키지를 출력한다.
  -c : 해당패키지의 설정파일이나 스크립트파일을 보여준다.
  -d : 해당패키지의 문서파일을 출력한다.
  -R : 어떤 패키지에 의존하고 있는지를 보여준다. (--requires)

(3) 사용예
# rpm -q sendmail
     sendmail-8.11.6-27.73
       => 설치된 sendmail의 패키지이름과 버전을 보여준다.
# rpm -qi sendmail
       => sendmail 패키지의 많은 정보를 보여준다.
# rpm -qa
       => 현재 설치된 모든 패키지를 보여준다.
# rpm -qa |grep sendmail
   sendmail-devel-8.11.6-27.73
   sendmail-8.11.6-27.73
   sendmail-cf-8.11.6-27.73
      => sendmail관련 패키지를 보여준다.
# rpm -ql sendmail
      => sendmail이 설치되어 있는 경로를 보여준다.
# rpm -qf /etc/sendmail.cf
sendmail-8.11.6-27.73
      => sendmail.cf 파일을 사용하는(관련된) 패키지를 보여준다.

# rpm -qd proftpd
      => proftpd 관련 문서파일을 보여준다.
# rpm -qR sendmail
      => sendmail이 의존하고 있는 패키지를 보여준다.

# rpm -qlp proftpd-1.2.7-3kr.i686.rpm
       => proftpd 패키지가 설치되는 파일들을 보여준다.

<패키지 검사시>

(1) 설명: 설치된 패키지 파일들을 검증한다. 보통 보안상 침입자에 의해 실행파일들이 권한획
            득을  위해 변조되는 경우가 있는데 이러한 것을 찾아낼 때 유용하다.
(2) 관련옵션
  -V : verify의 약자로 검증할때 쓰는 기본 옵션이다.
  -a : 모든 패키지를 검사한다.
(3) 사용예
# rpm -V sendmail
   .......T c /etc/aliases
   S.5....T c /etc/mail/local-host-names
      => sendmail 패키지를 검사
# rpm -Va
      => 모든 패키지를 검사한다.

(4) RPM 검증코드
  5 : MD5체크섬을 변경
  S : 파일의크기를 변경
  L : 심볼릭 링크를 변경
  T : 파일의 수정일을 변경
  D : 장치파일을 변경
  U : 파일사용자/소유자가 변경
  G : 파일 그룹이 변경
  M : 파일모드(권한과 파일형태)가 변경
  ? : 원인을 알 수 없거나 예측하지 못한 결과인 경우


<참고자료 2> http://blog.naver.com/bereally?Redirect=Log&logNo=150017136202

'┃ Linux' 카테고리의 다른 글

Unix 장비별 MAC Address 확인 방법  (0) 2009.06.16
find 명령 활용  (2) 2009.06.12
RPM 명령  (0) 2008.10.12
[CentOS] J2SDK + TOMCAT 5 + JK2  (0) 2008.09.07
리눅스서 톰캣 연동하기  (0) 2008.09.07
tomcat연동  (0) 2008.09.07
Trackbacks 0 : Comments 0

Write a comment