The mind behind Linux | Linus Torvalds
Obsah:
- Používání historie Rozšíření příkazů a historie
- Uložení seznamu historie
- Vymazání historie
- Změna chování historie
- Závěr
, budeme hovořit o příkazu
history
, který vám umožní zobrazit seznam dříve provedených příkazů, prohledávat seznam a manipulovat s historickým souborem.
Používání historie Rozšíření příkazů a historie
history
je vestavěná skořápka a její chování se může mírně lišit od skořápky k skořápce. Pokryjeme vestavěnou verzi
history
Bash.
Ve své nejjednodušší podobě, když je příkaz
history
vyvolán bez jakékoli možnosti nebo argumentu, zobrazí celý seznam historie s čísly řádků.
history
… 467 git push 468 tail -f var/logs/error 469 nano +22, 5 functions.sh 470 source project-env/bin/activate 471 history
Zadáním
!n
provede n-tý příkaz ze seznamu historie a
!-n
příkaz n se vrátí zpět. V následujícím příkladu provádíme příkaz na řádku
467
:
!467
Dalším způsobem provedení příkazu je použití rozšíření
!word
word
odkazuje na poslední příkaz začínající na 'slovo'.
history
obvykle zobrazuje mnoho řádků výstupu, které se nevejdou na obrazovku. Chcete-li zobrazit výstup po jedné stránce najednou, přidejte jej do programu pageru, jako je příkaz
more
či
less
:
history | less
Chcete-li zobrazit posledních
n
řádků, předejte číslo jako argument příkazu. Chcete-li například zobrazit pouze posledních pět řádků ze seznamu historie, který byste napsali:
history -5
Pomocí kláves
down
šipkami
up
a
down
můžete procházet položky v seznamu. Když se zobrazí hledaný příkaz, stiskněte
Enter
pro jeho provedení.
Typ
!!
provést předchozí příkaz:
!!
To je užitečné zejména tehdy, když zapomenete přikázat příkaz
sudo
a namísto opakovaného zadání příkazu můžete napsat:
sudo !!
!-1
je stejné jako
!!
a provede poslední příkaz ze seznamu historie
!-2
vteřiny do konce atd.
^word1^word2^
umožňuje znovu spustit poslední příkaz nahrazující „word1“ za „word2“. Pokud jste omylem zadali
sduo command
místo
sduo command
sudo command
, můžete příkaz opakovat pomocí správného slova s:
^sduo^sudo^
Pomocí příkazu
grep
filtrujte výstup. Například pro zobrazení všech příkazů včetně „nano“, které byste spustili:
history | grep nano
302 sudo nano /etc/resolv.conf 356 nano setup.py 413 sudo nano /etc/hosts 469 nano +22, 5 functions.sh
Nyní, pokud chcete znovu spustit příkaz
nano setup.py
jednoduše zadejte:
!356
Dalším způsobem prohledávání historie příkazů je stisknutí
Ctrl-R
. Výzva se změní na následující a můžete začít hledat dříve provedený příkaz.
(reverse-i-search)`':
Shell zobrazí odpovídající řádek. Chcete-li přejít k dalšímu odpovídajícímu návrhu, stiskněte znovu klávesu
Ctrl-R
.
V příručce Bash najdete další informace o historii rozšíření, modifikátory a označení.
Uložení seznamu historie
Ve výchozím nastavení při spuštění nové relace přečte Bash seznam historie ze souboru
.bash_history
. Seznam příkazů, které se provádějí v aktuální relaci, se uloží do paměti a po uzavření relace se uloží do souboru.
Možnost
-a
umožňuje uložit aktuální seznam historie relací do souboru
.bash_history
:
history -a
Možnost
-w
zapíše úplný seznam historie do souboru historie.
Vymazání historie
Příkaz
history
umožňuje vymazat celý seznam historie nebo odstranit určité části.
Chcete-li vymazat seznam historie, použijte volbu
-c
:
history -c
Chcete-li odstranit konkrétní čáru nebo čáry mezi počáteční a koncovou pozicí ze seznamu historie, použijte volbu
-d
.
Chcete-li například odstranit řádky mezi 365 a 375 (včetně těchto řádků), zadejte:
history -d 365 375
Při použití záporného celého čísla se řádky počítají od konce seznamu historie.
Příkazy výše vymaže seznam historie, který je uložen v paměti, ale neodstraní položky ze souboru
.bash_history
na disku. Chcete-li vymazat soubor, musíte do souboru napsat seznam historie:
Změna chování historie
Chování historie basů lze definovat pomocí několika různých proměnných prostředí. Při změně chování historie nastavte proměnné v
~/.bashrc
nebo v jakémkoli jiném konfiguračním souboru, který se načte při přihlášení uživatele.
Ve výchozím nastavení udržuje Bash 500 řádků v seznamu historie příkazů. Proměnná
HISTSIZE
umožňuje tuto hodnotu změnit. Chcete-li jej nastavit na 10000, přidejte do souboru
.bashrc
následující řádek:
HISTSIZE=10000
Proměnná
HISTCONTROL
přijímá seznam hodnot oddělených dvojtečkou, které definují, jak se příkazy ukládají do seznamu historie:
-
ignorespace
- příkazy začínající mezerou nejsou ukládány do seznamu historie.ignoredups
- duplicitní příkazy se neuloží.ignoreboth
- je zkratka, včetněignorespace
aignoredups
.
HISTCONTROL=ignoreboth
Když je nastavena proměnná
HISTTIMEFORMAT
, Bash
HISTTIMEFORMAT
časové razítko provádění příkazu na každém řádku.
Pokud například nastavíte:
HISTTIMEFORMAT="%F %T: "
Historie bude zobrazena v následujícím formátu:
413 2019-10-27 21:13:07: sudo nano /etc/hosts
Závěr
Příkaz
history
zobrazí seznam dříve provedených příkazů. Například můžete použít historii k zobrazení dlouhého příkazu, který jste dříve použili, a na který si nemůžete vzpomenout.
Příkaz Chmod v Linuxu (oprávnění souboru)

V Linuxu je přístup k souborům spravován prostřednictvím oprávnění k souborům, atributů a vlastnictví. Tento tutoriál popisuje, jak pomocí příkazu chmod změnit přístupová oprávnění k souborům a adresářům.
Příkaz Chgrp v Linuxu (změna skupiny)

V systému Linux je každý soubor spojen s vlastníkem a skupinou a má oprávnění, která určují, kteří uživatelé mohou soubor číst, zapisovat nebo provádět. Příkaz chgrpc mění vlastnictví dané soubory ve skupině.
Příkaz Cp v Linuxu (kopírování souborů)

cp je obslužný program příkazového řádku pro kopírování souborů a adresářů v systémech Unix a Linux.