UJP - 技術情報2 : GNU Core Utilitiesをインストール HomeBrew/GNUCoreUtilities

Life is fun and easy!

不正IP報告数

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

Page Top

はじめに anchor.png

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

Page Top

インストール anchor.png

 パッケージを探す.

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$

 インストール完了.コマンド群がインストールされたパスが表示されている.

Page Top

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

 ファイルを確認.

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$
Page Top

ファイル検索パスの設定 anchor.png

 .bashrcに以下の設定を追加.

PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"
MANPATH="/usr/local/opt/coreutils/libexec/gnuman:$MANPATH"
Page Top

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

 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$

 文法が異なるのでエラーになる.


トップ   差分 バックアップ 複製 名前変更 リロード   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom
Counter: 2968, today: 2, yesterday: 0
最終更新: 2016-07-11 (月) 23:03:21 (JST) (2807d) by shinnai(shinnai)

広告スペース
Google