리눅스에서 CPU 정보 및 CPU 코어개수, 물리 CPU 수를 쉽게 확인하는 방법이다.

 

결론적으로 /proc/cpuinfo 에 모든 정보가 나와있지만, 개수를 확인하고 싶은데 일일이 찾아보기 귀찮을 땐 1~3번 참고.

 

 

0. CPU 정보 확인

> cat /proc/cpuinfo

 

1. CPU 코어 전체 개수 확인

> grep -c processor /proc/cpuinfo

 

2. 물리 CPU 수 확인

> grep "physical id" /proc/cpuinfo | sort -u | wc -l

 

3. CPU당 물리 코어 수 확인

> grep "cpu cores" /proc/cpuinfo | tail -1

 

리눅스를 사용하다 보면, 서버와 관련된 보고서 작성 혹은 검색 등등을 위해 버전을 알아봐야 할 때가 종종 있다.

 

맨날 까먹어서 간단히 정리!

 

 

1. 리눅스 OS 버전 확인

 

콘솔에서 아래와 같이 입력하면 현재 사용 중인 OS 버전을 확인할 수 있다.

 

> uname -a

 

혹은 아래와 같이 입력해도 확인할 수 있다.

 

> cat /etc/issue

 

위 2개 결과가 약간 다른걸 볼 수 있는데, 전자는 Linux 자체의 버전이 나오고, 후자는 CentOS인지 Red Hat인지 등이 나온다.

 

 

2. 아파치(Apache) 버전 확인

 

콘솔에서 아래와 같이 입력하면 현재 사용 중인 Apache의 버전을 확인할 수 있다.

 

> cd [아파치 경로]

> cd bin

> ./httpd -v

 

즉, 아파치 경로의 bin 폴더로 들어가서 httpd -v를 실행시키면 된다.

 

 

3. 톰캣(Tomcat) 버전 확인

 

콘솔에서 아래와 같이 입력하면 현재 사용 중인 Tomcat 버전을 확인할 수 있다.

 

> cd [톰캣 경로]

> cd bin

> ./catalina.sh version

 

즉, 톰캣 경로의 bin 폴더로 들어가서 catalina.sh version 을 실행시키면 된다.

 

 

4. MySQL 버전 확인

 

콘솔에서 아래와 같이 입력하면 현재 사용 중인 MySQL 버전을 확인할 수 있다.

 

> cd [MySQL 경로]

> cd bin

> ./mysql -V

 

즉, MySQL 경로의 bin 폴더로 들어가서 mysql -V 를 실행시키면 된다.

일반적으로 MySQL 은 그냥 콘솔에서 mysql 만 입력해도 바로 실행되도록 등록하는데, 그 경우 그냥 mysql -V만 입력해도 된다.

 

 

5. JAVA 버전 확인

 

콘솔에서 아래와 같이 입력하면 현재 사용 중인 JAVA 버전을 확인할 수 있다.

 

> java -version

 

혹시 java 명령어가 등록이 되지 않은 경우에는 JAVA 설치 경로의 bin 폴더로 찾아가서 java -version 을 실행하면 된다.

 

정상적으로 jAVA가 설치된 경우 아래와 같이 입력하면 JAVA 결치 경로가 나온다.

 

>which java

 

 

 

 

아직도 나에게 멀기만 한 리눅스..ㅠ

아직 아는 명령어는 몇 개 없지만, 다시 공부도 해볼 겸 기본적인 리눅스 명령어들을 정리해본다.

(혹시 틀린 내용이나 추가해야할 내용이 있으면 댓글 부탁해요)

 

 

리눅스 명령어 1. 경로 이동

 

cd [경로]

- 해당 경로로 이동한다.

- "."은 현재 경로를, ".."은 상위 경로를 의미한다.

- 상대경로 혹은 절대경로를 이용해 이동 가능하다.

- ex) cd /          : 루트 경로로 이동.

        cd conf      : 현 위치의 conf 폴더로 이동

        cd ..          : 상위 경로로 이동.

        cd ../conf  : 상위 경로의 conf 폴더로 이동

        cd /apache/conf : 루트 경로의 apache폴더 내의 conf 폴더로 이동

 

pwd

- 현 위치를 나타낸다.

 

mkdir [폴더명]

** 이건 경로 이동은 아니지만 어디에 넣어야 할지 애매해서 여기다 그냥 씁니다 ㅎㅎ

- 현 경로에 폴더를 생성한다.

- ex) mkdir example : 현재 경로에 example이라는 이름의 폴더를 생성

        mkdir /apache/conf/example : /apache/conf/ 경로에 example이라는 이름의 폴더를 생성

 

 

리눅스 명령어 2. 파일 및 폴더 목록보기

 

ls

- 현재 경로의 파일 및 하위폴더 목록을 보여준다.

 

옵션

내용 

 -a

 숨김 파일을 포함한 목록을 보여준다.

 -l

 리스트 형식으로 권한, 파일명, 수정시간 정보도 함께 보여준다.

 -c

 파일 상태 정보가 변경된 순으로 보여준다.

 -t  파일이 변경된 순으로 보여준다.
 -i  파일 왼쪽에 색인 번호를 보여준다.
 -m  파일을 쉼표로 구분하여 가로로 보여준다.
 -r  정렬 순서를 역순으로 보여준다.
 -u  최근 사용 파일 순으로 보여준다.

 

- ex) ls        : 그냥 현재 경로의 파일 및 하위폴더 목록을 보여줌

        ls -l     : 현재 경로의 파일 및 하위폴더 목록을 자세히 보여줌

        ls -al   : 현재 경로의 파일 및 하위폴더 목록(숨김 파일 포함)을 자세히 보여줌

        ls -altr : 현재 경로의 파일 및 하위폴더 목록(숨김 파일 포함)을 파일 변경 시간 내림차순으로 보여줌(오래된 순으로)

 

** 개인적으론 보통 ls나 ls -altr을 많이 사용합니다.

 

 

리눅스 명령어 3. 파일/폴더 복사

 

cp [소스] [목적지]

- 소스에 있는 파일을 목적지로 복사한다.

 

옵션

내용 

 -a

 원본 파일의 속성, 링크 정보를 유지하면서 복사한다.

 -b

 복사할 대상을 덮어쓰거나 지울 때를 대비하여, 백업 파일을 만들며 복사한다.

 -d

 심볼릭 파일 자체를 심볼릭 정보와 함께 복사한다.

 -f

 복사할 파일이 존재할 때 삭제하고 복사한다.

 -i  복사할 파일이 존재하는 경우 복사할 것인지 물어보고 복사한다.
 -l  디렉토리가 아닌 경우 복사 대신 하드 링크로 만든다.
 -p

 원본 파일의 소유, 그룹, 권한, 허용 시간을 보존한 채로 복사한다.

 -r

 서브 디렉토리 내에 있는 모든 파일까지 통째로 복사한다.

 -s

 디렉토리가 아닌 경우 복사 대신 심볼릭 링크로 만든다.

 -u  대상 파일보다 원본 파일이 새로운 것일 때 복사한다.

 

** 심볼릭 링크 : 윈도우의 바로가기와 같은 역할을 한다. 심볼릭 링크가 걸어진 파일을 수정시, 원본 파일은 수정되지 않는다.

    하드 링크    : 심볼릭 링크과 형태는 같은데, 하드링크에서 파일을 수정하면 원본파일도 함께 수정된다.

 

- ex) cp test1 test2                      : 현 위치의 test1이라는 파일을 현위치에 test2라는 이름으로 복사한다.

        cp test1 /apache/conf/test2 : 현 위치의 test1이라는 파일을 /apache/conf/에 test2라는 이름으로 복사한다.

        cp -rp test1 /apache/conf/ : 현 위치의 test1이라는 폴더와 폴더 내의 모든 파일을 /apache/conf/에

                                                 test2라는 이름으로 복사한다(소유, 그룹, 권한, 허용 시간 등을 보존한 채로)

 

** 실제 서비스에 사용되는 폴더, 파일의 경우 소유권이나 권한이 바뀌게 되면 정상적으로 작동하지 않을 수 있으므로, 중요한 설정 파일 등을 복사할 때는 -p 옵션을 사용하는 것이 좋다.

 

 

리눅스 명령어 4. 파일/폴더 이동

 

mv [소스] [목적지]

- 소스에 있는 파일을 목적지로 이동한다.

 

옵션

내용

 -b  파일이 지워지기 전에 백업 파일을 만들고 이동한다.
 -f

 대상 파일이 있더라도 그 파일을 삭제하고 이동한다.

 -i  대상 파일이 있는 경우 덮어쓸 것인지 물어보고 이동한다.
 -u  대상 파일보다 원본 파일이 최신 것일 때 이동한다.
 -v  파일 이동의 과정을 보여준다.

 

- ex) mv test1 ../                                : 현 위치의 test1이라는 파일을 상위 경로로 이동한다.

        mv test1 /apache/conf/              : 현 위치의 test1이라는 파일을 /apache/conf/로 이동한다.

        mv /apache/test1 /apache/conf/ : /apache/의 test1이라는 파일을 /apache/conf/로 이동한다.

** 경로는 적어주지 않고 파일명만을 입력하여(mv test1 test2 와 같은 식으로), 파일명 수정처럼 사용할 수도 있다.

 

 

리눅스 명령어 5. 파일 삭제

 

rm [파일명]

- 파일을 삭제한다.

 

옵션 

내용 

 -d

 디렉토리를 삭제한다.

 -f

 삭제하냐고 다시 물어보지 않고 바로 삭제한다.

 -i  일일이 삭제할 것인지 다시 물어본다.
 -r  하위 디렉토리 포함한 파일들을 모두 삭제한다.
 -v  삭제 되기 전의 파일을 보여준다.

 

- ex) rm test1     : 현 위치의 test1이라는 파일을 삭제한다.

        rm -rf test1 : 현 위치의 test1이라는 폴더와 하위 디렉토리를 포함한 파일들을 모두 바로 삭제한다.

** 명령어를 치기 전에 충분한 검토 후에 rm -f 혹은 rm -rf로 손쉽게 삭제할 수 있다.

 

 

 

이 외에도 시스템 상태를 체크하는 명령어들, vi편집기 명령어들 등 엄청나게 많지만 일단 기본적인 명령어는 여기까지 :)