ものづくりのブログ

うちのネコを題材にしたものづくりができたらいいなと思っていろいろ奮闘してます。

コマンド

【realpath】一つ上のディレクトリに対して絶対パスを取得する方法

Makefile 内で docker を使っていたら以下のような問題に遭遇したため対応方法をここにメモします。 (一つ上のディレクトリをマウントさせたかったのですが...相対パスの指定はだめとのこと...) docker: Error response from daemon: create ./../sample: …

【rsync】オプションについて調べてみました

rsync のオプション情報をここにメモします。 rsync オプション 通常オプション 「-a」で有効になるオプション その他オプション SSH経由での同期 サンプル データ転送の進捗を確認しながら 特定のファイル(*.py)以外を同期(ssh経由) ディレクトリのバックア…

【rsync】delete オプションについて調査

rsync で delete オプションを使ってみたのでここにメモを残します。 rsync --delete オプション について 具体例 想定した挙動 想定外の挙動 rsync 「rsync」は、リモート環境とファイルやディレクトリを「同期(sync)する」というコマンドです。ローカル…

【crontab】設定方法をメモ

crontab の設定を度々するのですが、すぐに書式を忘れてしまうのでここにメモします。 オプション スケジュール 書式 設定可能な数値 指定方法 設定例 分単位 毎時30分に実行 10分ごとに実行 毎時15分と45分に実行 時間単位 毎日4:30 に実行 毎日14:30 に実…

FTP と SFTP の機能の違い

FTP と SFTP の機能の違いについてまとめてみました。 FTP とは FTP(File Transfer Protocol)とは、サーバとクライアントの間でファイル転送を行う際に必要となる通信プロトコルです。 SFTP とは SFTPは、FTP over SSH (Secure Shell)とも呼ばれ、安全なフ…

【コマンド】grep: (標準入力): binary file matches とでた時の対処

grep コマンドを使っていたら、中身はテキストファイル なのに "binary file matches" というメッセージが出てきて処理できなかったので、その時の回避方法をここにメモします。 エラー 回避方法 オプション 「-a」 「–text」 「–binary-files=text」 エラー…

【sftp】ポート番号を指定してコマンドを実行

ポート番号を指定してsftpコマンドを使う場合は以下の通りです。 $ sftp -oPort="[port_num]" hostname実行例 $ sftp -oPort="115" user01@localhost Connected to localhost. sftp>

【tmux】画面のスクロールをさせるときのメモ

tmux でセッションを張った時に画面のスクロールができなかったため、出力メッセージが長い場合など不便でした。 調べてみたら、スクロールモードに切り替えるコマンドがあったためここにメモします。 コマンド 説明 Ctrl-b + [ スクロールモードに切り替え q…

【xev】キーコードを調べる方法

キーボードなどから、キーが押されたときに、どのようなキーコードが返ってくるか調べてみたので、その方法をここにメモします。 使用するコマンド xev 「X event」の略らしいです。 www.commandlinux.com 手順 xev 実行 xev コマンドを実行すると、以下のウ…

【date】mac でターミナルで日付と時刻を修正

Macの日付と時刻をターミナルから変更する方法をここにメモします。 設定 書式 設定例 補足 設定 書式 ターミナルからMacの日付と時刻を変更するには、dateコマンドを使います。 date -u {月}{日}{時}{分}{年} 設定例 「2023年3月16日8時5分(UTC)」であれば…

【curl】--retry n オプションについて

curl にリトライオプションがあるなんんて知らなかったのでここにメモします。 使い方 everything.curl.dev 使用例 失敗する場合 $ curl --retry 3 http://sample curl: (6) Could not resolve host: sample Warning: Problem : timeout. Will retry in 1 se…

systemctl コマンドの使い方

すぐに忘れちゃうので、systemctl コマンドの使い方をここにメモします。 コマンド 説明 systemctl start ${Unit} サービス起動 systemctl stop ${Unit} サービス停止 systemctl restart ${Unit} サービス再起動 systemctl reload ${Unit} サービスリロード …

【timedatectl】時刻の表示/設定

timedatectl で時刻の設定を変更したのでここにメモします。 timedatectl とは 使い方 オプション コマンド 表示内容 使用例 使用できるタイムゾーン表示 タイムゾーン変更 現在の設定表示 timedatectl とは timedatectl は時刻やタイムゾーンを表示したり、…

【Certbot】Let’s Encrypt の自動更新を cron なしで実現

Certbot の定期処理を cron で設定していたのに、それとは別に定期処理が動いていたため、どこから動いていたか調べてみました。 Certbot とは? Certbot は無料かつ自動で SSL 証明書を発行できるツールです。 CSR と KEY ファイルの作成から Web サーバー…

sshキー(秘密鍵・公開鍵)の作成と認証

久々に開発環境を一からセットアップしたので、sshキー(秘密鍵・公開鍵)の作成方法をここにメモします。 用途としては、Github や各種サーバ接続用です。 ssh キー作成手順 ssh クライアントに移動 キー作成 github に公開キーを登録 右上の自分のアイコンを…

Linux のユーザ追加について

久々に開発環境を一からセットアップしたので、ユーザの追加方法をここにメモします。 作成手順 root ユーザになる $ sudo su - ユーザ追加 # useradd -m <ユーザ名>「-m」オプションはユーザのホームディレクトリを作成してくれるオプションです。 指定しな…

JSON のレコード件数を jq コマンドでカウントする方法について

jq コマンドで json のレコード件数をカウントする方法をメモします。 json のレコード件数をカウント 以下のような json を準備します。 $ jq . hoge.json [ { "id": 1, "name": "a" }, { "id": 2, "name": "b" }, { "id": 3, "name": "c" }, { "id": 4, "n…

Alpine の apk コマンドについて

apk コマンドは Alpine Linuxで使用できる、パッケージ管理コマンドです。 apk とは apk と apt の違いについて apk とは Alpine Linuxで使用できる、パッケージ管理コマンドです。 apk と apt の違いについて 処理内容 apk apt アップデート apk update apt…

コマンドの履歴を [ctrl + r] で検索し実行

これまで history コマンドと grep から過去に実行したコマンドを検索していましたが、 [ctlr + r]の方が便利だったのでここにメモします。これまで、過去に実行した ls コマンドを検索する場合は以下のようにしてました。 $ history | grep ls[ctlr + r]を…

Makefile 依存関係のある場合の書き方について

Makefile の依存関係を処理する部分について調べたことをここにメモします。 (そういえば24時くらいに地震ですごく揺れた...) 依存ターゲットについて 依存ターゲットについて - 自動化のためのGNU Make入門講座 - Makefileの基本:ルール依存ターゲットと…

【ssh】 ポートフォワーディングについて

作業端末から別ネットワークのサーバに接続して開発を行う場合に ssh の接続はできるけれど、 http サーバのアクセスや DB 接続などができないケースがありました。 そこで ssh のポートフォワーディングを使って 他のポートの通信を行なったので、その時の…

stdbuf コマンドでログをモニタリング

tail -f とかでログの書き込みをモニタリングしていると、grep や sed などを使うことがありますが、このようなコマンドをパイプでつなげてフィルタリングするとログファイルがどんどん追記されてもリアルタイムに結果が表示されなくなります。そんな時は、s…

ターミナル分割 tmux コマンド

tmux コマンドを利用するのですが、コマンドを失念しやすいためここにメモを残します。 tmux とは 利点 インストール mac Ubuntu 使い方 セッション操作 セッション起動 名前をつけてセッション起動 セッション終了 中断していたセッションに戻る(Attach) セ…

GNU Make - Makefile のルールをまとめてみる

アプリの初期構築を Makefile を使って作成してましたが、ルールをすぐに忘れてしまうためここにメモしておきます。 Makefile とは 基本 コメント 改行 ルール タスク 変数 変数の呼び出し ルール内で機能する自動変数 Makefileのデバッグ方法 参考 Makefile…

nkf を使って文字コードの変換を行う

文字コードの変換はいつも大変です。自分の場合は、よくメールの文章を取り込むようなシステムの開発で遭遇するのですが、ヘッダとボディの文字コードが合ってない等々(エンコーディングの指定情報が欠落していたり、コードの指定が間違っていることがある為…

curl の使い方(POSTする場合)

最近 curl で API の検証を行う機会が多いのだが、POSTする場合のオプションがいまいちわかってないのでここにメモを残します。 curl オプション(POSTする場合) -d オプション(--data "データ") エンコード未済のデータを扱いたい場合 json データを扱い…

【mac】tmux を使ってみる

よく忘れてしまうので「tmux」のコマンドをここにメモします。 prefixのデフォルト Control - b セッション開始 tmux 前回のセッションにアタッチ tmux a セッション終了 prefix + d セッション全削除 tmux kill-server ウィンドウ開始 prefix + c ウィンド…