..
DEV/unix linux (18)
파일 확장자별 갯수 파악
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

● 현재 디렉토리에서 디렉토리 갯수 세기

$ ls -l | grep ^d | wc -l


● 현재 디렉토리에서 파일 갯수 세기

$ ls -l | grep ^- | wc -l


● 현재 디렉토리에서 ".txt" 확장자를 가진 파일 갯수 세기

$ ls -l | grep ^-.*\.txt$ | wc -l



하위포함할 경우 -Rl 옵션 사용

'DEV > unix linux' 카테고리의 다른 글

쉘 정리  (0) 2013.09.10
log4j:WARN No such property [datePattern] in org.apache.log4j.RollingFileAppender.  (0) 2010.08.18
jeus 재기동 로그 분석  (0) 2010.08.17
  Comments,     Trackbacks
log4j:WARN No such property [datePattern] in org.apache.log4j.RollingFileAppender.
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

에러 로그

log4j:WARN No such property [datePattern] in org.apache.log4j.RollingFileAppender.

해결책

log4j 에서 RollingFileAppender를 사용할 경우 datePattern 같은 속성은 사용 못함 (Daily~~에서 사용가능)
  Comments,     Trackbacks
jeus 재기동 로그 분석
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
jeus 재기동 로그 분석 - container4를 기동

[2010.08.17 23:14:47][0] [JeusServer] JEUSMain.xml is loaded
// 제우스 설정 파일 JEUSMain.xml을 제일 먼저 메모리에 로드 시킴 
[2010.08.17 23:14:47][0] [JeusServer] lmswas1_container4 is starting ...
// 제우스 설정 파일 JEUSMain.xml 기술되어 있는 container4를 시작시킴
[ErrorMsgManager] Message Manager is initialized
[2010.08.17 23:14:52][0] [EngineContainer] logger started
[2010.08.17 23:14:52][0] [EngineContainer] User Logger started
[2010.08.17 23:14:54][0] [TMLinkManager] accept thread is started
[2010.08.17 23:14:54][0] [LogManager] LogManager started
[2010.08.17 23:14:54][0] [RecoveryThread] recovery started
[2010.08.17 23:14:54][0] [RecoveryThread] recovery done successfully
[2010.08.17 23:14:54][0] [TMServer] TMServer initiated
[2010.08.17 23:14:54][0] [EngineContainer] lmswas1_servlet_engine4 start initiated
// 제우스 설정 파일 JEUSMain.xml 기술되어 있는 container4를 초기화
Jennifer TimeZoneOffset:32400000
[2010.08.17 23:14:56:249] [usrlog]webt.properties file is not found
[2010.08.17 23:14:56:256] [usrlog]webt.properties file is not found
  Comments,     Trackbacks
authorization failed: server z.zzz.zzz.zzzrejected access to cvspath for user userid
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

에러 메시지

Buildfile: build.xml

update-all:

update:
      [cvs] cvs update: authorization failed: server z.zzz.zzz.zzzrejected access to cvspath for user userid
     [echo] [] 디렉토리/파일에 대한 CVS 업데이트가 완료되었습니다.

BUILD SUCCESSFUL


해결방법

build.properties 파일안에 passwd까지 기입
:pserver:userid:password@zzz.zzz.zzz.zzz

  Comments,     Trackbacks
우분투 특정 위치 index of 보이지 않도록 옵션주기
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
  Comments,     Trackbacks
unix(linux) 체제에서의 install
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

Window 체제에서는 install이라는 과정이 아주 간단하다.

인스톨실드 같은 것으로 포장이 잘 된 프로그램이라면 컴파일이 이미 되어서 압축된 프로그램을 자신의 하드디스크 같은 곳에 압축을 풀면서 끝이 납니다.(물론 내부적으로 보면 약간의 작업이 더 있습니다만...)

Unix(리눅스 포함) 체제에서는 install이라는 작업이 운영 체제에 따라서 약간 다르지만 크게 두 가지로 나눌 수 있다.

window의 인스톨실드와 유사한 package나 rpm로 인스톨을 하는 방법이 있고,

소스를 받아서 컴파일을 해서 인스톨을 하는 방법이 있다.

소스로 된 프로그램을 인스톨을 하는 방법은 전적으로 프로그램을 만든 사람의 맘에 달렸는데,

그나마 일반화된 방법이 configure -> make -> make install 의 순으로 인스톨을 하는 것이다.

./configure

- 쉽게 말해서 인스톨을 하기 위한 환경을 설정하는 프로그램이다.
- 현재 OS의 종류나 컴파일러 위치, 종류 등을 파악하고, 사용자가 컴파일이 완료된 프로그램의 위치를 지정하거나, 기타 등등 환경을 맞춰서 자신이 원하는 makefile을 만들어내는 과정

[옵션]
--prefix=/usr : 컴파일된 프로그램을 설치하는 위치.컴파일된 프로그램들을 /usr 디렉토리로 인스톨하라는 의미
바이너리 파일은 /usr/bin으로 man파일은 /usr/man으로 자동적으로 찾아가서 설치가 된다.
/usr/bin은 path 에 기본적으로 설정되있어서 아무곳에서는 실행이 가능.

--sysconfdir=/etc : system configuration파일들, 즉 시스템 설정파일들은 /etc/아래에 설치를 하라는 의미
리눅스에서 대부분의 설정파일들은 /etc 디렉토리 아래에 존재.

--with --no
이 옵션에 적혀있는 기능을 넣거나 혹은 특정라이브러리를 이용해서 컴파일 하겠다는 의미
ex)
--with-loadavg --with-libwrap
loadavg라는 것을 이용하고, 또한 libwrap이라는 걸 이용해서 컴파일하거나 혹은 이런 라이브러리를 만들어 내겠다고 하는 것이다.
libwrap은 tcp-wrapper라는 보안관련 라이브러리

명령어 확인 방법
man configure
configure --help
readme, install 파일 안에 설명이 되어 있음.

make : configure에 의해서 만들어진 makefile로 프로그램을 컴파일 하는 과정...
make install : 컴파일된 프로그램, 환경화일, 데이터 화일을 지정된 위치에 복사하는 과정...
  Comments,     Trackbacks
tar 명령어
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
[출처] http://www.superuser.co.kr/open_lecture/unix/compress_02.htm

tar 로 파일 묶기

tar는 여러개의 파일을 하나의 파일로 묶을 수 있으며 묶여진 파일을 다시 풀수 있는 유틸리티입니다.

또한 묶여진 파일을 풀기전에 어떤파일들이 묶여져 있나를 확인해 볼 수도 있습니다.

먼저 tar파일의 사용형식은 다음과 같습니다.

[출처]

일반형식 : # tar [옵션] 대상파일


tar를 사용할때에는 여러 가지 옵션에 대해서 알아야합니다.

tar의 옵션에는 약 40여개의 옵션이 있습니다.

하지만 이들 모든 옵션을 모두 사용하는 것은 아니며 중요하고 자주 사용하는 몇 개의 옵션만을 알아두면 됩니다.

그리고 필요한 옵션은 그때그때 메뉴얼(man tar)을 사용하여 참조한 후에 사용하시면 됩니다.

   c : tar파일을 생성할때(여러개의 파일을 하나의 파일로 묶을 때) 반드시 사용

   d : tar파일과 해당 파일시스템간의 차이점을 확인하고자 할 때 사용

   r : tar파일에 다른파일들을 추가하고자 할 경우에 사용

   t : tar파일의 내용을 확인하고자 할 때 반드시 사용

   f : tar파일을 사용할때에는 반드시 사용

   p : tar파일을 생성할때(묶을 때) 당시의 파일퍼미션을 그대로 하여 풀어줄 때 사용

   v : 묶을때나 풀어줄 때 파일들의 내용을 자세하게 보려고 할 때 사용

   Z : compress로 압축파일을 사용할 때 압축이나 해제까지 한번에 할 때 사용

   z : gzip과 관련하여 압축이나 해제를 한꺼번에 하려고 할 때 사용


tar로 파일작업을 하는 경우에는 다음의 세경우가 있습니다.

즉, 첫 번째가 여러개의 파일 및 디렉토리들을 하나의 tar파일로 묶는 경우이며, 두 번째가 이렇게 묶은 tar파일을 다시 풀어준 경우이며, 세 번째의 경우가 묶여져 있는 파일의 내용을 확인하는 것입니다. 즉,

  • 묶을 때 : # tar cvf 압축파일.tar 압축대상파일 및 디렉토리
  • 확인할 때 : # tar tvf 압축파일.tar
  • 풀 때 : # tar xvf 압축파일.tar

각각의 경우에 대한 예를 들어 보겠습니다.

[sspark@ciss9 dat]$ ls -l

total 44

-rw-r--r-- 1 sspark sspark 5847 Jan 27 10:37 browser.html

-rw-r--r-- 1 sspark sspark 5879 Jan 27 10:37 host.html

-rw-r--r-- 1 sspark sspark 8295 Jan 27 10:37 hour.html

-rw-r--r-- 1 sspark root 858 Dec 7 04:02 log.range

-rw-r--r-- 1 sspark sspark 10733 Jan 27 10:37 page.html

[sspark@ciss9 dat]$ tar cvf myhome.tar *

browser.html

host.html

hour.html

log.range

page.html

위의 예는 현재 디렉토리내에 있는 모든파일 및 디렉토리들을 myhome.tar라는 파일하나로 묶어라는 것입니다.

원본파일들은 그대로 존재하게되며 myhome.tar라는 파일이 새로 생성되어 그 파일내에 모든파일 및 디렉토리들이 들어가게 됩니다.

c옵션을 반드시 사용하셔야합니다.


[sspark@ciss9 dat]$ tar tvf myhome.tar

-rw-r--r-- sspark/sspark 5847 2000-01-27 10:37 browser.html

-rw-r--r-- sspark/sspark 5879 2000-01-27 10:37 host.html

-rw-r--r-- sspark/sspark 8295 2000-01-27 10:37 hour.html

-rw-r--r-- sspark/root 858 1999-12-07 04:02 log.range

-rw-r--r-- sspark/sspark 10733 2000-01-27 10:37 page.html


이 예는 myhome.tar라는 tar파일에 어떤파일들이 묶여져 있나를 확인해 본 것입니다.

t옵션을 반드시 사용하셔야 합니다.

[sspark@ciss9 dat]$ ls -l

total 40

-rw-rw-r-- 1 sspark sspark 40960 Jan 27 10:38 myhome.tar

[sspark@ciss9 dat]$

[sspark@ciss9 dat]$ tar xvf myhome.tar

browser.html

host.html

hour.html

log.range

page.html

마지막예로서 myhome.tar에 묶여져 있는 파일들을 현재 디렉토리에 풀어준 것입니다.

x옵션을 반드시 사용하셔야합니다.

  Comments,     Trackbacks
[server] 리눅스 에서 폴더 찾기 & 폴더 삭제
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

★ 전체 하드 디스크에서, 디렉토리 이름이 et 로 시작하는 모든 디렉토리 찾기
    find / -name 'et*' -type d


★ 폴더 삭제 명령어

    rm -rf 폴더명

★ 파일명 변경 명령어
    mv 파일명 변경할 파일명


문자열찾기 방법 1 - 영어만 주로 가능

grep -rw "찾는문자열" ./

문자열찾기 방법 2 - 대/소문자 구분 안하고 검색

grep -i -l "찾는문자열" * -r 2> /dev/null

문자열찾기 방법 3 - 한글, 영어 모두 가능

find . -exec grep -l "찾는문자열" {} \; 2>/dev/null

문자열찾기 방법 4 - 한글,영어, 대소문자 안가리고 검색

find . -exec grep -i -l "찾을문자열" {} \; 2>/dev/null

문자열찾은 후 치환

find . -exec perl -pi -e 's/찾을문자열/바꿀문자열/g' {} \; 2>/dev/null

파일명 찾기

find / -name 파일명 -type f

파일명 찾기(대소문자 구별없음)

find / -iname 파일명 -type f

디렉토리 찾기

find / -name 파일명 -type d

디렉토리 찾기(대소문자 구별없음)

find / -iname 파일명 -type d

'DEV > unix linux' 카테고리의 다른 글

우분투 특정 위치 index of 보이지 않도록 옵션주기  (0) 2010.04.12
unix(linux) 체제에서의 install  (0) 2010.03.19
tar 명령어  (0) 2010.03.10
  Comments,     Trackbacks