'Code Snippets/Shell'에 해당되는 글 2건

  1. 2009.04.12 기본 리눅스/유닉스
  2. 2007.02.03 부분 문자열 가져오기. 2

기본 리눅스/유닉스

|
HP_UX> glance
화면 정렬 " O "

* CPU 확인하는 법

/proc/cpuinfo 의 내용 중에 physical id : 0 이 항목이 있습니다. 이것은 CPU 자체의 ID값입니다. 

예를 들어 어떤 서버의 processor 항목이 최대 1까지 있으면 dual 1개만 있던가, single 2개가 꼽혀 있다는 얘긴데 physical id 가 0만 있다면 single 2개가 꼽혀 있다는 얘기로 보면 됩답니다.

또 듀얼/쿼드 코어 CPU에는 core id 라는 항목이 따로 있습니다. 이거 없으면 single 입니다.

가장 간단한 방법은...
싱글/듀얼/쿼드 구분은 core id가 있느냐 없느냐로 판별하면 되고
듀얼/쿼드의 구분은 core id 아래 필드인 cpu cores라는 필드의 값으로 판별하시면 됩니다.

OS
 uname -a
 /etc/redhat-release

 

CPU
 /proc/cpuinfo
 /sbin/dmidecode 

 

internal disk 정보 확인
   cat /proc/scsi/scsi


s/w 미러인 경우
   cat /proc/mdstat  

 

hp장비에서 internal disk raid 정보보기.
cat /proc/driver/cciss/cciss*


And

부분 문자열 가져오기.

|
adadad.afs.1231.qz라는 문자열에서 중간의 1231 을 가져오는 방법.


우선 가장 간단하게 생각할 수 있는 방법.

1. 부분 문자열 가져오기.

STR=adadad.afs.1231.qz
STR=${STR:11:4}

11번째 문자부터 4개를 가져오는 코드이다.

빼오려는 문자열의 길이와 위치가 항상 같다면 이 방법이 제일 간단할 듯.

하지만 숫자가 자리수가 바껴서 길이가 달라지면 저런 방법으로는 할 수 없다.


그래서 패턴을 사용했다.

2. 패턴을 사용해서 중간 값 가져오기.

STR=adadad.afs.1231.qz
STR=${STR%.*}
echo ${STR##*.}

두번째 줄에서 뒤에서부터 처음에 나온 . 이후는 잘라내고,

세번째 줄에서 앞에서부터 마지막에 나온 . 이전을 잘라낸다.


문자열을 잘라내는 다른 방법으로는 IFS(Internal Field Separator) 를 점(.)으로 설정해서,

점(.) 단위로 문자열을 잘라낼 수 있다.

기타. IFS 를 사용해서 반복문을 실행.

STR=adadad.afs.1231.qz
IFS=.
for i in $STR ; do
  echo $i
done
IFS=" "

위의 예제는 . 단위로 문자열을 잘라서 화면에 뿌려주는 예제이다.

....소스를 어디서 주워온지는 잊어버린지 오래이고;;;


자세한 레퍼런스는 귀찮으니 생략;;;

혹시 심심하면 나중에 추가 할 수도~

그리고, 틀렸거나 더 좋은 방법이 있을 수 있으니 있으면 연락 바람 -_-/
And
prev | 1 | next