반응형

string의 format 함수로 글자 길이 고정하기.

 

print('{:<5s} [{:20s}] {:^30s} {:>5s}'.format('#####', time.ctime(), cnt_step,'#####'))

 

들여쓰기 하고 싶은 방향에 따라 <, ^, >를 넣어주면 된다.

반응형

'Computer Science > python' 카테고리의 다른 글

f-string을 활용한 regex 사용법  (0) 2022.02.15
Primer 서열 분석을 위한 python 코드  (0) 2021.08.17
python multi-level argparse  (0) 2019.07.12
python 파일 입출력  (0) 2019.07.12
Python 설치 및 실행하기  (0) 2017.08.16
반응형

통합 개발 환경 플랫폼 Eclipse를 사용하여 linux 서버에 ssh로 연결하여 스크립트 실행, 코딩 등을 할 수 있다.

 

프록시 등 기본 기능도 지원하고 있으며 vi를 쓰지 않아도 되고 ftp도 동시에 지원가능한 것이 가장 큰 장점인듯하다.

 

추가 편의 기능에 대해서는 차차 업데이트 하고 초기 셋팅만 설명하려고 한다.

 

최신버전 eclipse 다운로드 - https://www.eclipse.org/downloads/

 

Eclipse Downloads | The Eclipse Foundation

The Eclipse Foundation - home to a global community, the Eclipse IDE, Jakarta EE and over 350 open source projects, including runtimes, tools and frameworks.

www.eclipse.org

 

다운로드받고 설치할 때 무슨 버전을 받을지 물어보는데 사용하는 언어에 맞게 설치하면 된다. 어차피 패키지 다운로드 받으면 필요한 기능은 다 사용할 수 있다.

 

 

Remote System Explorer를 설치하기 위해 Help -> Install New Software. work with에

http://download.eclipse.org/releases/luna를 입력한다. Remote를 검색하여 Remote System Explorer End-User Runtime를 설치한다.

 

오른쪽 하단 설치바가 끝까지 가면 Eclipse가 재시작되고 난 후 Window -> Perspective -> Open Perspective -> Other에서 Remote System Explorer를 찾는다. 

 

새로운 창에서 New Connection을 찾고 SSH Only로 접속한 후 Host name에 주소를 입력하고 진행하면 된다.

 

proxy를 사용해서 접속해야 한다면 Configure proxy setting에 들어가서 Active Provider를 Manual로 바꾸고 SOCKS에 값을 입력하면 된다.

 

 

반응형
반응형

Google Cloud Platform에 올라와있는 데이터를 다운로드하기위해서 설치한다.

 

https://cloud.google.com/sdk/docs/downloads-yum?hl=ko

 

yum을 사용하여 설치(Red Hat 및 CentOS)  |  Cloud SDK 문서  |  Google Cloud

Cloud SDK는 Red Hat Enterprise Linux 7, Red Hat Enterprise Linux 8, CentOS 7 시스템에 설치할 수 있는 패키지 형식으로 제공됩니다. 이 패키지에는 gcloud, gcloud alpha, gcloud beta, gsutil, bq 명령어만 포함됩니다. gcloud �

cloud.google.com

1. 링크에 쓰여져 있는대로 repository에 cloud SDK 정보를 업데이트 해주어야 한다.

sudo tee -a /etc/yum.repos.d/google-cloud-sdk.repo << EOM
[google-cloud-sdk]
name=Google Cloud SDK
baseurl=https://packages.cloud.google.com/yum/repos/cloud-sdk-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg
       https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOM

 

2. Cloud SDK를 설치한다.

yum install google-cloud-sdk

 

3. 데이터를 다운로드 한다.

gsutil cp gs://gatk-best-practices/somatic-b37/* .

 

 

반응형
반응형

공용으로 사용하는 서버에서 리눅스에 설치된 tool들의 환경변수 변경은 버전관리가 까다롭다.

 

Environment Modules을 설치하면 이런 부분을 상당히 쉽게 처리할 수 있다.

 

관리자(또는 유저가 직접 해도 상관없다)가 프로그램들의 경로를 미리 설정해놓고 그때 그때 필요한 버전을 로드하여 환경 변수를 변화시킨다.

 

https://modules.readthedocs.io/en/latest/index.html

 

Environment Modules — Modules documentation

© Copyright 1996-1999 John L. Furlani & Peter W. Osel, 1998-2017 R.K.Owen, 2002-2004 Mark Lakata, 2004-2017 Kent Mein, 2016-2020 Xavier Delaruelle Revision 0e43e359.

modules.readthedocs.io

다운로드는 https://github.com/cea-hpc/modules git hub에서 다운받아 진행한다.

 

cea-hpc/modules

Environment Modules: provides dynamic modification of a user's environment - cea-hpc/modules

github.com

압축을 풀고 아래처럼 설치한다.

$ ./configure --prefix=/usr/share/Modules \
              --modulefilesdir=/etc/modulefiles
$ make
$ make install

modulfilesdir은 path가 설정되어 있는 파일이 위치하는 폴더이다. 

 

/etc/modulefiles/gcc/9.2.0 파일을 만들고 아래처럼 내용을 채운다.

#%Module1.0######################################################################
##
## GCC modulefile
##
proc ModulesHelp { } {
    puts stderr "\tThe GCC Module\n"
    puts stderr "\tThis module adds GCC directory to your path."
}

module-whatis   "adds `.' to your PATH environment variable"

conflict gcc

module load mpfr mpc gmp
#prereq gmp

prepend-path    PATH    /data/Tools/gcc/gcc-9.2.0/bin
prepend-path    PATH    /data/Tools/gcc/gcc-9.2.0/include
prepend-path    PATH    /data/Tools/gcc/gcc-9.2.0/share
prepend-path    LD_LIBRARY_PATH /data/Tools/gcc/gcc-9.2.0/lib
prepend-path    LD_LIBRARY_PATH /data/Tools/gcc/gcc-9.2.0/lib64
prepend-path    LD_LIBRARY_PATH /data/Tools/gcc/gcc-9.2.0/libexec

 

홈페이지 메뉴얼을 참고하면 되지만 필요한 부분만 언급하자면

 

modulefiles폴더 하위폴더로 gcc가 모듈의 이름이며 9.2.0이 버전이다.

 

module load gcc 또는 module load gcc/9.2.0 으로 로드 할 수 있으며 버전을 명시하지 않을 경우 숫자가 가장 높은 버전을 자동으로 로드한다.

 

conflict는 해당 모듈이름과 동시에 로드 할 수 없는 것으로 동일 프로그램의 여러 버전이 로드되는 것을 방지할 수 있다.

module load는 gcc 모듈을 사용하기위해 dependency가 있는 다른 모듈을 로드하는 것이다.

prereq는 해당 모듈이 있지 않으면 에러가 난다. 

prepend-path는 PATH의 앞에 해당 경로를 추가하는 것이다. 

반응형

'Computer Science > linux' 카테고리의 다른 글

hostname 변경  (0) 2020.07.14
Google Cloud SDK linux 설치  (0) 2020.05.26
계정, 그룹 생성, 추가 및 삭제  (0) 2020.02.24
Zip 압축하기 / 압축 해제하기  (0) 2020.02.24
crontab 사용하기  (0) 2020.02.21
반응형

useradd는 모든 설정을 지정해주어야하기때문에 adduser를 사용하기로 한다.

 

필요에따라 userid와 groupid를 넣어서 만들고 passwd userid를 입력하여 비밀번호도 지정한다.

 

adduser -u [id] -g [group] <userid>
passwd userid

 

userid와 groupid에 대한 정보는 아래 폴더에 존재한다.

/etc/passwd
user1:x:765:1000::/home/user1:/bin/bash 

/etc/group
user:x:999: 
guest:x:900:
test1:x:1000:user1,user2,user3
test2:x:1001:user2

passwd 파일 안에는 아이디, uid, groupid, home 폴더 위치 등이 존재한다. 

uid 또는 gid를 이 파일 내에서 수정해도 되지만 이럴 경우 이미 만들어진 폴더, 파일등에서도 gid 정보 등을 같이 수정해줘야하는 불편함이 있다.

처음 생성할 때 정하는것이 좋다.

 

group 파일 안에는 그룹 이름과 gid, 해당 그룹에 속하는 아이디 등이 존재한다.

user1, user2, user3 모두 test1 그룹에 속하며 user2는 test2 그룹에도 동시에 속한다.

 

 

 

 

 

반응형
반응형

zip으로 압축할 때 

경로내의 모든 하위 폴더도 압축하려면

zip -r newfile.zip /path/to/directory/

 

zip으로 압축 해제 할 때

 

원하는 파일들만 압축 해제

unzip a.zip b.zip c.zip

 

디렉토리 내의 모든 zip파일 해제

unzip '*.zip'

 

여러 파일을 압축 해제하는데 특정 폴더에 넣고 싶을 때

unzip '*.zip' -d /path/to/directory/

 

반응형
반응형

 

Linux에서 정해진 시간마다 작업을 하려면 crontab 명령어를 실행하면 된다.

 

주로 스크립트 백업에 사용하는 편이다.

 

명령어를 직접 입력해도 되고 shell 스크립트를 작성해서 해당 스크립트를 실행하도록 해도 된다.

 

(명령어 형식)
# crontab -l          ; 현재 예약된 작업 리스트를 보여줌
# crontab -e         ; 현재 예약된작업 리스트를 편집함
# crontab -r          : 현재 예약된 리스트를 지움


  분    시    날    달  요일   
0-59 0-23 1-31 1-12 0-7 명령어

 

아래 페이지를 참고하면 원하는 시간을 정확하게 구할 수 있을 것이다.


https://crontab.guru/

 

crontab.guru - the cron schedule expression editor

loading... Cron job failures can be disastrous! We created Cronitor because cron itself can't alert you if your jobs fail or never start. Cronitor is easy to integrate and provides you with instant alerts when things go wrong. Learn more about cron job mon

crontab.guru

 

 

crontab -e 를 치면 vi 가 실행되고 내용을 입력하고 저장,종료하면 된다.

 

 

반응형

'Computer Science > linux' 카테고리의 다른 글

계정, 그룹 생성, 추가 및 삭제  (0) 2020.02.24
Zip 압축하기 / 압축 해제하기  (0) 2020.02.24
su 와 su- 의 차이  (1) 2019.09.19
Linux 새 디스크 연결하기  (0) 2019.08.30
Centos7 네트워크 설정  (0) 2019.08.27
반응형

su (substitution user)는 리눅스 내에서 user를 바꾸는 명령어다.

 

su [user] 를 사용함으로 해당 유저로 변경 가능하다.

 

su는 user를 바꾸기만하고 대부분의 환경 변수는 이전 user의 것을 따라간다.

 

su-는 유저를 바꾼 후 다시 shell에 접속한다. 즉 환경변수가 새로운 user의 것으로 바뀐다.

 

번외로 su 이후에 user아이디를 입력하지 않으면 root로 접속하겠다는 의미이다.

반응형

'Computer Science > linux' 카테고리의 다른 글

Zip 압축하기 / 압축 해제하기  (0) 2020.02.24
crontab 사용하기  (0) 2020.02.21
Linux 새 디스크 연결하기  (0) 2019.08.30
Centos7 네트워크 설정  (0) 2019.08.27
도메인 이름을 IP 주소로 변환  (0) 2019.08.27
반응형

데이터 백업을 위해 외부 HDD를 연결하는데 새 HDD라면 파티션부터 다시 잡아줘야 할 필요가 있다.

 

먼저 연결이 제대로 되었는지 확인해야 한다.

 

fdisk -l


가장 마지막에 연결한 장치가 밑에 나오게 되며 대략 아래와 같은 형태를 가진다.

Disk /dev/sdb: 36002.0 GB, 36002026487808 bytes, 70316457984 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 262144 bytes / 1048576 bytes
Disk label type: gpt

해당 장치가 맞는지 용량을 보고 확인하자.

 

장치가 맞다면 파티션을 나누고 포맷을 해야한다.

 

parted /dev/sdb 

장치 명은 위에서 확인한대로 진행

 

(parted)mklabel gpt
(parted)mkpart primary 0 100%

Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel?
I

파티션을 여러개로 나눠서 따로 저장할 수 있지만 데이터 백업용 디스크는 그렇게 할 필요가 없다.

 

(parted)p

제대로 진행되었는지 확인

 

(parted)q

제대로 파티션이 나누어 졌다면 종료.

 

 

mkfs.ext4 -f /dev/sdb1

ext4 포맷으로 sdb장치의 1번 파티션을 포맷한다. 

 

 

 mount /dev/sdb1 /data

sdb장치의 1번 파티션을 /data 폴더에 마운트 시킨다.

 

 

반응형

'Computer Science > linux' 카테고리의 다른 글

crontab 사용하기  (0) 2020.02.21
su 와 su- 의 차이  (1) 2019.09.19
Centos7 네트워크 설정  (0) 2019.08.27
도메인 이름을 IP 주소로 변환  (0) 2019.08.27
비밀번호 없이 ssh로 로그인하기  (0) 2019.08.26
반응형

 

nmcli d 명령을 사용해 이더넷 장치명과 연결 여부를 확인할 수 있다.

 

 

현재 서버에서는 4+1개의 소켓이 있으며 1,2에 각각 랜선을 꽂아놨기기 때문에 위와같이 나오는 것을 확인하였다.

 

vi /etc/sysconfig/network-scripts/ifcfg-[]

 

위 경로로 들어가면 각각의 디바이스 별로 설정값이 저장된 파일이 있으며

 

유동 IP의 경우 ONBOOT=yes 로 수정하기만 하면 된다.

 

고정 IP의 경우 아래와 같은 형식으로 IP를 직접 입력해 주어야 한다.

 

ONBOOT=yes
IPADDR=10.20.30.41
PREFIX=24
#NETMASK=255.255.255.0
GATEWAY=10.20.30.254
DNS1=168.126.63.1
DNS2=168.126.63.2

 

반응형

'Computer Science > linux' 카테고리의 다른 글

su 와 su- 의 차이  (1) 2019.09.19
Linux 새 디스크 연결하기  (0) 2019.08.30
도메인 이름을 IP 주소로 변환  (0) 2019.08.27
비밀번호 없이 ssh로 로그인하기  (0) 2019.08.26
linux 계정 정보 옮기기  (1) 2019.08.21

+ Recent posts