Corredor

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

Linux

yum や apt コマンドをラップする「pmw」コマンドを作った

Red Hat Enterprise Linux 7 (できるPRO) [ 平初 ]価格: 3300 円楽天で詳細を見る 僕は CentOS 歴が長いので、Ubuntu の apt コマンドに慣れず、ついつい yum コマンドの要領でコマンドを叩いてしまう。また、Windows の Git SDK に同梱される pacman は全…

Docker で Ubuntu 18.04 を動かしたら日本語入力ができなかったので対処

Ubuntu 18.04 LTS 日本語 Remix 使い方が全部わかる本【電子書籍】ジャンル: 本・雑誌・コミック > PC・システム開発 > その他ショップ: 楽天Kobo電子書籍ストア価格: 1,628円 以前、Docker で動かした CentOS で、日本語表示の文字化けを直す方法を紹介した…

指定コマンドを繰り返し実行してくれる watch コマンドを試してみた

Linuxシステム〈実践〉入門 沓名亮典/著ジャンル: 本・雑誌・コミック > PC・システム開発 > その他ショップ: ドラマ 本と中古ゲームの販売買取価格: 3,168円 REST API で動作ログが確認できるサービスがあり、CLI でログを見られるのだが、何度も同じコマン…

Linux システム・ネットワーク管理者向けのコマンド集まとめ

[改訂新版]プロのためのLinuxシステム構築・運用技術【電子書籍】[ 中井悦司 ]ジャンル: 本・雑誌・コミック > PC・システム開発 > ネットワーク > その他ショップ: 楽天Kobo電子書籍ストア価格: 3,278円 いわゆるシスアド的な業務でよく使うであろうコマ…

同じ Linux マシンにログインしているユーザにメッセージを送る「wall」「write」コマンド

以前、/dev/pts/0 などに echo すると、他のユーザのセッションに対して echo できる、というネタを紹介した。 neos21.hatenablog.com tty コマンドの結果が /dev/pts/0 なユーザのセッションにおいて、 $ echo 'TEST' > /dev/pts/0 と実行すると、自身のプ…

「sudo su」を理解する

Linux で root ユーザに切り替えて作業を始める時に打つ $ sudo su - というコマンド。コレが何を意味しているのか、改めて理解しようとしてみる。 まず、root ユーザは、全ての特権を持つ「神」ユーザ。自分で Linux OS を新規インストールしたりしない限り…

GCE インスタンスに Apache と PHP をインストールして Web サーバを公開してみた

以前、GCP (Google Cloud Platform) の永久無料枠で GCE (Google Compute Engine) インスタンスを作った。 neos21.hatenablog.com neos21.hatenablog.com この記事のとおり進めたところだと、作成した GCE インスタンスは、再起動しても変動しない固定 Publi…

テキストファイルを確認する Linux コマンドのまとめ

普段 Linux 環境でテキストファイルを見たり編集したりする時、僕はもっぱら Vim を使っている。しかし、ログファイルを閲覧したりする時は、less とかを上手く使えるとカッコイイ気がする。 そこで今回は、今更ながらテキストファイルを閲覧するコマンド類…

Docker CentOS 7 内で日本語を使えるようにする

Docker で起動した CentOS 7 環境で ls したら、日本語が文字化けしていたので解消法を調べた。 参考:Dockerfileで日本語ロケールを設定する方法。およびロケールエラーの回避方法。 - Qiita 取り急ぎ以下を叩けば文字化けが直る。 localedef -f UTF-8 -i j…

改めて Windows Subsystem For Linux (WSL) を使ってみる

2017年4月、当時は「Bash on Ubuntu on Windows」という名前だったが、Windows 上で Linux を動かす方法を検証した。 neos21.hatenablog.com あれから2年、まずサービス名称が変わり、今では「Windows Subsystem For Linux (WSL)」と呼ばれている。当時は In…

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…