’, Â, � etc... How to fix strange encoding characters in WP or other SQL database
目次:
、
history
コマンドについて説明します。これにより、以前に実行したコマンドのリストを表示し、リストを検索して、履歴ファイルを操作できます。
history
コマンドとHistory Expansionsの使用
history
はシェルに組み込まれており、その動作はシェルごとに若干異なる場合があります。 Bash組み込みバージョンの
history
ます。
最も単純な形式では、オプションや引数なしで呼び出されると、
history
コマンドは行番号付きの履歴リスト全体を表示します。
history
… 467 git push 468 tail -f var/logs/error 469 nano +22, 5 functions.sh 470 source project-env/bin/activate 471 history
!n
入力すると、履歴リストのn番目のコマンドが実行され、
!n
コマンドがn行前に戻ります。 次の例では、
467
行目でコマンドを実行しています。
!467
コマンドを実行する別の方法は、
!word
展開を使用すること
!word
。
word
は、「word」で始まる最新のコマンドを指します。
通常、
history
は、画面に収まらない多くの出力行が表示されます。 出力を一度に1ページずつ表示するには、
more
または
less
コマンドなどのページャープログラムにパイプします。
history | less
最後の
n
行を表示するには、コマンドに引数として番号を渡します。 たとえば、履歴リストの最後の5行のみを表示するには、次のように入力します。
history -5
down
矢印キーを使用し
up
、リスト内のエントリをナビゲートします。 検索したコマンドが表示されたら、
Enter
を押して実行します。
タイプ
!!
前のコマンドを実行するには:
!!
これは、コマンドを
sudo
で実行することを忘れた場合に特に便利です。コマンドを再入力する代わりに、次のように入力できます。
sudo !!
!-1
は
!!
と同じです
!!
そして、履歴リストから最後のコマンドを実行します(最後から2秒目など)。
^word1^word2^
展開すると、「word1」を「word2」に置き換えて最後のコマンドを再実行できます。
sudo command
sduo command
代わりに誤って
sduo command
を入力した場合、次のように正しい単語を使用してコマンドを繰り返すことができます。
^sduo^sudo^
grep
コマンドを使用して、出力をフィルタリングします。 たとえば、「nano」を含むすべてのコマンドを表示するには、次を実行します。
history | grep nano
302 sudo nano /etc/resolv.conf 356 nano setup.py 413 sudo nano /etc/hosts 469 nano +22, 5 functions.sh
ここで、
nano setup.py
コマンドを再実行する場合は、次のように入力します。
!356
コマンド履歴を検索する別の方法は、
Ctrl-R
押すことです。 プロンプトが次のように変わり、以前に実行したコマンドの検索を開始できます。
(reverse-i-search)`':
シェルは一致する行を表示します。 次の一致する候補に移動するには、
Ctrl-R
もう一度押します。
履歴拡張、修飾子、および指定子の詳細については、Bashのマニュアルを参照してください。
履歴リストを保存する
デフォルトでは、新しいセッションを開始すると、Bashは
.bash_history
ファイルから履歴リストを
.bash_history
ます。 現在のセッションで実行されるコマンドのリストはメモリに保持され、セッションが閉じられるとファイルに保存されます。
-a
オプションを使用すると、現在のセッション履歴リストを
.bash_history
ファイルに保存できます。
history -a
-w
オプションは、完全な履歴リストを履歴ファイルに書き込みます。
履歴を消去する
history
コマンドを使用すると、完全な履歴リストをクリアしたり、特定の部分を削除したりできます。
履歴リストをクリアするには、
-c
オプションを使用します。
history -c
履歴リストから開始位置と終了位置の間の特定の行を削除するには、
-d
オプションを使用します。
たとえば、365〜375の行(これらの行を含む)を削除するには、次のように入力します。
history -d 365 375
負の整数を使用すると、行は履歴リストの最後からカウントされます。
上記のコマンドは、メモリに保持されている履歴リストをクリアしますが、ディスク上の
.bash_history
ファイルからエントリを削除しません。 ファイルを消去するには、履歴リストをファイルに書き込む必要があります。
履歴動作の変更
Bash履歴の動作は、いくつかの異なる環境変数を使用して定義できます。 履歴の動作を変更するときは、ユーザーがログインしたときに読み込まれる
~/.bashrc
またはその他の構成ファイルに変数を設定します。
デフォルトでは、Bashはコマンド履歴リストに500行を保持します。
HISTSIZE
変数を使用すると、この値を変更できます。 10000に設定するには、
.bashrc
ファイルに次の行を追加します。
HISTSIZE=10000
HISTCONTROL
変数は、コマンドを履歴リストに保存する方法を定義するコロンで区切られた値のリストを受け入れます。
-
ignorespace
スペースで始まるコマンドは履歴リストに保存されません。ignoredups
重複したコマンドは保存されません。ignoreboth
は、ignorespace
とignoredups
両方を含む短縮形ignoredups
。
HISTCONTROL=ignoreboth
HISTTIMEFORMAT
変数が設定されている場合、Bashは各行でコマンドの実行のタイムスタンプを付加します。
たとえば、次を設定した場合:
HISTTIMEFORMAT="%F %T: "
履歴は次の形式で表示されます。
413 2019-10-27 21:13:07: sudo nano /etc/hosts
結論
history
コマンドは、以前に実行されたコマンドのリストを表示します。 たとえば、履歴を使用して、以前に使用した覚えのない長いコマンドを表示できます。
Bash forループ

Bashスクリプトには、forループ、whileループ、untilループの3つの基本的なループ構造があります。 このチュートリアルでは、Bashのforループの基本と、ループのフローを変更するbreakおよびcontinueステートメントについて説明します。
Bash:ファイルに追加

Linuxには、ファイルにテキストを追加する方法が複数あります。 この記事ではそれらのいくつかについて説明します。
bash(カウンター)で変数をインクリメントおよびデクリメントする方法

Bashスクリプトを記述するときの最も一般的な算術演算の1つは、変数の増分と減分です。 これは、ループでカウンターとして最もよく使用されますが、スクリプト内の他の場所でも発生する可能性があります。