레이블이 gnu인 게시물을 표시합니다. 모든 게시물 표시
레이블이 gnu인 게시물을 표시합니다. 모든 게시물 표시

centos bash 4.4 설치

# centos 7.7 사용중인데 bash 최신 버전(4.4이상)을 설치하려고
# yum 으로 시도하면 4.2.46 만 설치된다.
sudo yum install bash

# 때문에 소스를 다운로드 받아 빌드 및 설치해본다.
wget https://ftp.gnu.org/gnu/bash/bash-4.4.tar.gz
tar zxvf bash-4.4.tar.gz
cd ./bash-4.4
./configure
make -j4
sudo make install

# 이제 로그아웃 후 다시 로그인해 버전 확인
bash --version
GNU bash, version 4.4.0(1)-release (x86_64-unknown-linux-gnu)
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

command line option style

command line option 을 줄때 다음과 같이 3가지 스타일이 있다.

예) 버전 보기 옵션의 경우
long option style (GNU)
--version

short option style (UNIX)
-v

old option style (BSD)
v

v 가  version 대신 verbose 라고도 생각할 수 있기 때문에 --version 로 명확하게 표현하는게 좋을것 같은데 넘 길어 잘 사용하지 않는것 같다.
사실 옵션이 익숙해지면 보통 dash(-) 가 없는 옵션 스타일 가장 짧아 쓰기 편하다.

참고
https://www.gnu.org/software/tar/manual/html_section/tar_21.html
http://unix.stackexchange.com/questions/78691/unix-bsd-gnu-options-in-linuxs-ps-command-where-are-they-from

Linux unix epoch time <-> date 상호 변환

# date 관련 자세한 설명은 man page 를 참고하자
# man date
# https://man7.org/linux/man-pages/man1/date.1.html
# %Y - year
# %m - month
# %d - day of month (01~31)
# %H - hour
# %M - minute (00~59)
# %S - second (00~60)
# %s  seconds since 1970-01-01 00:00:00 UTC

# 현재 년도
date +%Y

# 현재 월
date +%m

# 현재 시간,분
date +%H:%M

# 현재 unix (epoch) time seconds
date +%s
# 현재 unix (epoch) time seconds + nano seconds 까지 표시
date +%s%N
# 특정 date -> unix time
date -d "2014-02-15" +%s

# 특정 unix time -> date
date -d "@1392390000"


#####


# [mac]
# mac 의 기본 date 명령은 linux date 명령과 사용방법, 지원 옵션등이 다르다.
# 특정 date -> unix time

# -j do not try to set the date
# -f user input_fmt
date -j -f "%Y-%m-%d %H:%M:%S" "2014-02-15 15:02:17" "+%s"

# 특정 unix time -> date
date -r 1392390000


#####


# mac 에서 linux date 를 사용하려면 gnu coreutils를 설치후 gdate 명령을 사용해야 한다.
brew install coreutils
# 참고로 coreutils 설치하면 g로 시작하는 명령어들이 /usr/local/bin/에 설치된다.
# 이제 다음과 같이 linux date 를 사용할 수 있다.
gdate +%s%N