π© Bash: ΠΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ — history.
ΠΠ° ΡΠ΅ΠΌ ΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π½ΠΎ: Rocky Linux 9.5 (Blue Onyx)/ Debian GNU/Linux 12 (bookworm)/ Ubuntu 24.04.1 LTS/ Fedora Linux 41 (KDE Plasma)
Π Π°Π±ΠΎΡΠ° Ρ ΠΈΡΡΠΎΡΠΈΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ Π² bash ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π±ΡΡΡΡΠΎ ΠΏΠΎΠ²ΡΠΎΡΡΡΡ ΡΠ°Π½Π΅Π΅ Π²Π²Π΅Π΄Π΅Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
ΠΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΈΡΡΠΎΡΠΈΠ΅ΠΉ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΡΠΈΠΌΠ΅ΡΡ:
ΠΡΠΎΡΠΌΠΎΡΡ ΠΈΡΡΠΎΡΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄.
history
— ΠΡΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ Π²Π²Π΅ΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ history
, Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ
ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ Π²Π²Π΅Π΄Π΅Π½Ρ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΠ΅ΡΡΠΈΠΈ ΠΈΠ»ΠΈ ΡΠ°Π½Π΅Π΅, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ.
$ history
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠ²Π΅Π΄Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π²Π²ΠΎΠ΄ΠΈΠ»ΠΈ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΠ΅ΡΡΠΈΠΈ ΠΈ/ΠΈΠ»ΠΈ ΡΠ°Π½Π΅Π΅, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ.
Π₯ΡΠ°Π½ΠΈΡΡΡ ΡΠΏΠΈΡΠΎΠΊ Π² ΡΠ°ΠΉΠ»Π΅ .bash_history
, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ Π² ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ~/.bash_history
.
$ cat .bash_history
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΠ· ΠΈΡΡΠΎΡΠΈΠΈ.
!!
— ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π²Π΅Π΄ΡΠ½Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
!n
— ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Ρ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ n ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° ΠΈΡΡΠΎΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ history
. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, !42
Π²ΡΠΏΠΎΠ»Π½ΠΈΡ 42-Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
!-n
— ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ»Π° Π²Π²Π΅Π΄Π΅Π½Π° n ΠΊΠΎΠΌΠ°Π½Π΄ Π½Π°Π·Π°Π΄. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, !-2
Π²ΡΠΏΠΎΠ»Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π²Π²Π΅Π΄ΡΠ½Π½ΡΡ Π΄Π²Π° ΡΠ°Π·Π° Π²Π²ΠΎΠ΄Π° Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ Π½Π°Π·Π°Π΄.
!string
— ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π½Π°ΡΠΈΠ½Π°ΡΡΡΡΡΡ Ρ string
. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π±ΡΠ»Π° echo hello
, ΠΊΠΎΠΌΠ°Π½Π΄Π° !echo
Π²ΡΠΏΠΎΠ»Π½ΠΈΡ Π΅Ρ ΡΠ½ΠΎΠ²Π°.
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
$ !!
ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π²Π΅Π΄Π΅Π½Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π±ΡΠ»Π° ls -l
, ΡΠΎ !!
Π²ΡΠΏΠΎΠ»Π½ΠΈΡ Π΅Ρ ΡΠ½ΠΎΠ²Π°.
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠΎ Π½ΠΎΠΌΠ΅ΡΡ.
$ !42
ΠΡΠ»ΠΈ Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ 42-Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π² ΡΠΏΠΈΡΠΊΠ΅ — ΡΡΠΎ git status
, ΡΠΎ !42
Π²ΡΠΏΠΎΠ»Π½ΠΈΡ git status
.
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠΉ n ΠΊΠΎΠΌΠ°Π½Π΄ Π½Π°Π·Π°Π΄.
$ !-2
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠΏΠΎΠ»Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Π²Π²ΠΎΠ΄ΠΈΠ»ΠΈ Π΄Π²Π° ΡΠ°Π·Π° Π²Π²ΠΎΠ΄Π° Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ Π½Π°Π·Π°Π΄.
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π½Π°ΡΠΈΠ½Π°ΡΡΠ΅ΠΉΡΡ Ρ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
$ !git
ΠΡΠ»ΠΈ ΠΊΡΠ°ΠΉΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°, Π½Π°ΡΠΈΠ½Π°ΡΡΠ°ΡΡΡ Ρ git
, Π±ΡΠ»Π° git commit
, ΡΠΎ ΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡ git commit
.
ΠΠΎΠΈΡΠΊ ΠΏΠΎ ΠΈΡΡΠΎΡΠΈΠΈ.
Ctrl + r
— ΠΠ°ΠΏΡΡΡΠΈΡΡ ΠΏΠΎΠΈΡΠΊ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ. ΠΠ°ΠΆΠΈΠΌΠ°Ρ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ Ctrl + r
, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΠΈΠ½Π°ΡΡ Π²Π²ΠΎΠ΄ΠΈΡΡ ΡΠ΅ΠΊΡΡ, ΠΈ bash Π±ΡΠ΄Π΅Ρ ΠΈΡΠΊΠ°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΡΡΠΎΡ ΡΠ΅ΠΊΡΡ. ΠΠ°ΠΆΠΌΠΈΡΠ΅ Ctrl + r
ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ.
Ctrl + s
— Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ Π²Π°ΠΌ ΠΈΡΠΊΠ°ΡΡ Π²ΠΏΠ΅ΡΡΠ΄, ΠΎΠ΄Π½Π°ΠΊΠΎ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΠ° ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΠΎΠ±ΡΡΠ½ΠΎ Π·Π°ΠΌΠΎΡΠ°ΠΆΠΈΠ²Π°Π΅Ρ ΡΠ΅ΡΠΌΠΈΠ½Π°Π». ΠΠ»Ρ Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΠΎΠΌ.
ΠΠΎΠΈΡΠΊ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ.
ΠΠ°ΠΆΠΌΠΈΡΠ΅ Ctrl + r
. ΠΠ°ΡΠ½Π΅ΡΡΡ ΠΏΠΎΠΈΡΠΊ ΠΊΠΎΠΌΠ°Π½Π΄ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅. ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠ°ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΈ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ. ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ Π½Π°ΠΉΡΠΈ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ, Π½Π°ΠΆΠΌΠΈΡΠ΅ Ctrl + r
ΡΠ½ΠΎΠ²Π°.
ΠΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎ ΡΡΡΠΎΠΊΠ΅ git
:
ΠΠΎΡΠ»Π΅ Π½Π°ΠΆΠ°ΡΠΈΡ Ctrl + r
, Π²Π²Π΅Π΄ΠΈΡΠ΅ git
, Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, git status
, ΠΈ Π΅ΡΠ»ΠΈ Π½Π°ΠΆΠΌΠ΅ΡΠ΅ Ctrl + r
ΡΠ½ΠΎΠ²Π°, ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ git commit
.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈΡΡΠΎΡΠΈΠΈ.
Π€Π°ΠΉΠ» Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΡΡΠΎΡΠΈΠΈ: ΠΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠΎΡ
ΡΠ°Π½ΡΠ΅ΡΡΡ Π² ΡΠ°ΠΉΠ»Π΅ ~/.bash_history
.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΎΡ ΡΠ°ΠΉΠ» Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ HISTFILE
:
export HISTFILE=~/my_history_file
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌΡΡ ΠΊΠΎΠΌΠ°Π½Π΄.
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ Π² ΠΈΡΡΠΎΡΠΈΠΈ: HISTSIZE
ΠΈ HISTFILESIZE
ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ Π±ΡΠ΄Π΅Ρ Ρ
ΡΠ°Π½ΠΈΡΡΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ ΠΈ Π² ΡΠ°ΠΉΠ»Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ Ρ
ΡΠ°Π½ΠΈΡΡ 1000 ΠΊΠΎΠΌΠ°Π½Π΄, Π² Π²Π°ΡΠ΅ΠΌ ΡΠ°ΠΉΠ»Π΅ ~/.bashrc
Π΄ΠΎΠ±Π°Π²ΡΡΠ΅:
export HISTSIZE=1000
export HISTFILESIZE=2000
ΠΡΠΎ Π·Π°Π΄Π°ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ Ρ ΡΠ°Π½ΠΈΡΡΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ ΠΈ Π² ΡΠ°ΠΉΠ»Π΅ ΠΈΡΡΠΎΡΠΈΠΈ.
ΠΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΡΠ±Π»ΠΈΠΊΠ°ΡΠΎΠ².
ΠΠΏΡΠΈΠΈ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΈΡΡΠΎΡΠΈΠΈ: ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΠΊΠ°ΠΊ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΡΠ±Π»ΠΈΠΊΠ°ΡΠΎΠ² ΠΈΠ»ΠΈ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄.
Π§ΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ Π΄ΡΠ±Π»ΠΈΠΊΠ°ΡΠΎΠ² ΠΈ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄, Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
ΡΡ Ρ ΠΏΡΠΎΠ±Π΅Π»Π°, Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π² ~/.bashrc
:
export HISTCONTROL=ignoredups:ignorespace
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈΡΡΠΎΡΠΈΠΈ.
Π‘ΠΎΡ ΡΠ°Π½ΡΡΡ ΠΈΡΡΠΎΡΠΈΡ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ: ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΡΡΠΎΡΠΈΡ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΡΠΈ Π²ΡΡ ΠΎΠ΄Π΅ ΠΈΠ· ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² ~/.bashrc
, ΡΡΠΎΠ±Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΠ»ΠΈΡΡ Π² ΠΈΡΡΠΎΡΠΈΡ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΠΈΡ
Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ:
export PROMPT_COMMAND="history -a"
ΠΡΠΈΡΡΠΊΠ° ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈΡΡΠΎΡΠΈΠΈ.
history -d n
— Π£Π΄Π°Π»ΠΈΡΡ ΡΡΡΠΎΠΊΡ Ρ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ n ΠΈΠ· ΠΈΡΡΠΎΡΠΈΠΈ.
history -c
— ΠΡΠΈΡΡΠΈΡΡ Π²ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΠ΅ΡΡΠΈΠΈ.
rm ~/.bash_history
— Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° Ρ ΠΈΡΡΠΎΡΠΈΠ΅ΠΉ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ. Π§ΡΠΎΠ±Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²ΡΡΡΠΏΠΈΠ»ΠΈ Π² ΡΠΈΠ»Ρ, Π²ΡΠΉΠ΄ΠΈΡΠ΅ ΠΈΠ· ΡΠ΅ΡΡΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ.
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
$ history -d 42
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ΄Π°Π»ΠΈΡ 42-Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ· Π²Π°ΡΠ΅ΠΉ ΠΈΡΡΠΎΡΠΈΠΈ.
ΠΡΠΈΡΡΠΊΠ° Π²ΡΠ΅ΠΉ ΠΈΡΡΠΎΡΠΈΠΈ.
$ history -c
ΠΡΠΎ ΠΎΡΠΈΡΠ°Π΅Ρ ΠΈΡΡΠΎΡΠΈΡ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΠ΅ΡΡΠΈΠΈ.
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ΠΈΡΡΠΎΡΠΈΠΈ.
$ rm ~/.bash_history
Π£Π΄Π°Π»ΡΠ΅Ρ ΡΠ°ΠΉΠ» ΠΈΡΡΠΎΡΠΈΠΈ. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠ΅ΡΡΠΈΠΈ ΠΈΡΡΠΎΡΠΈΡ Π±ΡΠ΄Π΅Ρ Π½ΠΎΠ²ΠΎΠΉ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΡΡΠΎΡΠΈΠΈ Π² ΡΠΊΡΠΈΠΏΡΠ°Ρ .
ΠΡΡΠΎΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°ΡΡ Π² ΡΠΊΡΠΈΠΏΡΡ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ, ΡΠΈΡΠ°Ρ ΡΠ°ΠΉΠ» ~/.bash_history
ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΡ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ
Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ°Π½Π΅Π΅ Π²Π²Π΅Π΄ΡΠ½Π½ΡΡ
ΠΊΠΎΠΌΠ°Π½Π΄.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΠΈΠ»ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄:
#!/bin/bash
while read command; do
echo "Executing: $command"
eval "$command"
done < ~/.bash_history
ΠΡΠΎ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΊΡΠΈΠΏΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΡΠΈΡΠ°Π΅Ρ ΠΊΠ°ΠΆΠ΄ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ· ΠΈΡΡΠΎΡΠΈΠΈ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡ Π΅Ρ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅.
Π Π°Π±ΠΎΡΠ° Ρ ΠΈΡΡΠΎΡΠΈΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ Π² bash β ΡΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π», ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠΊΠΎΡΠΈΡΡ ΡΠ°Π±ΠΎΡΡ ΠΈ ΡΠΏΡΠΎΡΡΠΈΡΡ Π²Π²ΠΎΠ΄ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΡ ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ, Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ²ΠΎΠ΅ΠΉ ΠΈΡΡΠΎΡΠΈΠ΅ΠΉ Π² bash.
ΠΡΠΈΠ³ΠΈΠ½Π°Π»Ρ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ² ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ.
- younglinux.info Β«ΠΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅Β».