• teeコマンドでシェルスクリプトのパイプラインをデバッグする方法

    インスタンス 以下は、processid関数が指定されたプロセス名のプロセスIDを問い合わせる簡単なスクリプトで、Linuxサーバーの管理では非常によく使われる関数です。 #! /bin/sh processid() { ipid=$(ps -ef | grep -w $1 | grep -v grep | awk '{print $2}') echo $ipid

    2022-01-09 05:36:38
  • コマンドライン引数を読み込むシェルスクリプトの実装

    前提 シェルプログラムを作成する際に、コマンドライン引数を処理する必要がある場合が多い オプションと引数 次のようなコマンドラインです。 . /test.sh -f config.conf -v --prefix=-fはオプションで、引数は1つ、つまりconfig.confです。 -vもオプションですが、引数を取りません。 -prefixはいわゆるロングオプションで、オプション自体が1

    2022-01-09 04:54:07
  • linux いくつかの無駄な、しかし面白いコマンド(コレクション)

    figletキャラクタードローイング <ブロッククオート figletは英語の文字列を文字絵として出力することができます インストール方法 yum install figlet -y 実行する figlet rumenz.com(フィグレット ルーメンツ・ドットコム)。      | '__| | | |

    2022-01-08 20:16:57
  • シェルスクリプトでの/dev/nullの使用方法まとめ

    /dev/null は、書き込まれたデータをすべて破棄する特殊なデバイスファイルです。ブラックホール、つまり書き込み専用のファイルと同じだと考えてください。 /dev/null は、コマンドラインやスクリプトで非常に便利です。 用途 /dev/null 不要な出力ストリームを破棄したり、入力ストリームの空ファイルとして使用されることがよくありますが、これらの操作は通常リ

    2022-01-08 03:08:55
  • シェルユーティリティスクリプトのいくつかの例(コレクターズ・エディション)

    1 特殊なファイル名のリモートコピー サーバー間のファイルのコピーは、scpコマンドで行うことが多く、以下のような書式になります。 (1) scp ファイル名 [ユーザー@]ホスト:ディル (2) scp [ユーザ@]ホスト:ディレクトリ1 (1)はローカルファイルのファイル名をリモートサーバホストのdirディレクトリにコピーし、(2)はリモートサーバホストのdir1ディレクトリにあるファイ

    2022-01-05 23:29:25
  • シェルスクリプトでnginxをインストールする詳細な手順 ソースコード

    SHELLのコンセプト {SHELLとは? Linuxカーネルとユーザーの架け橋となるSHELLとは。 SHELLはコマンドインタプリタでもあり、ユーザーがSHELLにコマンドを入力すると、SHELLはLinuxカーネルにコマンドを渡し、カーネルはそれを処理してSHELLに返し、SHELLは結果をユーザーの端末に返します。 SHELLはシェル、ミドルウェアであり、シェルにはbas

    2022-01-05 22:42:42
  • シェルスクリプトがテキストファイルを1行ずつ処理する方法

    テキストファイルを一行ずつ処理することがよくありますが、シェルで各行のデータを取得し、その行のデータを処理し、最後に次の行のデータを読み込むというループ処理をどのように行うのでしょうか。以下のように様々な解決策があります。 1. readコマンドで行う。 readコマンドは、標準入力から一行を読み込み、入力行の各フィールドの値を、変数IFS(Internal Field Separator)の

    2022-01-05 21:44:29
  • シェルスクリプトとmy.cnfによるmysqlの追加・削除・設定

    シェルによるmysqlの操作 1. mysqlのデフォルトパスワードの取得 デフォルトパスワードでmysqlを新規インストール #! /bin# STRING: A string to get the default mysql password # Example: A temporary password is generated for root@localhost: x

    2022-01-05 20:47:32
  • シェルスクリプトの基礎と原理入門

    1. 特殊変数 $#: 変数パラメータの数を表示する 0:スクリプトの名前を表示 $! : シェルのバックエンドの pid を表示します。 $@ : 渡されたスクリプトの全パラメータのリストを表示する $*: すべてのパラメータのリストを表示し、1 つの文字列として表示します。 $$:スクリプトのプロセス自体のID 直前のコマンドの結果。 2. 内部環境変数 $PATH SHE

    2022-01-05 18:43:31
  • Linuxにおけるnohupとバックグラウンド実行プロセスの表示と終了

    nohupコマンドは、Command引数および関連するArg引数で指定されたコマンドを実行し、すべてのSIGHUPシグナルを無視します。nohupコマンドは、ログオフ後にバックグラウンドでプログラムを実行するために使用します。nohupコマンドをバックグラウンドで実行するには、コマンドの末尾に&("と"の記号)を追加してください。 1. ノウプ 目的 ハングアップせずにコマン

    2022-01-05 18:39:01
  • バウンスシェルのいくつかのポーズをまとめたもの

    侵入プロセスでは、ポート制限によりターゲットマシンに直接接続できないことが多いため、さらに深く侵入を続けるためにはシェルをバウンスして対話型シェルを取得する必要があります。 バウンスシェルは、イントラネットのアクセスを開放する最初のステップであり、権限昇格のプロセスにおいて重要なステップとなります。すべてのポーズはウェブから照合され、例えば、攻撃者がホストしていると仮定します。例えば、攻撃

    2022-01-05 18:24:48
  • シェルスクリプトでよく使われる組み込み変数(Bash組み込み変数)

    funcname, $lineno, $pwd FUNCNAME と LINENO 変数は、スクリプトのデバッグによく使用されます FUNCNAME 現在の関数名を示す。スコープは関数内に限定され、関数の外では値を持たない。 LINENO 現在のスクリプトで変数が出現する行番号を示します。 PWD はカレントディレクトリを示し、それに対応する pw

    2022-01-05 16:56:15
  • シェルプログラミング。変数の高度な使い方

    変数置換 {テーブル 構文 {を使用します。 説明 {を使用します。 変数名#マッチングルール}を指定します。 変数から で始まる にマッチするルールマッチが実行されます。 最短 にマッチするデータを削除します。 変数名 ## 一致ルール}${ 変数名 ## 一致ルール 変数から で始まる にマッチするルールマッチが実行されます。 最長 にマッチするデータを削除します。

    2022-01-05 16:07:07
  • シェルスクリプト暗号化ツールshcの詳細説明

    シェルスクリプト暗号化ツールshc <ブロッククオート shcは、シェルスクリプトを暗号化するためのツールです。その目的は、シェルスクリプトを実行可能なバイナリファイルに変換することです。 アプリケーションシナリオ シェルスクリプトによるシステムメンテナンスの自動化は、簡単、便利、かつポータブルです。しかし、シェルスクリプトは読み書き可能であり、ユーザー名、パスワード

    2022-01-05 14:58:02
  • シェルとsedとawkの正規表現に関するFAQ

    1 正規表現の「+」「?」「*」は何を意味するのですか? この3文字は、キーワードのマッチング数を制限するためのもので、それぞれ次のような意味を持っています。 +例:a+はa、aa、aaaなどにマッチします。 例えば、a?は0個または1個のaにマッチします。 *例えば、a* は、ゼロまたは連続する任意の数の a にマッチします。 2 11桁の電話番号にマッチする

    2022-01-05 14:47:03
  • シェルバッチプロセスで存在するかどうかを判断する

    によって void glDrawElements( GLenum mode, GLsizei count, GLenum type, const GLvoid *indices). プロセスが存在するかどうかを判断する 1. 確認したいtomcatのパスをtxtに書き、tomcatを一行で書き、demo.txtと名付ける。 GLuint IBO;  unsigned int Ind

    2022-01-05 14:30:34
  • Linuxサーバーにおけるjdkのインストールパスの確認方法

    linuxサーバーのjdkのインストールパスを表示する Linuxサーバー上のJDKのインストールパスを調べるにはどうすればよいですか?JDKのインストールパスを見つける方法には、どのようなものがありますか?何か制限はありますか?ここでは、JDKのインストールパスを見つける方法についてまとめています。 1: エコー $JAVA_HOME JAVA_HOMEを使用する場合、環境変

    2022-01-05 14:27:02
  • シェルバッチファイルの作成とリネームのサンプルコード

    I. 問題点      forループでlinux-1からlinux-10までの10個のファイルを一括作成し、そのファイルの接頭辞をunixに変更します。 II. 解答 1、ファイルの一括削除 linux-1からlinux-10までの名前のファイルを一括で作成します。 (1) 方法1:通常の方法 #Batch create

    2022-01-05 13:32:42
  • シェルプログラミングにおけるShiftの使い方まとめ

    位置の引数は、shiftコマンドで左にずらすことができる。例えば、shift 3は、元の$4が$1、元の$5が$2などになることを意味します。元の$1、$2、$3は破棄され、$0は移動しません。引数なしのシフト・コマンドは、シフト1と同じです。 位置変数やコマンドライン引数については、その番号を決定する必要があること、またはシェルプログラムがその番号を知らない場合、すべての引数をまとめて変数

    2022-01-05 12:51:56
  • rm -rf / vs rm -rf /* rmの代わりにmvを使用することを推奨

    rmコマンドは、ディレクトリ内の1つまたは複数のファイルやディレクトリを削除したり、ディレクトリとその下のすべてのファイルやサブディレクトリを削除することができます。 <テーブル コマンド 役割 -f ファイルまたはディレクトリを強制的に削除する -i 既存のファイルやディレクトリを削除する前にユーザーに確認する -r

    2022-01-05 12:16:41