Corredor

ウェブ、プログラミングの勉強メモ。

Linux

MacOS と Linux で top コマンドが大分違うので整理する

top コマンドで CPU 使用率やメモリ使用率を見たいなーと思ったのだが、MacOS と Linux (CentOS) とでオプションがかなり違うので、よく使うモノを整理することにした。 環境確認 普通に top コマンドを打った画面 CPU 使用率順にソートする メモリ使用率順…

MacOS で at コマンドを有効化して使ってみる

あるコマンドを予約実行したい場合、すぐ思い付くのは cron (crontab) かと思われる。しかし cron は、ある処理を定期的に繰り返し実行するスケジュール設定になっており、ある処理をある時に1回だけ行いたい場合には使いづらい。 ある処理を1回だけ予約実行…

Linux CentOS7 CUI で使える CUI ブラウザ Lynx を試す

CentOS7 の CUI 上で動かせる、コマンドラインツールとして動くブラウザ「Lynx」を試してみた。 以前 MacOS で、「Lynxlet」という Lynx 系のツールを使ってみたのだが、試した限りでは酷く文字化けしてしまい、MacOS ターミナル上では w3m に落ち着いた。 n…

CentOS7 を日本語環境にする

GCP に登録して GCE をイジり始めた。CentOS 7 イメージを利用して VM を立ててみたのだが、デフォルトでは英語環境になっているので、いくつか日本語環境としての変更を入れてみる。 タイムゾーンを UTC から JST に変更する 標準出力の日本語表示化 man ペ…

永久無料枠で Google Compute Engine (GCE) インスタンスを立ち上げる : その2

前回、Google Cloud Platform (GCP) に登録し、その中の Google Compute Engine (GCE) というサービスを使い、完全無料で使える仮想マシン (VM) を立ち上げて SSH 接続までこぎつけた。 今回は、立ち上げた VM をより安全に利用するための設定を紹介する。 …

man ページに出てくる (1) などのカッコ付き数字は何?

man コマンドに関する話。 以下は MacOS の場合だが、ターミナルで $ man chown と叩くと、次のように表示される。 CHOWN(8) BSD System Manager's Manual CHOWN(8) NAME chown -- change file owner and group …中略… SEE ALSO chgrp(1), find(1), chown(2)…

history コマンドに日時も記録する

以前、ターミナルのプロンプト PS1 に \D{%F %T} という書式を加えて、現在日時を画面上に表示するようにした。コレはターミナルの実行結果をまるごとコピペすれば作業日時付きの証跡になるので有用だと思っている。 neos21.hatenablog.com しかし、プロンプ…

zip・unzip コマンドでパスワードを指定する

MacOS で検証。zip・unzip コマンドを使って圧縮する時、解凍用パスワードを設定する方法。 Zip 圧縮時のパスワード指定 $ zip -e -P='【パスワード】' 【Zip ファイル名】.zip 【入れたいファイル指定…】 -e = --encrypt -P = --password -P とだけ書けば、…

Linux サーバに「いつ」「どの SSH 鍵を使って」ログインされたか調べる方法

普段、ある Linux サーバに SSH 鍵を使って接続して作業している サーバで使うユーザは、単一のシステム用ユーザ (仮に devuser) を複数の開発メンバで共用している コレまでの運用からこんな状況なので、$ last -w コマンドで過去に SSH ログインしたユーザ…

nc と ssh config ファイルを使って多段 SSH 接続する

2019年5月より、毎日更新を止めようと思います。ハッキリとは決めていませんが、2日に1度とか、週1とか、不定期更新とかにしようかと。 お知らせまで。 本題。 本番稼動するサーバは、セキュリティ上の観点から、SSH 接続できる通信元が限られている場合があ…

Docker で Alpine Linux と apk (パッケージ管理ツール) を使ってみる

Alpine Linux という、Docker コンテナ向けの超軽量な Linux ディストリビューションを使ってみる。内部的には BusyBox を使って軽量化を実現している模様。 Alpine Linux - Wikipedia Docker を使って、Alpine Linux の最新版のイメージを落としてみる。 $ …

Linux マシンの CPU 情報を調べる方法2つ

Linux マシンの CPU 情報を調べる方法2つ。 /proc/cpuinfo を見る /proc/cpuinfo というファイルに CPU 情報が書かれている。 cat /proc/cpuinfo このファイルを基に grep すれば CPU コア数などが分かる。 # 物理 CPU 数 : 結果から重複を省いて行数をカウ…

2つの年月日から経過日数を表示する Bash スクリプト (Mac・Windows 両対応)

2つの年月日から経過日数を表示する Bash スクリプトを作った。MacOS・Windows GitBash の両対応。 コレを date-diff みたいな名前で PATH の通っているところに保存して実行権を設定する。あとは以下のように叩く。 $ date-diff 2019-01-01 2018-01-01 365 …

Git For Windows・Git SDK の起動を爆速にする

Git For Windows やその上位互換である Git SDK (以降「GitBash」で総称する) の起動時のトロさといったら。Mac のターミナルくらい爆速で起動して使い始めたいのに、git-bash.exe を起動して最初のプロンプトが表示されるまで2・3秒待たないといけない。 今…

CentOS の Apache で Perl CGI がファイル生成できないのは SELinux のせいだった

CentOS Linux 上の Apache に Perl CGI を置いたのだが、上手くファイル生成やファイル書き込みができなかった。CGI 自体は動いていて、ファイルの読み込みまではできるのに、書き込みだけがどうにもできない、という状態だった。 Apache デフォルトの cgi-b…

プロキシ環境下で ifconfig を使って自分の IP アドレスを調べる

よくグローバル IP を調べる方法として $ curl globalip.me こんな風に専用サービスを curl で叩く、というモノがあるが、プロキシ環境下では globalip.me にアクセスできなくて使えない。 参考:Shellで超簡単にグローバルIPを確認する方法 そこで調べてみ…

tar で複数ファイルを圧縮する時にワイルドカードと変数を併用する

以下のように、ある DB のデータをテーブル別にファイルを毎日吐き出すディレクトリがあるとする。 $ ls -1 data-fuga01.db data-fuga02.db data-fuga03.db # …中略… data-fuga29.db data-fuga30.db data-fuga31.db data-hoge01.db data-hoge02.db data-hoge…

コマンドプロンプト上で Unix・Linux コマンドを使えるようにする GnuWin32

GnuWin32 という、かなり古いツール群があるのだが、コレを試してみた。 簡単にいうと、Windows コマンドプロンプト上で使える Unix・Linux 風コマンドを多数提供しているコマンド集。PATH を通すだけでコマンドプロンプト上で ls とか grep とかできるよう…

Bash の Tab 補完でファイル名の大文字・小文字を区別しないようにする

Bash で cd とかする時に、ファイル名の大文字・小文字を区別しやがるのが鬱陶しいので、直し方を紹介。このやり方は Windows GitBash・Linux・MacOS で使える。 やり方は、以下の内容を書いたファイル .inputrc を、ユーザホームディレクトリ配下に置くだけ…

Bash 環境変数がどのファイルで定義されたか調べたい

Bash にて、export NO_PROXY=localhost といったように、ある環境変数をどこかのファイルで設定しているのだが、どこに書いてあるか分からない、という時に、その調べ方を調べてみた。 参考:bash - How to determine where an environment variable came fr…

Bash 上で使えるコマンド一覧を取得する!

ふと、Bash 上で使えるコマンドって全部でどれだけあるんだろう?と思い、一覧での取得方法を調べてみた。 ネットで見つけたやり方 参考:Linux - Linuxでコマンド一覧を表示するコマンドについて|teratail ↑ ドンズバな質問と回答が載っているページを見つ…

ネットワーク制限がある CentOS に nkf を入れるため .rpm ファイル持ち込んで yum でインストールした

CentOS 7 に、文字コード変換ツールの nkf をインストールしたくてアレコレやった。 CentOS に nkf を入れる通常の方法 通常、CentOS に nkf をインストールする際は、yum を使って epel (EPEL) をインストール後、nkf をインストールすれば良いだけ。 $ sud…

SSH 接続先でサーバを立ち上げっぱなしにしてログアウトするための Bash の書き方

自端末から、SSH で Linux (CentOS) サーバに接続し、その Linux サーバ上で Express サーバを立ち上げ、SSH 接続を切断したかった。 Express サーバは、$ npm install 後、$ node main.js と叩くと起動するようになっているのだが、ターミナルを閉じたり、…

Linux の OS の種類とバージョンの調べ方

新たな現場に配属し、「検証サーバの Linux は自由にアクセスして使っていいよー」と云われ、ID とパスワード情報だけ聞いたものの、はて、この検証サーバとやらは何の Linux ディストリビューションなんだろう…? という時の調べ方。 /proc/version に書か…

npm run とかで使うハイフン2つ「--」の意味

npm-run-scripts を使っていると、npm run something コマンドにオプション引数を渡したくて、$ npm run something -- --include=hoge みたいに書いたりする。 他にも、ハイフンから始まるファイルを指定するときに、$ rm -- -some.txt などと書いたりする。…

MySQL の「Incorrect string value」エラーを直す (サロゲートペアに対応した UTF8MB4 エンコーディングに変更する)

CentOS Linux 上にインストールした MySQL で検証。 MySQL を使っていて、絵文字を含むテキストを INSERT・UPDATE しようとしたら、以下のようなエラーが出た。 Incorrect string value: '\xF0\xA6\x9A\xB0\xE7\x94...' for column 'my_column' at row 1 調…

Windows コマンドプロンプトや GitBash 上で Linux・MacOS のコマンドを再現する方法をまとめ中

これまでいくつかの記事で、Windows コマンドプロンプトや、Windows GitBash 上で、Linux 風・MacOS 風なコマンドを再現する方法を紹介してきた。 neos21.hatenablog.com neos21.hatenablog.com これらを網羅的にまとめたページを作ろうと思い、以下のリポジ…

Mac のターミナル上でカレンダーが見られる「cal」コマンドを Windows でも実現する方法

Linux 標準コマンドの一つに、cal コマンドというモノがあるのを知った。ターミナル上でカレンダーが見られるのだ。 $ cal 8月 2018 日 月 火 水 木 金 土 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 当日日付は…

Windows コマンドプロンプト以外でも Tree コマンドが使いたい!

Windows コマンドプロンプトで唯一便利だと思うのは tree コマンドだ。カレントディレクトリ配下のファイル構成が一目で分かる。 今回はコレを Mac や Linux でも使えないか調べてみた。 MacOS で tree Linux で tree Windows で tree 以上 MacOS で tree Ma…

Windows GitBash と Mac とで date コマンドの仕様が違った

GNUソフトウェアプログラミング ―オープンソース開発の原点作者: Mike Loukides,Andy Oram,引地美恵子,引地信之出版社/メーカー: オライリー・ジャパン発売日: 1999/02/01メディア: 大型本購入: 1人 クリック: 9回この商品を含むブログ (7件) を見る Debian …