UJP - 技術情報1

Life is fun and easy!

不正IP報告数

Okan Sensor
 
メイン
ログイン
ブログ カテゴリ一覧

GNU Core Utilitiesをインストール

GNU Core Utilitiesをインストール


更新履歴

  • 初版 2016/07/11
  • 更新日 2017/12/04

はじめに

  • macOSに入っているコマンドは,BSDで提供されたものなので,一部のコマンドがLinuxと動作が異なる.たとえばdateコマンドは日付けフォーマットの方法が異なるので互換性が無くて困る.
  • そんな時には,GNU Core UtilitiesをMacにインストールすれば,Linuxと互換性が高くなる.この手順書ではインストールとパスの設定について説明する.

インストール

  • パッケージを探す.
       MBA2014:~ ujpadmin$ brew search coreutils
       coreutils                    xml-coreutils
       MBA2014:~ ujpadmin$

インストールする.

       MBA2014:~ ujpadmin$ brew install coreutils
       ==> Downloading https://homebrew.bintray.com/bottles/coreutils-8.25.yosemite.bottle.tar.gz
       ######################################################################## 100.0%
       ==> Pouring coreutils-8.25.yosemite.bottle.tar.gz
       ==> Caveats
       All commands have been installed with the prefix 'g'.
       If you really need to use these commands with their normal names, you
       can add a "gnubin" directory to your PATH from your bashrc like:
           PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"
       Additionally, you can access their man pages with normal names if you add
       the "gnuman" directory to your MANPATH from your bashrc as well:
           MANPATH="/usr/local/opt/coreutils/libexec/gnuman:$MANPATH"
       ==> Summary
       🍺  /usr/local/Cellar/coreutils/8.25: 425 files, 8.3M
       MBA2014:~ ujpadmin$
  • インストール完了.コマンド群がインストールされたパスが表示されている.

インストールされたコマンドを確認

  • ファイルを確認.
       MBA2014:~ ujpadmin$ ls /usr/local/opt/coreutils/libexec/gnubin
       [          du        mkdir      rm          tee
       base32     echo      mkfifo     rmdir       test
       base64     env       mknod      runcon      timeout
       basename   expand    mktemp     seq         touch
       cat        expr      mv         sha1sum     tr
       chcon      factor    nice       sha224sum   true
       chgrp      false     nl         sha256sum   truncate
       chmod      fmt       nohup      sha384sum   tsort
       chown      fold      nproc      sha512sum   tty
       chroot     groups    numfmt     shred       uname
       cksum      head      od         shuf        unexpand
       comm       hostid    paste      sleep       uniq
       cp         id        pathchk    sort        unlink
       csplit     install   pinky      split       uptime
       cut        join      pr         stat        users
       date       kill      printenv   stdbuf      vdir
       dd         link      printf     stty        wc
       df         ln        ptx        sum         who
       dir        logname   pwd        sync        whoami
       dircolors  ls        readlink   tac         yes
       dirname    md5sum    realpath   tail
       MBA2014:~ ujpadmin$
  • リストで再度確認.
       MBA2014:~ ujpadmin$ ls -la /usr/local/opt/coreutils/libexec/gnubin
       total 832
       drwxr-xr-x  106 ujpadmin  admin  3604  1 20 19:55 .
       drwxr-xr-x    5 ujpadmin  admin   170  1 20 19:55 ..
       lrwxr-xr-x    1 ujpadmin  admin    12  1 21 03:56 [ -> ../../bin/g[
       lrwxr-xr-x    1 ujpadmin  admin    17  1 21 03:56 base32 -> ../../bin/gbase32
       lrwxr-xr-x    1 ujpadmin  admin    17  1 21 03:56 base64 -> ../../bin/gbase64
       lrwxr-xr-x    1 ujpadmin  admin    19  1 21 03:56 basename -> ../../bin/gbasename
       lrwxr-xr-x    1 ujpadmin  admin    14  1 21 03:56 cat -> ../../bin/gcat
       lrwxr-xr-x    1 ujpadmin  admin    16  1 21 03:56 chcon -> ../../bin/gchcon
       lrwxr-xr-x    1 ujpadmin  admin    16  1 21 03:56 chgrp -> ../../bin/gchgrp
       lrwxr-xr-x    1 ujpadmin  admin    16  1 21 03:56 chmod -> ../../bin/gchmod
       lrwxr-xr-x    1 ujpadmin  admin    16  1 21 03:56 chown -> ../../bin/gchown
       lrwxr-xr-x    1 ujpadmin  admin    17  1 21 03:56 chroot -> ../../bin/gchroot
       lrwxr-xr-x    1 ujpadmin  admin    16  1 21 03:56 cksum -> ../../bin/gcksum
       lrwxr-xr-x    1 ujpadmin  admin    15  1 21 03:56 comm -> ../../bin/gcomm
       lrwxr-xr-x    1 ujpadmin  admin    13  1 21 03:56 cp -> ../../bin/gcp
       lrwxr-xr-x    1 ujpadmin  admin    17  1 21 03:56 csplit -> ../../bin/gcsplit
       lrwxr-xr-x    1 ujpadmin  admin    14  1 21 03:56 cut -> ../../bin/gcut
       lrwxr-xr-x    1 ujpadmin  admin    15  1 21 03:56 date -> ../../bin/gdate
       lrwxr-xr-x    1 ujpadmin  admin    13  1 21 03:56 dd -> ../../bin/gdd
       lrwxr-xr-x    1 ujpadmin  admin    13  1 21 03:56 df -> ../../bin/gdf
       lrwxr-xr-x    1 ujpadmin  admin    14  1 21 03:56 dir -> ../../bin/gdir
       lrwxr-xr-x    1 ujpadmin  admin    20  1 21 03:56 dircolors -> ../../bin/gdircolors
       lrwxr-xr-x    1 ujpadmin  admin    18  1 21 03:56 dirname -> ../../bin/gdirname
       lrwxr-xr-x    1 ujpadmin  admin    13  1 21 03:56 du -> ../../bin/gdu
       lrwxr-xr-x    1 ujpadmin  admin    15  1 21 03:56 echo -> ../../bin/gecho
       lrwxr-xr-x    1 ujpadmin  admin    14  1 21 03:56 env -> ../../bin/genv
       lrwxr-xr-x    1 ujpadmin  admin    17  1 21 03:56 expand -> ../../bin/gexpand
       lrwxr-xr-x    1 ujpadmin  admin    15  1 21 03:56 expr -> ../../bin/gexpr
       lrwxr-xr-x    1 ujpadmin  admin    17  1 21 03:56 factor -> ../../bin/gfactor
       lrwxr-xr-x    1 ujpadmin  admin    16  1 21 03:56 false -> ../../bin/gfalse
       lrwxr-xr-x    1 ujpadmin  admin    14  1 21 03:56 fmt -> ../../bin/gfmt
       lrwxr-xr-x    1 ujpadmin  admin    15  1 21 03:56 fold -> ../../bin/gfold
       lrwxr-xr-x    1 ujpadmin  admin    17  1 21 03:56 groups -> ../../bin/ggroups
       lrwxr-xr-x    1 ujpadmin  admin    15  1 21 03:56 head -> ../../bin/ghead
       lrwxr-xr-x    1 ujpadmin  admin    17  1 21 03:56 hostid -> ../../bin/ghostid
       lrwxr-xr-x    1 ujpadmin  admin    13  1 21 03:56 id -> ../../bin/gid
       lrwxr-xr-x    1 ujpadmin  admin    18  1 21 03:56 install -> ../../bin/ginstall
       lrwxr-xr-x    1 ujpadmin  admin    15  1 21 03:56 join -> ../../bin/gjoin
       lrwxr-xr-x    1 ujpadmin  admin    15  1 21 03:56 kill -> ../../bin/gkill
       lrwxr-xr-x    1 ujpadmin  admin    15  1 21 03:56 link -> ../../bin/glink
       lrwxr-xr-x    1 ujpadmin  admin    13  1 21 03:56 ln -> ../../bin/gln
       lrwxr-xr-x    1 ujpadmin  admin    18  1 21 03:56 logname -> ../../bin/glogname
       lrwxr-xr-x    1 ujpadmin  admin    13  1 21 03:56 ls -> ../../bin/gls
       lrwxr-xr-x    1 ujpadmin  admin    17  1 21 03:56 md5sum -> ../../bin/gmd5sum
       lrwxr-xr-x    1 ujpadmin  admin    16  1 21 03:56 mkdir -> ../../bin/gmkdir
       lrwxr-xr-x    1 ujpadmin  admin    17  1 21 03:56 mkfifo -> ../../bin/gmkfifo
       lrwxr-xr-x    1 ujpadmin  admin    16  1 21 03:56 mknod -> ../../bin/gmknod
       lrwxr-xr-x    1 ujpadmin  admin    17  1 21 03:56 mktemp -> ../../bin/gmktemp
       lrwxr-xr-x    1 ujpadmin  admin    13  1 21 03:56 mv -> ../../bin/gmv
       lrwxr-xr-x    1 ujpadmin  admin    15  1 21 03:56 nice -> ../../bin/gnice
       lrwxr-xr-x    1 ujpadmin  admin    13  1 21 03:56 nl -> ../../bin/gnl
       lrwxr-xr-x    1 ujpadmin  admin    16  1 21 03:56 nohup -> ../../bin/gnohup
       lrwxr-xr-x    1 ujpadmin  admin    16  1 21 03:56 nproc -> ../../bin/gnproc
       lrwxr-xr-x    1 ujpadmin  admin    17  1 21 03:56 numfmt -> ../../bin/gnumfmt
       lrwxr-xr-x    1 ujpadmin  admin    13  1 21 03:56 od -> ../../bin/god
       lrwxr-xr-x    1 ujpadmin  admin    16  1 21 03:56 paste -> ../../bin/gpaste
       lrwxr-xr-x    1 ujpadmin  admin    18  1 21 03:56 pathchk -> ../../bin/gpathchk
       lrwxr-xr-x    1 ujpadmin  admin    16  1 21 03:56 pinky -> ../../bin/gpinky
       lrwxr-xr-x    1 ujpadmin  admin    13  1 21 03:56 pr -> ../../bin/gpr
       lrwxr-xr-x    1 ujpadmin  admin    19  1 21 03:56 printenv -> ../../bin/gprintenv
       lrwxr-xr-x    1 ujpadmin  admin    17  1 21 03:56 printf -> ../../bin/gprintf
       lrwxr-xr-x    1 ujpadmin  admin    14  1 21 03:56 ptx -> ../../bin/gptx
       lrwxr-xr-x    1 ujpadmin  admin    14  1 21 03:56 pwd -> ../../bin/gpwd
       lrwxr-xr-x    1 ujpadmin  admin    19  1 21 03:56 readlink -> ../../bin/greadlink
       lrwxr-xr-x    1 ujpadmin  admin    19  1 21 03:56 realpath -> ../../bin/grealpath
       lrwxr-xr-x    1 ujpadmin  admin    13  1 21 03:56 rm -> ../../bin/grm
       lrwxr-xr-x    1 ujpadmin  admin    16  1 21 03:56 rmdir -> ../../bin/grmdir
       lrwxr-xr-x    1 ujpadmin  admin    17  1 21 03:56 runcon -> ../../bin/gruncon
       lrwxr-xr-x    1 ujpadmin  admin    14  1 21 03:56 seq -> ../../bin/gseq
       lrwxr-xr-x    1 ujpadmin  admin    18  1 21 03:56 sha1sum -> ../../bin/gsha1sum
       lrwxr-xr-x    1 ujpadmin  admin    20  1 21 03:56 sha224sum -> ../../bin/gsha224sum
       lrwxr-xr-x    1 ujpadmin  admin    20  1 21 03:56 sha256sum -> ../../bin/gsha256sum
       lrwxr-xr-x    1 ujpadmin  admin    20  1 21 03:56 sha384sum -> ../../bin/gsha384sum
       lrwxr-xr-x    1 ujpadmin  admin    20  1 21 03:56 sha512sum -> ../../bin/gsha512sum
       lrwxr-xr-x    1 ujpadmin  admin    16  1 21 03:56 shred -> ../../bin/gshred
       lrwxr-xr-x    1 ujpadmin  admin    15  1 21 03:56 shuf -> ../../bin/gshuf
       lrwxr-xr-x    1 ujpadmin  admin    16  1 21 03:56 sleep -> ../../bin/gsleep
       lrwxr-xr-x    1 ujpadmin  admin    15  1 21 03:56 sort -> ../../bin/gsort
       lrwxr-xr-x    1 ujpadmin  admin    16  1 21 03:56 split -> ../../bin/gsplit
       lrwxr-xr-x    1 ujpadmin  admin    15  1 21 03:56 stat -> ../../bin/gstat
       lrwxr-xr-x    1 ujpadmin  admin    17  1 21 03:56 stdbuf -> ../../bin/gstdbuf
       lrwxr-xr-x    1 ujpadmin  admin    15  1 21 03:56 stty -> ../../bin/gstty
       lrwxr-xr-x    1 ujpadmin  admin    14  1 21 03:56 sum -> ../../bin/gsum
       lrwxr-xr-x    1 ujpadmin  admin    15  1 21 03:56 sync -> ../../bin/gsync
       lrwxr-xr-x    1 ujpadmin  admin    14  1 21 03:56 tac -> ../../bin/gtac
       lrwxr-xr-x    1 ujpadmin  admin    15  1 21 03:56 tail -> ../../bin/gtail
       lrwxr-xr-x    1 ujpadmin  admin    14  1 21 03:56 tee -> ../../bin/gtee
       lrwxr-xr-x    1 ujpadmin  admin    15  1 21 03:56 test -> ../../bin/gtest
       lrwxr-xr-x    1 ujpadmin  admin    18  1 21 03:56 timeout -> ../../bin/gtimeout
       lrwxr-xr-x    1 ujpadmin  admin    16  1 21 03:56 touch -> ../../bin/gtouch
       lrwxr-xr-x    1 ujpadmin  admin    13  1 21 03:56 tr -> ../../bin/gtr
       lrwxr-xr-x    1 ujpadmin  admin    15  1 21 03:56 true -> ../../bin/gtrue
       lrwxr-xr-x    1 ujpadmin  admin    19  1 21 03:56 truncate -> ../../bin/gtruncate
       lrwxr-xr-x    1 ujpadmin  admin    16  1 21 03:56 tsort -> ../../bin/gtsort
       lrwxr-xr-x    1 ujpadmin  admin    14  1 21 03:56 tty -> ../../bin/gtty
       lrwxr-xr-x    1 ujpadmin  admin    16  1 21 03:56 uname -> ../../bin/guname
       lrwxr-xr-x    1 ujpadmin  admin    19  1 21 03:56 unexpand -> ../../bin/gunexpand
       lrwxr-xr-x    1 ujpadmin  admin    15  1 21 03:56 uniq -> ../../bin/guniq
       lrwxr-xr-x    1 ujpadmin  admin    17  1 21 03:56 unlink -> ../../bin/gunlink
       lrwxr-xr-x    1 ujpadmin  admin    17  1 21 03:56 uptime -> ../../bin/guptime
       lrwxr-xr-x    1 ujpadmin  admin    16  1 21 03:56 users -> ../../bin/gusers
       lrwxr-xr-x    1 ujpadmin  admin    15  1 21 03:56 vdir -> ../../bin/gvdir
       lrwxr-xr-x    1 ujpadmin  admin    13  1 21 03:56 wc -> ../../bin/gwc
       lrwxr-xr-x    1 ujpadmin  admin    14  1 21 03:56 who -> ../../bin/gwho
       lrwxr-xr-x    1 ujpadmin  admin    17  1 21 03:56 whoami -> ../../bin/gwhoami
       lrwxr-xr-x    1 ujpadmin  admin    14  1 21 03:56 yes -> ../../bin/gyes
       MBA2014:~ ujpadmin$

ファイル検索パスの設定

  • .bashrcに以下の設定を追加.
       PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"
       MANPATH="/usr/local/opt/coreutils/libexec/gnuman:$MANPATH"

dateコマンドを実行してみる

  • Linuxで動くコマンドファイルパスを確認.
       MBA2014:ShellTest ujpadmin$ which date
       /usr/local/opt/coreutils/libexec/gnubin/date
       MBA2014:ShellTest ujpadmin$
  • 実行.
       MBA2014:ShellTest ujpadmin$ date -d "1 day" +"%Y/%m/%d"
       2016/07/01
       MBA2014:ShellTest ujpadmin$
  • Mac用で実行.
       MBA2014:ShellTest ujpadmin$ /bin/date -d "1 day" +"%Y/%m/%d"
       usage: date [-jnu] [-d dst] [-r seconds] [-t west] [-v[+|-]val[ymwdHMS]] ...
                   [-f fmt date | [[[mm]dd]HH]MM[[cc]yy][.ss]] [+format]
       MBA2014:ShellTest ujpadmin$
  • 文法が異なるのでエラーになる.

広告スペース
Google