最新ページ / カテゴリ最新ページ / 1 2 3 4 次ページ / page 1 (4)

unix - XINUJP - ChangeWebLog

最終更新時間: 2020-05-08 13:54

2020-02-25 Tue

アスキーアート生成コマンド [unix]

こんなの見つけた!

figlet
FIGlet - display large characters made up of ordinary screen characters



ASCII コードを使用して大きな ASCII を生成する、所謂アスキーアート。


figlet "Foo Bar Baz" 標準的な文字
等倍フォント+スペースの関係で html だとバラバラになってしまうので見せられない... 残念




figlet -f slant "Foo Bar Baz"  斜体時
等倍フォント+スペースの関係で html だとバラバラになってしまうので見せられない... 残念



更に、ここには追加のフォントライブラリあり。(幾つあるんだ!!)
FIGlet fonts library - Font overview
http://www.jave.de/figlet/fonts/overview.html

かなりレトロだけど、かなり凄い。

2020-01-10 Fri

ZFS で du するときの注意 [unix]

もひとつ、ZFS で du による容量確認は、圧縮されたサイズが表示されてしまうので、注意。

生のサイズを知りたい時には '-A' をつけること!!

以下、example

- 87K のファイルを設置

% ls -lh
total 25
-rw-r--r-- 1 foo bar 87K 1月 10 16:56 file1


- A なしでは圧縮されたサイズ 25K を表示

% du -sh .
25K .


- A 付きで生サイズ 88K を表示

% du -shA .
88K .

2020-01-10 Fri

ZFS での容量確認 [unix]

FreeBSD で ZFS を使い出したが、df で容量を確認しても分けわからない。
で、zpool コマンドで確認できることが分かったので備忘録。

zpool list


と、こんな感じ(以下は Oracle サイトから転用)

たとえば、次のルートプール (rpool) には 5.46G バイトが割り当て済みで、68.5G バイトが空き領域です。

# zpool list rpool
NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT
rpool 74G 5.46G 68.5G 7% 1.00x ONLINE -


zpool 詳細は、まだ良く分からず。

2019-12-20 Fri

du command でサイズ順に表示 [unix]

何のことはない sort -n を使うだけ

du -s * | sort -n

2019-12-06 Fri

locateデータベースの更新 [unix]

以下コピペだけど、locate DB の更新方法。

- FreeBSD

# /usr/libexec/locate.updatedb


- Linux

# updatedb

2019-11-15 Fri

sftp ディレクトリをまるごと再帰的に転送 [unix]

今までさんざ使って来たのに、知らなかった...
要するに cp と同じに出来るわけだ。

ディレクトリをまるごと、かつ、パーミッション,アクセス時間そのまま

sftp> get -pr XXXX
or
sftp> put -pr XXXX


昔は出来なかったと思うが...

お、help を見ると、mget,mput が無いな(使えるけど)。
複数ファイルの転送も get,put で出来るわけね。

sftp コマンドも進化しているなぁ。

2019-11-12 Tue

tar 展開で特定のディレクトリ/ファイルを抽出 [unix]

例えば、foo ディレクトリ以下を抽出する場合

まず、ディレクトリ構成を調べる。

tar tvf original.tgz | grep foo
./xxx/yyy/foo/
./xxx/yyy/foo/aaa
./xxx/yyy/foo/bbb
./xxx/yyy/foo/ccc
...


それを指定して展開する。

tar xvf original.tgz ./xxx/yyy/foo


と、./xxx/yyy/foo/ の下のみ展開される。

2019-07-04 Thu

BOURNE SHELL / bsh / sh [unix]

世の中、sh と言えば bash の情報ばかりで、面白くない。

が、 bourne shell の使いかたが良くまとまったサイトを発見。

こちら
https://www.gadgety.net/shin/tips/unix/shell.html

2019-05-17 Fri

screen [unix]

久しぶりの screen 使用なので、備忘録。

screen 開始(新セッション作成)

screen [-S foobar]
  -S でセッション名指定可能


現セッションから一時的に離れる(デタッチ)

CTRL-a CTRL-d


screen 状態確認

screen -ls


あるセッションに戻る(アタッチ)

screen -r [id]
  複数ある場合はid指定(-ls にてid取得)

2019-04-11 Thu

「そこ」のファイルを include (shell, PHP) [php][unix]

何かのプロジェクトで、そのプロジェクトHOME を絶対パスでローカルファイルに記しておいて、実行時に読み込み使いたい場合がある。

○ PHP

読み込むファイルを main.php, 読み込まれるファイルを header.php としたとき、main.php に

require_once('header.php');

と、パスを書かずに include すれば、main.php 並びにある header.php が読み込まれる。

正しくは

パスを指定しない場合は、 include_path の設定を利用します。 ファイルが include_path に見つからないときは、include は呼び出し元スクリプトのディレクトリと現在の作業ディレクトリも探します。


○ shell

読み込むファイルを main.sh, 読み込まれるファイルを header.sh としたとき、main.sh には次のように記述。

HERE=`dirname $0`
. ${HERE}/header.sh

2019-03-21 Thu

ssh-keygen 備忘録 [unix][inet]

良く使うのに、すぐ忘れるし、ちょっと強化(鍵長:4096)しようかと。

(A) コメントを username@hostname に自動設定

ssh-keygen -t rsa -b 4096

(B) コメントのメールアドレスを指定

ssh-keygen -t rsa -b 4096 -C "foo@bar.baz.com"


ちょい確認

ssh-keygen -l -f id_rsa.pub
4096 SHA256:xxxxxxxxxxxxxxxxxxxxx foo@bar.baz.com (RSA)

2019-02-20 Wed

find オーナ(ユーザ)やグループで検索 [unix][inet]

最近、apache から nginx に乗り換えているが、nginx だと php がうまく動作しない場合に遭遇。

で、調べたところ、php のキャッシュ系Dir. が 770 で、かつ、グループが apache となっていることが原因と判明。
(ちなみに OS は CentOS7)

ls -l /var/lib/php/
合計 0
drwxrwx--- 2 root apache 6 12月 5 04:04 opcache/
drwxrwx--- 2 root apache 6 12月 5 04:04 session/
drwxrwx--- 2 root apache 6 12月 5 04:04 wsdlcache/


そりゃ nginx では書き込めない。なんだかなぁ。
で、次を実行して group:nginx に変更。

chown -R root:nginx /var/lib/php/*


確認

ls -l /var/lib/php/
合計 0
drwxrwx--- 2 root nginx 6 12月 5 04:04 opcache/
drwxrwx--- 2 root nginx 6 12月 5 04:04 session/
drwxrwx--- 2 root nginx 6 12月 5 04:04 wsdlcache/


で、他の Dir. はこのような問題ないか心配になり、オーナ(ユーザ) やグループで find する方法を調べた。

find /foo/bar/baz/ -user apache
find /foo/bar/baz/ -group apache



しっかし、CentOS(Linux?)面倒臭いよなぁ...

FreeBSD では、apache も nginx もオーナ:グループ は www:www なので、こんな事不要だもんなぁ。

2018-01-20 Sat

4.4BSD-Lite2 ソースコード [unix]

ひゃー、4.4BSD ソースコードが github にある、知らなかった。

https://github.com/himrock922/4.4BSD-Lite2

2017-09-12 Tue

ちょいメモ diff dir. [unix]

ディレクトリ下にあるファイルたちの比較は -r なので、

diff -r -U 3 DIR-A DIR-B


差分のあるファイル名だけを知りたい場合は -q をつけて、

diff -rq DIR-A DIR-B

2017-08-14 Mon

find -{mtime,ctime,atime} -{mmin,cmin,amin} など [unix]

# m/c/a
基本的には m の使用でOK

m/c/a の違いはこのへん
http://x68000.q-e-d.net/~68user/unix/pickup?%A5%BF%A5%A4%A5%E0%A5%B9%A5%BF%A5%F3%A5%D7

# Xtime, Xmin
Xtime: 24時間単位(〜日単位)
Xmin: 分単位

# n/-n/+n
n: まさにそのとき
-n そのとき以降(そのときから今に向かった間)
+n そのとき以前(そのときから昔に向かった間)

# 例: 5時間前から今までの間に変化したファイル検索

find . -mmin -300


# 例: 3日前(の今)以前に変化したファイル検索

find . -mtime +3

2017-04-14 Fri

Mac と Samba と RefreshFinder と [mac][unix][windows]

[2017-04-14-1]のように、Mac/NFS が使えないので、再度、Samba に挑戦!!

[2017-04-12] で記述したように、

しかし、どうも Mac はキャッシュ読込が中心のようで、Unix でファイルを作成しても、Mac 側には反映されず(時間が掛かるのかな?)。

の問題を解決しなければ...

で、あの手この手でググッて、こんな情報をゲットした。

MacのFinderのファイル表示を最新の状態に更新する方法
https://keikenchi.com/mac-finder-refresh

ようは、RefreshFinder をダウンロード/インストールすれば、クリック一つで(sambaでも)Finder がリフレッシュされるという話し。
ちょっと情報が古いので心配だったが、うまく行きました。

RefreshFinder 自体は、ここからダウンロード。
https://soderhavet.com/bl/2014/10/01/refresh-finder/#.WPA2jFPyjys

これは、かなり嬉しいアプリで、Samba 環境でも問題なく作業できるようになったよん!!

2017-04-14 Fri

Mac と NFS はダメそう... [mac][unix]

[2017-04-12] に Mac/NFS/Symlink について熱く語ったのだが、どうも Mac+NFS が調子悪い。

例えば...

○ system panic で死んでしまう。
   サーバの xxx.zip を mac アーカイブユーティリテイで開くと 100% panic
   (ま、2回しか試していないが)

○ 死なないが処理できないケース
   モノによるが、xxx.doc が開けない(windows で作成した doc が対象かな?)
   その xxx.doc を mac/download にコピーしようとするとエラー発生してコピーできない
   もしかすると ._xxx.doc を削除したせい??

○ 処理できたら、ファイル更新日付が超未来
   パワポ開いて閉じたら、2076-11-29 になってしまった!!

-rwxr--r-- 1 foo bar 651264 11月 29 2076 zzz.ppt


あと気になっているのは、NFS でサーバのファイルをいぢっても、._XXX ファイルが生成されないこと。

もしかすると、MacOS が NFS 対象のディスクフォーマットは HFS+ と思ってしまい、イロイロなトラブルが発生するのかな??


いずれにせよ、恐くてとても使えないです。

Referrer (Inside): [2017-04-14-2]

2017-04-12 Wed

Mac と NFS と SymbolicLink と [mac][unix]

只今、開発環境を Mac に構築中。

今まで Unix(FreeBSD)サーバと windows は SMB(Samba) でファイル共有していたので、Mac も SMB で共有した。
しかし、どうも Mac はキャッシュ読込が中心のようで、Unix でファイルを作成しても、Mac 側には反映されず(時間が掛かるのかな?)。
ま windows でもしばらく時間掛かるが...

こりゃたまらんので、数十年ぶりに NFS を設定。

いろいろトラブルあった(特に Mac の uid/gid 変更!)が、とりあえず Unix サーバのファイルが、Mac でも扱えるようになった。

が、Unix 側の symlink に Mac からアクセスできないトラブル発生。

なんだよ Mac の NFS-client ってサーバ側の symlink 扱えないのかよぅ! とか、すっかり Mac を悪者にして調査開始。

しかし違いました、サーバ側の symlink 設定の問題でした。

原因は、symlink 設定で絶対パスリンクしていたこと。

例えば、
/home/foo/aaa/a1 を /home/foo/xxx/a1 に symlink する時、

cd /home/foo/xxx/
ln -s /home/foo/aaa/a1 .

とすると、xxx/a1 は絶対パスで aaa/a1 をリンクする。

と、Mac 側では Mac の /home/foo/aaa/a1 とリンクしてしまうので、Mac 内に /home/foo/aaa/a1 がなければ(普通無い)エラーとなってしまう。

なので、これは相対パスにして

cd /home/foo/xxx/
ln -s ../aaa/a1 .

が正解。


その昔、NFS 全盛の頃(って何十年前だ)に、
「symlink は相対パスにしろ、絶対パスだと NFS でアクセスできないぞ」
と言われていたことを思い出し、懐かしくて涙出ました。

2017-03-24 Fri

ssh X11 forwarding で NG [freebsd][unix][inet]

mac mini 買った。
で、windows では cygwin/X11 サーバに FreeBSD の X-client を生表示していたが、今回から ssh X11 forwarding を使ってみることに。

しかし

ssh -X foo

すると、

X11 forwarding request failed on channel 0

となり、NG 。

で、sshd_config などを確認してもおかしなところが見つからず。

と、ssh でのデバッグモードアクセスを発見。

ssh -v -X foo


結果、FreeBSD に xauth がインストールされていないことが判明。

... が、この FreeBSD は 9.1 と古くて ports も pkg もサポート切れで、xauth インストールできない。

わん、どうしようかな。

1. FreeBSD upgrade する
ううむ、メインサーバだしな、こりゃ恐いわ。

2. mac X11 の XQuartz を調べて生で使用する
出来るかも分からないし、たぶんネット情報もあまりないだろうな。
(ssh forwarding が主流だからな)

カンタンに設定できた!
上の記事参照

2017-03-17 Fri

iconv [unix]

すぐ忘れるのでメモ

文字コード変換コマンド

iconv -f FROM_CODE -t TO_CODE ORG_FILE > CODED_FILE


コード名には次を指定

UTF-8 ISO-2022-JP EUC-JP SHIFT-JIS


例として JIS(ISO-2022-JP) を UTF8 に変換

iconv -f ISO-2022-JP -t UTF-8 file.jis > file.utf8