|
디렉토리들을 유심히 관찰한 경험이 있으신 분들은 /proc 라는 디렉토리를 보셨을 것입니다. 뭔가 심상치 않은 이 디렉토리에는 무엇이 들어 있는 것일까요? 여기서는 이 디렉토리에 들어 있는 정보와 그보다 더 많은 정보를 얻기 위한 명령어들에 대해서 정리해 보았습니다.
리눅스에서 시스템의 정보를 알고 싶으면 /proc 디렉토리의 내용을 확인해 보면 됩니다.
/proc 디렉토리는 실제로 존재하지 않는 임시 데이터입니다. 즉, 커널이 메모리 상에 만들어 놓은 것으로 실제 디스크 공간에는 존재하지 않습니다. /proc은 시스템의 여러가지 정보를 제공해 주는데, 원래는 주로 프로세스에 대한 정보를 제공했기 때문에 proc(process)이란 이름을 가지고 있습니다. 이 곳에 있는 중요한 파일과 디렉토리들을 아래에 설명하였습니다. /proc 파일시스템에 관한 더욱 자세한 정보는 /usr/src/linux/Documentation/proc.txt 를 보시기 바랍니다.
/proc/asound
/proc/cpuinfo
프로세서의 정보가 들어있습니다. cpu의 타입, 모델, 제조회사, 성능 등에 관한 정보를 알려줍니다.
/proc/devices
/proc/dma
/proc/filesystems
/proc/ide
/proc/interrupts
현재 어느 인터럽트가 사용 중인지, 그리고 얼마나 많이 사용되었는지를 알 수 있습니다.
/proc/ioports
/proc/loadavg
/proc/meminfo
/proc/modules
/proc/partitions
/proc/pci
이 페이지는 PCI-버스와 설치되어진 PCI-카드들, 그리고 주변장치연결 (PCI) 버스를 사용하는 다른 device들에 대한 정보를 표시합니다.
/proc/scsi/scsi
/proc/stat
이 곳에는 시스템의 상태에 관한 다양한 정보가 있습니다. 즉, 부팅된 후 page fault가 몇번 일어났는가 하는 것들을 알아 볼 수가 있습니다.
/proc/uptime
/proc/version
위에 나열한 파일들 대부분이 알아보기 쉬운 텍스트 파일로 되어 있긴 하지만, 쉽게 알아보기 힘든 형식을 가지고 있기도 합니다. 그래서 이런 파일들을 좀 더 쉽게 알아볼 수 있도록 해주는 많은 명령들이 준비되어 있습니다. 예를 들어, /proc/meminfo 파일은 메모리 사용량을 byte 단위로 나타내고 있는데, free 명령은 이것을 kilobyte 단위로 좀 더 알기 쉽게 나타내 줍니다. /usr/src/linux/Documentation/proc.txt 에 파일들이 담고 있는 내용에 대한 자세한 설명이 있습니다.
운영체제 정보
|
명 령 |
설 명 |
| uname -a |
운영체제의 호스트이름, 커널 버전과 릴리즈된 날찌와 프로세서(CPU)의 타입을 표시합니다. |
| uptime |
부팅한 이후로 시스템의 사용된 시간과 로그인한 유저의 수, 시스템의 Load Average(시스템 부하량의 평균치) 등의 정보를 표시합니다. |
| w |
현재 시스템에 로그인 한 유저들의 리스트와 작업, 접속시간 등을 표시합니다. |
| tail /var/log/messages |
시스템의 로그 기록을 10라인 단위로 보여줍니다. '-n'옵션을 사용하여 출력할 라인 단위를 지정할 수 있습니다. 'tail -n100 <파일이름>' 과 같이하면 100라인 단위로 출력합니다. |
| lsmod |
현재 로드된 모든 모듈들을 표시합니다. |
| cat /proc/filesystems |
현재 시스템에서 사용중인 파일시스템을 표시합니다. |
| date |
시스템의 날짜와 시간을 표시합니다. 또한 날짜와 시간을 설정할 수 있습니다. ('date --help' 을 하면 이용할 수 있는 옵션을 알 수 있습니다.) |
| runlevel |
시스템의 현재 런레벨을 표시합니다. |
| rpm -q <패키지> |
설치된 패키지의 버전을 보여줍니다. |
실행중인 프로세스와 메모리 정보
|
명 령 |
설 명 |
| ps aux | less |
유저로부터 시작된 것을 포함한 현재 실행되고 있는 모든 프로세스를 표시합니다. 'q' 를 누르면 종료합니다. |
| free |
메모리의 상태를 표시합니다. |
| top |
5초마다 한번씩 실시간으로 갱신하여 시스템의 프로세스 상황을 표시합니다. CPU 사용량, 메모리와 스왑의 사용량, 현재 실행중인 각각의 프로세스의 수와 상황등의 시스템 상황을 실시간으로 표시합니다. 'q'를 누르면 종료합니다. |
| cat /proc/meminfo |
메모리 상태를 표시합니다. 'free' 와 같습니다. |
디스크 장치 정보
|
명 령 |
설 명 |
| mount |
마운트된 모든 장치와 마운트된 장치들의 마운트 포인트, 파일시스템, 그리고 장치가 읽기 전용인지 아닌지 보여줍니다. |
| df |
마운트된 장치와 사용된 공간과 사용할 수 있는 공간과 마운트 포인트를 표시합니다. '-h' 옵션을 사용하면 200Kb,102Mb,1Gb 와 같이 알아보기 쉽게 표시합니다. |
| du -sh * |
디스크 사용량을 표시합니다. 현재 작업중인 디렉토리에 있는 파일과 디렉토리들의 크기를 알아 보기 쉬운 형식으로 표시합니다. 'du --help' 를 하면 더 많은 옵션을 알 수 있습니다. |
| cat /proc/filesystems |
현재 시스템에서 사용중인 파일시스템을 표시합니다. |
| cat /proc/ide/ide0/hda/model |
하드디스크의 모델명을 표시해 줍니다. |
| cat /proc/swaps |
스왑 파티션의 크기와 사용량을 보여줍니다. |
하드웨어 정보
|
명 령 |
설 명 |
| cat /proc/interrupts |
장치가 사용중인 IRQ를 표시합니다. |
| cat /proc/ioports |
장치가 사용중인 Input/Output 포트를 표시합니다. |
| cat /proc/dma |
장치가 사용중인 DMA 채널을 표시합니다. |
| cat /proc/cpuinfo |
프로세서(CPU)에 대한 정보를 표시합니다. |
| cat /proc/modules |
로드된 모든 모듈들을 표시합니다. 'lsmod' 와 같습니다. |
| dmesg |
시스템의 부팅시 나오는 메시지를 부팅후 확인 할때 쓰는 명령어입니다. 쉽게 알아 볼수 없는 말들이 대부분이긴 하지만 이 메시지들을 통해 시스템에 문제가 생길 경우, 문제를 해결할 수 있는 정보를 얻을 수 있습니다. 레드헷 기반의 리눅스 배포판에서는 /var/log/dmesg 파일로 부팅시 마다 저장됩니다. |
유저와 유저의 환경에 대한 정보
|
명 령 |
설 명 |
| w |
현재 시스템에 로그인 한 유저들의 리스트와 접속시간, 작업 등을 표시합니다. |
| who -uH |
현재 로그인된 유저를 표시합니다. 유저가 접속한 터미널, 접속한 시간과 쉬고 있는 시간을 표시합니다. |
| whoami |
유저의 아이디를 표시합니다. |
| groups |
그룹에 속한 모든 멤버를 표시합니다. 또한 'groups 유저이름' 으로 다른 유저가 속한 그룹의 멤버들을 볼 수 있습니다. |
| set | less |
환경 설정값을 표시합니다. |
| id |
유저의 이름, 그룹과 그룹에 속한 유저의 수와 ID를 표시합니다. |
| pwd |
현재 작업중인 디렉토리를 표시합니다. |
| last |
누가 언제 로그인했고 어디에서 IP주소를 통한 원격 로그인을 했는지, 얼마나 오랬동안 사용했는지 표시합니다. |
| users |
Displays a list of currently logged in users. User's logged in to multiple terminals will be listed once for each session. |
| history |
유저가 이전에 실행한 명령의 리스트를 순서대로 표시합니다. '.bash_history'에 저장되어 있습니다. |
네트워크 정보
|
명 령 |
설 명 |
| ifconfig |
네트워크 인터페이스를 설정내용을 표시하는 명령어입니다. 이것으로 직접 네트워크을 설정을 설정할 수 있습니다. IP 주소, 서브넷 마스크 및 브로드캐스트 주소를 확인 할 수 있습니다. |
| hostname |
시스템의 호스트이름을 표시합니다. |
| route |
해당 호스트까지 연결하는 중간 경로의 표시인 라우팅 테이블을 표시하고 라우팅 정보를 추가.삭제 할 수 있습니다. |
| ping |
원결의 호스트와 서로 네트워크의 연결이 정상적으로 이루어졌는지를 확인하는 명령어입니다. 연결 속도등을 테스트 할 수 있습니다. |
| nslookup |
네임서버에 질의하는 네임 서버 질의 도구입니다. 이를 통해 특정호스트의 IP주소나 자신의 호스트 정보를 알아볼수 있습니다. |
| netstat |
네트워크 연결 상태를 확인하는 명령어 입니다. 네트워크에 대한 다양한 정보를 제공합니다. 이를 이용하여 네트워크 인터페이스, 네트워크 소켓, 라이팅 테이블과 관련된 자세한 설명을 볼 수 있습니다. |
|