구분자 사용해서 뽑아오기
\구분자
`(single qutoation)로 감싸주면 됨 `{print $열번호}`

cat test.txt | awk -F \| '{print $4","$5","$6","$17","$18}' > busan.csv

원본 :

26110|2608|2611010100|부산광역시|중구|영주동|261103006001|초량상로|0|1|4||48910|근린생활시설|0|영주제1동|1139873.245417|1680775.057503

결과

$ cat busan.csv
부산광역시,중구,영주동,1139873.245417,1680775.057503

'BackEnd > Linux' 카테고리의 다른 글

Yum Repository 만들기 (2)  (0) 2019.12.24
Yum Repository 만들기 (1)  (0) 2019.12.23
[Linux]NoLogin  (0) 2019.10.08
Swap 메모리 늘리기  (0) 2019.09.17
cache 삭제하기  (0) 2019.08.27

yum Repository 만들기

  1. 이전 (1) 에서 미리 R설치에 대한 rpm 파일을 모두 다운 받았뒀다. 기본의 yum들을 백업 함

    $cd /etc/yum.repos.d
    //root 계정 로그인
    #su
    //백업 폴더 생성
    #mkdir bak
    // /etc/yum.repos.d/ 하위 repository, bak 폴더로 이동
    #mv . bak
    #ls
    bak

  2. 다운받았던 rpm 디렉토리(/home/morriskim/data/rpm)를 repository파일로 등록

vi /etc/yum.repos.d/morris.repo

[rpm]
name=morrisRepository
baseurl=file:///home/pduser/data/rpm
enabled=1
gpgcheck=0
  1. createRepository

    #createrepo /home/pduser/data/rpm

  2. yum repo 리스트 확인

이전의 PuzzleRepository 가 있는 지 확인

# yum repolist
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
rpm                                                                                           | 2.9 kB  00:00:00
rpm/primary_db                                                                                | 247 kB  00:00:00
repo id                                            repo name                                                   status
rpm                                                morrisRepository                                            268
  1. yum 을 통한 설치

    $sudo yum install R

참고

local repository 만들기

'BackEnd > Linux' 카테고리의 다른 글

awk 사용하기  (0) 2020.03.02
Yum Repository 만들기 (1)  (0) 2019.12.23
[Linux]NoLogin  (0) 2019.10.08
Swap 메모리 늘리기  (0) 2019.09.17
cache 삭제하기  (0) 2019.08.27

내부 인터넷을 사용하는 곳에서는 다양한 yum install 에 있어서 설치가 불가능 할경우가 많다. 그래서 offline 으로 미리 다운을 받아가야한다. 그래서 local yum repository를 생성해 가기로 했다.

curl 이나 wget 으로 rpm 을 다운받아서할수 있지만 패키지 의 의존성을 각자 개별적으로 다운을 받아야한다 이럴때 함께 다운받으려면 ?

rpm 다운로드 하기

쉽게 다운로드 하려면 다음과 두 가지 메서드를 이용하면 패키지를 동시에 다운받을 수 있다.

  1. downloadonly

    $sudo yum install yum-plugin-downloadonly

    $sudo yum install --downloadonly

위의 명령어를 사용하면 default location 으로 /var/cache/yum/ rhel-{arch}-channel/packages 에 다운로드된다.

지정된 위치를 사용하려면

$sudo yum install --downloadonly --downloaddir=<directory> <package-name>
  1. yumdownloader

    $sudo yum install yum-utils

    // 단일 패키지만 다운로드
    $sudo yumdownloader

    // 의존성 rpm 들이 한꺼번에 다운로드됨
    $sudo yumdownloader --resolve

    //위치 지정해서 패키지 다운로드
    $sudo yumdownloader --resolve --destdir=
    $sudo yumdownloader --resolve --destdir

참고

How to Download A RPM Package with All Dependencies In CentOS

'BackEnd > Linux' 카테고리의 다른 글

awk 사용하기  (0) 2020.03.02
Yum Repository 만들기 (2)  (0) 2019.12.24
[Linux]NoLogin  (0) 2019.10.08
Swap 메모리 늘리기  (0) 2019.09.17
cache 삭제하기  (0) 2019.08.27

사용자 계정으로 접속하지 않게 하는방법

/bin/false , /bash/nologin 두가지 방법이 있다.

/etc/passwd 사용자 계정 부분에 사용할수 있음

  1. False

/bin/false

시스템의 로그인은 불가능, FTP 서버 프로그램 같은 프로그램도 불가능

쉘 ,ssh 홈디렉토리를 사용할 수 없음. 단순히 계정만 필요할 경우 생성

  1. Nologin

/sbin/nologin

/sbin/nologin

사용자 계정의 쉘 부분에 /bin/nologin 으로 설정 하면 로깅 불가하고, 메세지들은 반환 됨.

ssh 사용 불가, ftp의 경우에는 사용 가능

예시

ntp:x:38:38::/etc/ntp:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
postgres:x:26:26:PostgreSQL Server:/var/lib/pgsql:/bin/bash
morriskim:x:1001:1001::/home/morriskim:/bin/bash

'BackEnd > Linux' 카테고리의 다른 글

Yum Repository 만들기 (2)  (0) 2019.12.24
Yum Repository 만들기 (1)  (0) 2019.12.23
Swap 메모리 늘리기  (0) 2019.09.17
cache 삭제하기  (0) 2019.08.27
Bash 프로그래밍 기초 - 파라미터 받아오기  (0) 2019.08.20

swap 파티션 : 디스크의 용량일부를 가상 메모리 공간으로 할당해 실제 메모리 공간이 부족하거나 어플리케이션에 따라 실제 메모리와 스왑 메모리를 혼용해서 사용하게 되는것

기존의 스왑 메모리가 있는지 확인

$swapon -s 
Filename                                Type            Size    Used    Priority
/dev/nvme0n1p3                          partition       8388604 81020   -2
  1. 스왑 파일 생성

    $ sudo fallocate -l 30GB /swapfile

  2. 파일을 시스템에서만 접근이 가능하도록 권한설정

    $sudo 600 /swapfile

  3. 스왑 포맷형태로 변환

    $sudo mkswap /swapfile

  4. 스왑 파일 시스템 등록

    $sudo swap /swapfile

결과

$ free -h
              total        used        free      shared  buff/cache   available
Mem:            30G        1.1G         29G        2.3M        570M         29G
Swap:           35G        1.5G         34G
  1. 재부팅 후에도 시스템에서 스왑 파일을 사용할 수 있게 변경

/etc/fstab 파일 수정

/swapfile   none    swap    sw    0   0

스왑 파일 삭제 하기

스왑 끄기

$sudo swapoff /swapfile

파일 삭제

$rm /swapfile

/etc/fstab 에 등록한 항목 삭제

참고 : https://extrememanual.net/12975

'BackEnd > Linux' 카테고리의 다른 글

Yum Repository 만들기 (1)  (0) 2019.12.23
[Linux]NoLogin  (0) 2019.10.08
cache 삭제하기  (0) 2019.08.27
Bash 프로그래밍 기초 - 파라미터 받아오기  (0) 2019.08.20
Bash 프로그래밍 기초 - If  (0) 2019.08.20

# echo 3 > /proc/sys/vm/drop_caches

 

https://linux-mm.org/Drop_Caches

'BackEnd > Linux' 카테고리의 다른 글

[Linux]NoLogin  (0) 2019.10.08
Swap 메모리 늘리기  (0) 2019.09.17
Bash 프로그래밍 기초 - 파라미터 받아오기  (0) 2019.08.20
Bash 프로그래밍 기초 - If  (0) 2019.08.20
Bash 프로그래밍 기초 - for  (0) 2019.08.20

파라미터 받아오기

$ vi param.sh
#!/bin/bash

echo "Total Param = $#, PROG: $0, param1 = $1, param2 = $2"

파라미터 출력하기

$# : 파라미터의 갯수

$0 : 프로그램이름

$[num] : 입력된 순서의 파라미터

$ sh param.sh linux basic
Total Param = 2, PROG: param.sh, param1 = linux, param2 = basic

'BackEnd > Linux' 카테고리의 다른 글

Swap 메모리 늘리기  (0) 2019.09.17
cache 삭제하기  (0) 2019.08.27
Bash 프로그래밍 기초 - If  (0) 2019.08.20
Bash 프로그래밍 기초 - for  (0) 2019.08.20
Bash 프로그래밍 기초 - array  (0) 2019.08.19

기본 문법

[ ] 의 전후에 띄어쓰기를 해주어야한다!!

#!/bin/bash
if [ condition ] ;then
    content
fi



value=0

if [ ${value} -eq 0 ];then
    echo value is 0
fi

조건 내용
A -eq B A 와 B가 같은 경우 (숫자만)
A = B 문자열 비교

참고

https://jink1982.tistory.com/48

'BackEnd > Linux' 카테고리의 다른 글

cache 삭제하기  (0) 2019.08.27
Bash 프로그래밍 기초 - 파라미터 받아오기  (0) 2019.08.20
Bash 프로그래밍 기초 - for  (0) 2019.08.20
Bash 프로그래밍 기초 - array  (0) 2019.08.19
파일 행 수 세기  (1) 2019.07.09

기본적인 프로그래밍(c, java, ...) 에서는 아래와 같이 사용하지만

for(int i =0; i< 10;i++){
    println("hello")
}

bash 에서는 i 의 값이 미리 정해줘야 한다.

for i in 1 2 3 4 5 라고 하면 i 에서는 1 , 2 , 3, 4 , 5를 순차적으로 반복할것이다.

for i in a b c d e 로 한다면 ? i 에는 a, b , c, d, e 가 순차적으로 i에 적용될것이다.

for문이 시작되면 do 와 done 사이에 반복될 내용을 적어주면된다.

기초 문법 (1)

#!/bin/bash
for i in 1 2 3 4 5
do
  echo "hi $i"
done

기초 문법(2)

#!/bin/bash
for i in {1..5}
do
  echo "hello $i"
done

실습

이전의 배열인 array1 을 가지고 for문을 실행 해보자

#!/bin/bash
array1=(a b c d e)

echo "array1[0] = ${array1[0]}"  ## 특정 인덱스의 값 가지고오기
echo "array1[*] = ${array1[*]}" ## 전체 배열의 값 출력
echo "array1[@] = ${array1[@]}" ## 전체 배열의 값 출력
echo "!array1[@] = ${!array1[@]}" ## 전체 배열의 인덱스의 값 출력
echo "#array1[@] size = ${#array1[@]}" ## 배열의 사이즈 크기 출력
echo "#array1[0] = ${#array1[0]}" ## 배열[0] 의 사이즈 크기

#인덱스의 값 
for i in ${!array1[@]}
do
  echo "hi $i"
done

#배열의 모든 값 사용 
for i in ${array1[@]}
do
  echo "hi $i"
done

$ sh dataset_maker.sh
array1[0] = a
array1[*] = a b c d e
array1[@] = a b c d e
!array1[@] = 0 1 2 3 4
#array1[@] size = 5
#array1[0] = 1
hi 0
hi 1
hi 2
hi 3
hi 4
hi a
hi b
hi c
hi d
hi e

'BackEnd > Linux' 카테고리의 다른 글

Bash 프로그래밍 기초 - 파라미터 받아오기  (0) 2019.08.20
Bash 프로그래밍 기초 - If  (0) 2019.08.20
Bash 프로그래밍 기초 - array  (0) 2019.08.19
파일 행 수 세기  (1) 2019.07.09
Postgresql Install & remove  (0) 2019.06.13

Bash Array 배열

bash 쉘에서 배열을 사용하려고할 때

선언하는 방법

array1=("a" "b" "c" "d" "e")
array2=(a b c d e)

배열 값 가져오기

array1=(a b c d e)

echo "array1[0] = ${array1[0]}"  ## 특정 인덱스의 값 가지고오기
echo "array1[*] = ${array1[*]}" ## 전체 배열의 값 출력
echo "array1[@] = ${array1[@]}" ## 전체 배열의 값 출력
echo "!array1[@] = ${!array1[@]}" ## 전체 배열의 인덱스의 값 출력
echo "#array1[@] size = ${#array1[@]}" ## 배열의 사이즈 크기 출력
echo "#array1[0] = ${#array1[0]}" ## 배열[0] 의 사이즈 크기

출력값

$ sh dataset_maker.sh
array1[0] = a
array1[*] = a b c d e
array1[@] = a b c d e
!array1[@] = 0 1 2 3 4
#array1[@] size = 5
#array1[0] = 1

'BackEnd > Linux' 카테고리의 다른 글

Bash 프로그래밍 기초 - 파라미터 받아오기  (0) 2019.08.20
Bash 프로그래밍 기초 - If  (0) 2019.08.20
Bash 프로그래밍 기초 - for  (0) 2019.08.20
파일 행 수 세기  (1) 2019.07.09
Postgresql Install & remove  (0) 2019.06.13

+ Recent posts