コマンド実行中だけSSHポートフォワーディングを有効化する
SSHポートフォワーディング 便利ですね。普通はこんな具合にSSHコマンドを立ち上げっぱなしにすると思います。 $ ssh www.example.com -fNL 8000:localhost:8000 # -Lでポート指定、-fNでバックグラウンド待機 $ mycommand foo bar # ポートフォワーディングが必要なコマンドを実行する...
View Articleシェルスクリプトで採点を簡単に
必要な環境 bash gcc 実現したいこと 先生目線で学生の提出した(.c)ファイルの採点を効率化したい. .cファイルをコンパイルして一つ一つ実行していたら日が暮れそうなので、少し効率化出来ないかと考えた. 方法 学生の提出したファイルを一括ダウンロード(省略) コンパイルして実行しテキストファイルにリダイレクト 正しい出力が得られるテキストファイル(模範解答)とdiffをと...
View Articleシバン(shebang)は.bashrc, .zshrc等に必要なのか否か?
シバン(shebang)は.bashrc, .zshrc等に必要なのか否か? 最近シェルスクリプトを書いているときに、(シバン)shebangの必要性を実感し、 .bashrcや.zshrcなどのdotfilesを書いているときに、ふと、.bashrcや.zshrcには一般的にシバン(shebang)は必要ないのか必要なのか? 気になったのでその考察メモ。...
View Article任意のコマンドをWEBブラウザから実行してみる
概要 寝転びながらサーバの情報を見たいことがあったので、コマンドを実行した結果がWEBブラウザから見れるようにしてみました。技術的には、Nginxでリクエスト時にシェルスクリプトが動作しHTMLで描画するようにしています。Dockerコンテナの上で動いているので移植も起動も簡単です。味気ないですが、好きなコマンドを追加したり、CSSで整えたりはお好みで・・ 要件はこんな感じです。...
View Articleスクリプト作成_ログ集約+定期削除
はじめに ※あくまで個人的備忘録です サーバ構築の一部で、以下を目的としたスクリプト作成をすることになった。 ①ログ管理サーバに対象サーバのログファイルを収集する ②収集したファイルを一定のタイミングで削除 スクリプトの仕様について 処理概要図 ① sshコマンド経由で対象サーバに対してlsコマンドを発行する ② ①の出力結果から対象ファイルのパス情報を取得する ③...
View Articlelinuxで拡張子を一括変更
linuxで拡張子を一括変更する方法(例:".txt" → ".word") #!/usr/bin/bash for fname in *.txt; do mv $fname ${fname%.txt}.word; done 備忘録のため残しておきます。
View Article【Vulnhub】Tedをやってみた
はじめに ホワイトボックステストの練習をしたかったので、ソースコードが与えられているという前提でVulnhubをやってみました。 そのためポートスキャンや権限昇格といった内容は省略しています。 このブログを参考にしています。こっちの方が分かりやすいかもしれません。 Ted - Authenticated Local File Inclusion Ted サーバー名: Ted: 1 リリース日:...
View Articleshellの文字列分解と環境変数展開を再実装した
42tokyoの課題で、bashを模したシェルを製作しました。 shellに入力された文字列を分割するLexer,環境変数を展開するexpansionを担当したので、実装を行う際、気を付けたことを書きます。 Lexer Lexerってなんだ Lexerとは、shellに入力された文字列を、Parserが構文解析を行うToken単位に分割する機能のことです。...
View Articleterminalコマンド 『find』 省略版
概要 今回は「terminal」のコマンドの1つである「find」を取り上げていきたいと思います。 「find」コマンドはファイルやディレクトリを探してくれるコマンドで、活躍の幅は広いです。 覚えておいて損はないので、これを機に使っていきましょう! より詳しくわかりやすくこの記事で紹介しているので、よければ見てください! terminalコマンド 『find』...
View ArticleDocker runでsystemdを起動しつつスクリプトを動かす
はじめに Docker上でsystemdを使用したサービスを起動したいと思ったが調べるのに思いのほか苦戦してしまったのでここに残します ※systemdで起動しているものを直接起動してよいのならばsystemdを使用する必要はありません ※この記事ではprivilegedオプションを使用するため権限には十分注意してください systemdとは Linuxカーネルが起動する(PID...
View ArticleAWS Cloud9(amazon linux2)でPostgreSQL11をインストールする
概要 私は現在AWSとRuby on Railsを70時間くらい学習中です。 勉強のために『現場で使える Ruby on Rails 5速習実践ガイド』を購入しました、こちらの書籍にはWSLなどで環境構築する方法が記載されていましたが、私はAWS Educateを利用することができ、せっかくなのでcloud9でやってみたところ... $ sudo yum install postgresql...
View ArticleLinux テキスト処理に関するコマンド-まとめ
はじめに はじめまして!現在DMM WEB CAMPに通わせていただいております、かいかいと申します! 最近Linuxの勉強をしておりまして、こんなコマンドがあるのか!知らなかった!! ってものが数多く存在したので、その中でもテキスト処理に関するものをまとめていこうと思います。 目次 ・wc コマンド(標準入力として受け取った値を表示する) ・sort...
View Articleシェルスクリプト(bash等)の引数解析が究極的に簡単になりました
最近、以前作った getoptions の改良をしていました。(以前の記事はこちら) 以前のバージョンはシェルスクリプトライブラリとして使い方を想定していたのですが getopt や getopts の代わりとして外部コマンドとしても使えるようにしました。使い方は簡単で ここ から getoptions をダウンロードしパスが通ってる場所(~/bin や /usr/local/bin/...
View ArticlecwebpでWebPへフォルダ内のJPG・PNG画像を一括変換するシェルスクリプト
プロローグ EdgeのレンダリングエンジンもChromeと同等になり対応、またSafariも対応してきたWebP。 ひと手間増えて面倒だけど、いよいよWebPを通常採用する時期にきたのかもしれませんね... 参考サイト Big Sur搭載のSafariはWebP画像を標準サポート、AVIFもサポートしてくれるかも Can I use WebP ? 本稿の内容...
View Articleシェルスクリプト リファクタリング ~遅いシェルスクリプトが供養されてたので蘇生して256倍に高速化させました~
はじめに ことの始まりは「シェルスクリプトでツールを作ったけど速度が遅くて使い物にならなかったので供養」というツイートを見たからです。コードを見てみると、実例をあまり見ないシェルスクリプトのリファクタリング例として丁度良い内容と分量だったため記事にいたしました。記事を書くにあたりコードの利用を快く承諾していただいた @Hayao0819 様にはこの場を借りて御礼を申し上げます。...
View Articleシェルスクリプトはパイプを使うと速くなる…は神話!?
この記事は「シェルスクリプト リファクタリング ~遅いシェルスクリプトが供養されてたので蘇生して256倍に高速化させました~」の続編です。該当の記事ではリファクタリングを行うと共にシェルスクリプトの高速化も行いましたが、その結果としてコマンド置換とパイプがコードから消えました。これらは遅いサブシェルを使っているため、コマンド置換やパイプが消えているのも高速化した理由の一つです。...
View Article【Linux】関数の戻り値を変数に格納する【Bash】
初めに インタラクティブな関数の戻り値を変数に格納する情報が少なかったので、備忘録的に。 Bashの関数の戻り値について Bashの関数の戻り値は終了ステータスを返却します。 正常終了だったら「0」を返却するのが一般的です。 文字列を返却 関数の戻り値に文字列を扱いたい場合は標準出力を利用するのが一般的です。 test.sh #!/bin/bash function test () { echo...
View Article私がシェルスクリプトで"プログラミング"をする理由
この記事は@piroor さんのコメントに対する私の返信を冗長にポエム化した記事です。私が公開した「シェルスクリプト リファクタリング ~遅いシェルスクリプトが供養されてたので蘇生して256倍に高速化させました~」という記事についての話をしています。...
View Articleじゃんけんツール_(bash,perl,python)
いろいろな言語に触れてみたいと思い、それぞれの言語で同じような挙動となるような簡単なプログラムを組んでみました。 題材にしたのは、「じゃんけんプログラム」です。 使用した言語は、bash,perl,python です。長いので、内容は折りたたんで表示しています。 言語は仕事で使うことがあるかもしれないものから選択しました bash のシェルスクリプト クリックすると開きます janken.sh...
View ArticleLinux bash使いのためのWindowsスクリプティング
Linux bashではゴリゴリとスクリプト書いてるのに、Windowsになるといまいち書けないって人向けの記事。 Linuxでbashならこう書くんだけどなぁ、ってのをことあるごとに調べたくないので、そのためのまとめ。 はじめに 前提 WSL2とかを使えば、WindowsでもネイティブなLinux...
View Article