즐겁게 개발을...

개발보다 게임이 더 많이 올라오는 것 같은...

써드파티 도구/Linux (CentOS7)

[2021.04] Linux에서 자주 사용하는 명령어 모듬 (지속 업데이트)

다물칸 2021. 4. 17. 11:20
728x90

시스템

OS버전 확인

cat /etc/*release*

호스트 이름 변경

hostnamectl set-hostname myhost

리눅스 커널버전 확인

grep . /etc/*-release

리눅스 OS비트 확인

arch

메모리 확인

cat /proc/meminfo | grep MemTotal

CPU 스팩확인

echo "전체 CPU정보"
cat /proc/cpuinfo
echo "논리 코어"
grep -c processor /proc/cpuinfo
echo "물리 CPU 수"
grep "physical id" /proc/cpuinfo | sort -u | wc -l
echo "물리 CPU의 코어 수"
grep "cpu cores" /proc/cpuinfo | tail -1

DISK 스팩확인

fdisk -l
smartctl -i /dev/sda

네트워크 카드(NIC)의 UUID확인

nmcli connection

Nohup 실행방법

# Nohup은 백그라운드로 프로세스를 실행할 수 있는 툴입니다.

# 실행 스크립트 생성

$ vi run.sh
#!/bin/bash
nohup 실행명령 >> nohup.out 2>&1 & echo $! > nohup.pid
$ chmod +x run.sh

# 종료 스크립트 생성

$ vi stop.sh
#!/bin/bash
kill -9 `cat nohup.pid`
$ chmod +x stop.sh

파일/폴더

폴더 용량 확인

du -sh * | sort -nr

폴더 중 가장 크기가 큰 폴더 찾기

du -h --max-depth=1 | sort -hr

폴더 중 가장 크기가 큰 10개 폴더 찾기

du -hsx * | sort -rh | head -n 10

윈도우의 CrLf(캐리지리턴+라인피드)를 Linux/Unix의 Lf(라인피드)로 치환하는 방법

# 윈도우에서 편집하고 Linux로 업로드해서 보면 윈도우는 리턴값이 Crlf인데 Linux/Unix는 
# Lf(Line Feed)로만 사용해서 명령이 먹지 않습니다. 이럴때 사용하는 방법입니다.

$ vi /usr/bin/sedr
sed -i -e 's/\r$//' $1
$ chmod +x /usr/bin/sedr

# 사용방법
$ sedr /home/user/run.sh

네트워크

방화벽 오픈

# 제가 사용하는 방법입니다. pop라는 파일에 쉘스크립트 명령을 사용하는 방법 애용
$ sudo vi /usr/bin/pop
echo "++ $2 Port Open : $1"
sudo firewall-cmd --permanent --zone=public --add-port=$1/tcp
sudo firewall-cmd --reload
$ chmod +x /usr/bin/pop

# 사용방법
$ pop 8080

네트워크 설정 예시

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
#BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="enp0s3"
# UUID는 변경되는 값 (NIC)
UUID="91af51db-7cf0-4069-9433-77d356b31bca"
DEVICE="enp0s3"
ONBOOT="yes"

BOOTPROTO="static"
IPADDR="192.168.0.123"
GATEWAY="192.168.0.1"
DNS1="168.126.63.1"
DNS2="168.126.63.2"

CentOS (Redhat)

Yum 캐시 지우기

sudo yum clean packages
sudo yum clean metadata
sudo yum clean dbcache
sudo yum clean all
sudo yum makecache

Docker 설치

yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce
systemctl enable docker
systemctl start docker

# Docker 사용할 사용자에 docker그룹을 할당, 할당 후 해당 사용자는 다시 접속필요
usermod -G user1,docker,wheel user1

Docker-Compose 설치

# https://github.com/docker/compose/releases 최신버전 확인

sudo curl -L "https://github.com/docker/compose/releases/download/1.28.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

PlantUML 서버 설치

sudo yum install -y graphviz tomcat tomcat-webapps; 
sudo yum install -y git java-1.8.0-openjdk-devel maven; 
git clone https://github.com/plantuml/plantuml-server.git; 
cd plantuml-server; 
mvn package;

# http://sourceforge.net/projects/plantuml/files/plantuml.war/download 페이지에서 plantuml.war파일을 다운
# 웹페이지에서 자동 다운되니 잠시 기다려주세요.
# 다운 받은 파일을 리눅스 서버에 업로드

sudo cp plantuml.war /var/lib/tomcat/webapps/plantuml.war;
sudo chown tomcat:tomcat /var/lib/tomcat/webapps/plantuml.war;
sudo systemctl enable tomcat;
sudo systemctl start tomcat;

sudo firewall-cmd --permanent --add-port=8080/tcp;
sudo firewall-cmd --reload;

# 웹페이지에서 확인 http://192.168.0.2/plantuml

Node 설치 (NVM을 이용)

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.2/install.sh | bash
source ~/.bashrc
nvm install v14

# 위 설치된 버전에 맞게 아래를 수정하여 실행한다.
nvm use v14.16.1
nvm alias default v14.16.1
node -v

# 유용한 Yarn과 pm2 설치
npm install -g yarn pm2
반응형