또이리의 Server Engineer

리눅스 기본 명령어 - Linux commands 본문

Linux Engineer

리눅스 기본 명령어 - Linux commands

또이리 2020. 10. 30. 17:23

리눅스 기본 명령어 - Linux commands

Linux commands 리눅스 기본 명령어 현재 서버 엔지니어로써 경험을 바탕으로 조금이나마 도움이 될 수 있는 스토리를 작성해보겠습니다.

 

우선 서버 엔지니어, 시스템 엔지니어는 기본적으로, 필수적으로 리눅스 OS를 이해해고 사용할 줄 알아야 합니다. 일반적으로 리눅스라는 단어는 들어는 보았지만 생소하실 텐데요.

 

컴퓨터에 조금이라도 관심이 있으신 분들은 리눅스, 유닉스, 윈도우, 도스(도스는 좀 나이가 있으셔야 알 수도 있습니다.)등의 운영체제를 들어보시거나 접해보셨을 거라 생각합니다.

 

저는 현직 엔지니어로써 최대한 도움이 되는 실무 Linux를 알려 드리겠습니다. 부족하거나 잘못된 부분이 있다면 가감 없이 댓글로 알려주시기 바랍니다.

 

현재 외국계 x86서버 총판에서 근무하고 있습니다.

서버(server), 스토리지(storage) 구축 및 OS, application 설치 지원이 주 업무입니다.

 

H/W assembly 또한 지원하고 있습니다. (Chassis, Power Supply Unit [PSU], Backplane [BPN], Power Distributor Board [PDB], Mother board [MBD], Main board, CPU, Memory [MEM], Intel optain memory, DCPMM, HDD, SSD, SAS, NLSAS, NVMe, M.2, U.2, RAID controller, HBA, Network Interface Card [NIC], Infini Band, Solar Flare, Intel, AMD, GPU, Tesla, Quadro, RTX, GRID, etc,.) 위와 같은 파츠를 통하여 고객이 원하는 서버를 구성할 수 있습니다.

 

이야기가 다른 곳으로 좀 샜습니다.

OS 설치 지원업무는 Linux계열로 ubuntu, centOS가 가장 많습니다.

 

간혹, Red Hat Enterprise Linux(RHEL), SUSE Linux, FreeBSD도 있습니다.

Windows 계열도 물론 있지만, Server에서는 주로 Linux OS를 사용합니다.

 

서버가 고객의 요청으로 조립되거나, 완제품 서버가 입고되면 OS 설치를 진행하여 고객에게 전달이 됩니다.

서버에 Linux OS를 설치한 후, 간단하게 시스템을 확인할 수 있는 명령어부터 시작하겠습니다.

 

Linux를 설치하게 되면 POST이후, 아래와 같은 로그인 창이 나타나게 됩니다.

root(관리자)나 user(사용자)로 로그인하여 OS를 사용할 수 있습니다.

 

아래는 ubuntu server 18.04.4를 설치한 시스템입니다.

루트(root)로 접속했을 경우, sudo로 root 권한을 얻었을 경우

#으로 명령 프롬프트가 표시됩니다.

root login

유저(user)로 접속했을 경우

$으로 표시됩니다.

user login

간단하지만 현재 관리자(root) 권한으로 로그인되었는지, 사용자(user) 권한으로 로그인되었는지 확인할 수 있는 좋은 방법입니다.

 

시스템(System) 정보 확인

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

/proc/cpuinfo | CPU의 정보 or lscpu

cat 명령어를 사용한 /proc/cpuinfo

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

/proc/interrupts | interrupt 할당 정보

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

/proc/ioports | I/O 포트 할당 정보

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

/proc/devices | Character, Block 장치명

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

/proc/swaps | 활성화된 스왑 영역 정보

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

/proc/meminfo | 물리적인 메모리 용량, 메모리 사용량, 스왑 사용량 등 or free

cat 명령어를 사용한 /proc/meminfo

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

cat : 텍스트 파일을 만들어 주거나 내용을 출력해주는 명령어

Ex) cat /proc/cpuinfo CPU의 정보

cat /proc/cpuinfo >> test.txt CPU의 정보를 test.txt 파일에 저장

 

uname : 사용하는 OS 버전 정보 확인 , 옵션 -a : 모든 정보 or cat /etc/*release

uname 명령어를 사용한 OS 정보

기본적으로 현재 시스템에 CPU 사양, Memory의 용량, OS의 버전 확인 정도는 기본적으로 해 주어야 합니다.

 

디스크(Disk) 확인 명령어 df

df 명령어를 사용한 disk 확인

옵션 -a : file system size 0 포함한 모든 파일

-k : 용량 단위 Kb

-h : 용량 단위 k , m , g

디스크의 파티션과 마운트 된 디렉터리를 확인할 수 있습니다.

 

네트워크(Network) 확인 명령어 ifconfig or ip a

ifconfig 명령어를 사용한 Network interface 확인

-a 옵션을 사용하면 연결되어 있지 않은 네트워크 장치까지 확인할 수 있습니다.

 

네트워크 카드 NIC(Network Interface Card) 설정 확인 명령어 ethtool

ethtool 명령어를 사용한 NIC 설정 정보

ethtool --hlep를 보게 되면 다양한 옵션으로 NIC의 정보 값을 확인 및 설정할 수 있습니다.

 

네트워크(Network) 통신 테스트 명령어 ping

ping 명령어를 사용한 통신 테스트

실제로 ip와 domain으로 외부 통신을 확인할 수 있습니다. 외부만 아니라 내부 네트워크 확인도 활용 가능합니다.

 

PCI Device 정보 확인 명령어 lspci

lspci 명령어를 사용한 PCI device 확인

lspci 명령어를 사용하면 현재 인식이 확인되는 pci 장치를 확인할 수 있습니다.

grep을 사용하여 -i 옵션을 붙이면, 대소문자 구분 없이 키워드 검색이 가능합니다.

추가로 하드웨어(hardware)를 장착하였을 때 유용하게 쓸 수 있습니다.

 

서버에 OS(Operating System)가 설치된 후, 가장 기본적으로 확인할 수 있는 명령어들을 나열해 보았습니다.

입문하는 엔지니어라면 필수적으로 알아 두시길 바랍니다.

감사합니다.

Comments