Corredor

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

Bash

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 で、日本語表示の文字化けを直す方法を紹介した…

Bash で空の if ブロックを書くにはコロン「:」を使う

難読化シェル芸の世界【電子書籍】[ kanata ]ジャンル: 本・雑誌・コミック > PC・システム開発 > OS > UNIXショップ: 楽天Kobo電子書籍ストア価格: 3,080円 次のような Bash スクリプトを書いた。 #!/bin/bash if [ 'a' == 'a' ]; then # 今は処理がないの…

ファイルを指定行数ごとに分割するスクリプトを PowerShell と Bash で

PowerShell実践ガイドブック クロスプラットフォーム対応の次世代シェルを徹底解説【電子書籍】[ 吉崎 生 ]ジャンル: 本・雑誌・コミック > PC・システム開発 > プログラミング > プログラミング入門ショップ: 楽天Kobo電子書籍ストア価格: 4,048円 PowerShe…

Node.js をシェルのパイプ中で使ってみる

Node.js 超入門 第2版 [ 掌田津耶乃 ]ジャンル: 本・雑誌・コミック > PC・システム開発 > その他ショップ: 楽天ブックス価格: 3,300円 Perl や Ruby だと、よくシェルの中でワンライナーを書いて実行していたりする。それを Node.js でもやってみようという…

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

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

ログファイルに同一行が何行あるかカウントするワンライナー

アクセスログのファイルなんかを見ていて、「12時台に一番アクセスがあったページはどれかな?」みたいなのを探る時に、コマンドで探る方法を紹介する。 example.log 2020-01-01T00:01:24 /index.html 200 2020-01-01T00:01:25 /somepage.html 200 2020-01-0…

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

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

Bash の $@ と $* の挙動の違い

新しいシェルプログラミングの教科書 [ 三宅 英明 ]ジャンル: 本・雑誌・コミック > PC・システム開発 > その他ショップ: 楽天ブックス価格: 2,970円 ググりづらい Bash の記号に関するネタ。 Bash 関数の中で、全ての引数を取得できる2つの記号がある。 $@ …

同じ 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 を新規インストールしたりしない限り…

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

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

シェルスクリプトの Lint ツール「shellcheck」を使ってみた

シェルプログラミング実用テクニック (Software Design plusシリーズ) [ 上田隆一 ]ジャンル: 本・雑誌・コミック > PC・システム開発 > OS > Linuxショップ: 楽天ブックス価格: 3,278円 日頃、Bash で簡単なスクリプトを書くことがある。何もインストール…

Git For Windows SDK に expect コマンドが入っていなかったので pacman でインストールする

パスワードを使って SSH 接続する時に、expect コマンドを使うと、入力を自動化できたりする。 neos21.hatenablog.com このシェルスクリプトを作ったのは MacOS だったので、Windows でも同じことをしたくなった時に、GitBash に expect コマンドが入ってい…

SSH Config の管理を捗らせる Include と、ホストを一覧表示するワンライナー

~/.ssh/config (SSH Config) というファイルに、SSH 接続情報を記載しておける。当然、コマンドをイチイチ打つより便利なので多用しているのだが、最近そろそろ登録ホスト数が増えてきて、1ファイルに書いておくのが大変になってきた。 そこで調べてみると、…

踏み台サーバを2台経由して SSH ログイン・ポートフォワーディングする

通常、最もシンプルな構成で別のサーバに SSH 接続する際は、 ローカルマシン 目的のサーバ という登場人物で、ローカルマシンから $ ssh -i 【ローカルマシンにある秘密鍵のパス】 【目的のサーバのユーザ名】@【目的のサーバのパブリック IP】 と叩けば SS…

awk を使って出力のアラインメントを揃える

Node.js スクリプトを書く際は、console.table() とか、columnify という npm パッケージとかを使うと、出力するデータをイイカンジに整形できる。 neos21.hatenablog.com 今回は Bash スクリプトの中で、イイカンジに整形したくて、やり方を調べた。 参考:…

git pull 時に --set-upstream-to とか言われるのを回避するコマンドを作る

git pull した時に --set-upstream-to しろみたいなコメントが出て、git pull 出来ない時がある。 $ git pull There is no tracking information for the current branch. Please specify which branch you want to merge with. See git-pull(1) for details…

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

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

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

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

Homebrew でインストールしたツールを実行したら「Insecure world writable dir」とかいうエラーが出た件の対処法

MacOS Mojave にて、Homebrew でインストールした ghi というツールを実行したところ、以下のようなエラーが出た。 /usr/local/Cellar/ghi/1.2.0_4/libexec/bin/ghi:128: warning: Insecure world writable dir /usr in PATH, mode 040777 ワーニングメッセ…

文字単位で Diff が見られる「icdiff」

通常の diff だと行単位での差分しか見られないので、$ git diff --color-words --word-diff コマンドや --word-diff-regex='\\w+|[^[:space:]]' オプションを使って頑張って文字単位の差分を見たりしていた。 しかし、それ専用のコマンドがあった。icdiff …

Typo したコマンドを正してくれる「thefuck」

git push コマンドを git psh と叩いてしまい、「何それ?」とターミナルに怒られた。というような経験は皆さんもよくあることだろう。 そんな時、thefuck というツールを入れておけば、ターミナルに $ fuck と言うだけで、「もしかしてこういうコマンドが打…

find コマンドで対象ディレクトリ直下のファイルのみを絞り込みたい

find コマンドを使うと、対象ディレクトリのサブディレクトリ以下のファイルも検索対象に含んでしまう。 # カレントディレクトリ配下の Markdown ファイルを全て出力する $ find . -type f -name '*.md' ./AAA.md ./BBB.md ./CCC/ccc.md ./DDD/ddd/DdD.md そ…

グローバル IP アドレスを取得するウェブサービスまとめ

自身のグローバル IP アドレスを確認するためのウェブサービスをまとめる。いずれも curl コマンドで実行した時に、IP アドレスのみが返されるように調整している。 # 以下は IP アドレスのみがそのまま返ってくる $ curl inet-ip.info $ curl ifconfig.me $…

XREA のサーバに SSH 接続する

メインサイト Neo's World は、XREA というウェブホスティングサービスのかなり初期の頃に取得したアカウントだ。コレ以前に s15 サーバも取得していたし、別サイトで s38・s41・s58 サーバなどをレンタルしたことがある。さらに最近、Yahoo! Geocities の閉…

CentOS7 を日本語環境にする

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

SSH 鍵ペア・API 鍵ペアの作り方おさらい

ある VM に SSH 接続する時に使う鍵ペアとか、API Key として認証に使用する鍵ペアの作り方をおさらいする。それぞれは何らかの記事で紹介したことがあると思うが、コマンド単体で紹介したことがなかったので。 SSH 鍵ペアの作り方 API 鍵ペアの作り方 SSH …

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)…

OCI CLI のプロファイルからテナンシの OCID を得る Bash スクリプト

OCI (Oracle Cloud Infrastructure) の各種操作・閲覧が行える OCI CLI。 OCI CLI を使う際は、接続先の環境などを記したプロファイルを用意する。$ oci setup config コマンドでプロファイルを作成すると、デフォルトでは ~/.oci/config というパスにファイ…