1. Proveďte poslední příkaz pomocí !!
Název říká za vše, stačí zadat následující do terminálu ...
!!
… Chcete-li znovu provést poslední zadaný příkaz. Tento trik je velmi užitečný, když zapomeneme vstoupit sudo na začátku. V takovém případě byste museli zadat:
sudo !!
Chcete-li objevit složitější způsoby, jak z tohoto triku vytěžit maximum, doporučuji si ho přečíst starý příspěvek.
2. Proveďte poslední příkaz, ale opravte chybu při psaní
Tento trik je opravdu užitečný, když zadáme příkaz jednoduchým překlepem. Například pokud spustíme:
echo"desdelinuxz"
Můžete to opravit zadáním následujícího:
^z
3. Vyvolejte textový editor a zadejte dlouhý příkaz
Někdy musíte do terminálu zadat nekonečné příkazy. V takovém případě vám může pomoci jednoduchý textový editor, například nano nebo emacs.
Editor otevřete stisknutím Ctrl + x + e v terminálu. Text, který jste doposud zadali, se po otevření zkopíruje do textového editoru.
Jako jeho část bude použit editor, který je uveden v proměnné $ EDITOR. Chcete-li tuto konfiguraci změnit, je možné provést ...
export EDITOR = nano
… Výměna nano za preferovaný editor.
4. Proveďte příkaz bez uložení do historie
Skutečný hacker nemůže tento trik ignorovat. Jak každý ví, bash ukládá historii spuštěných příkazů, ke které je velmi snadný přístup pomocí šipek na klávesnici nebo Ctrl + R (provést zpětné vyhledávání v historii).
V tomto případě musíte udělat mezeru tak, aby zadaný příkaz nebyl uložen v historii:
příkaz
5. Automaticky umístit poslední parametr příkazu
Předpokládejme, že dříve provedený příkaz byl
cp file.txt / var / www / wp-content / uploads / 2009/03 /
Chcete-li otevřít dotyčný adresář, můžete zadat příkaz cd následuje Alt +. o Esc +. :
cd 'ALT +.'
Toto je jen zkrácený způsob vstupu:
cd / var / www / wp-content / uploads / 2009/03 /
6. Proveďte příkaz ve stanovenou dobu
Ano, ano, k tomu to existuje cron. Někdy však chceme spustit příkaz ke spuštění v určitou dobu, ale pouze jednou.
Předpokládejme, že chceme provést příkaz ls -l o půlnoci. V takovém případě to musíme provést následujícím způsobem:
echo "ls -l" | o půlnoci
7. Získejte externí IP
Díky službě poskytované společností http://ifconfig.me/ Přímo z terminálu je možné znát různá data vašeho internetového připojení:
curl ifconfig.me/ip // IP adresa curl ifconfig.me/host // Vzdálený server curl ifconfig.me/ua // Uživatelský agent curl ifconfig.me/port // Port
8. Naučte se, jak používat Ctrl + u a Ctrl + y
Kolikrát se vám stalo, že jste začali psát příkaz a pamatovali jste si to dříve, než bylo nutné udělat něco jiného? Je možné provést určitý druh cut-paste, takže později je snadnější znovu zadat příkaz, který zbyl napůl.
Předpokládejme, že jste začali psát ...
cd / home / user
a pamatoval jste si to předtím, než jste museli něco zkontrolovat v aktuálním adresáři. V takovém případě stiskněte Ctrl + u (Bylo by to něco jako „střih“).
Nejprve zadejte příkaz, který bylo potřeba spustit. Předpokládejme ...
ls -l
... a poté stiskněte Ctrl + y (funguje jako „pasta“).
9. Snadno vyčistěte terminál
s Ctrl + l terminál lze vyčistit za okamžik.
10. Přejděte do adresáře, spusťte příkaz a vraťte se do aktuálního adresáře
Tento trik je potěšením. Chcete-li provést řadu příkazů, aniž byste opustili aktuální adresář, stačí je seskupit do závorek. Jak téměř každý ví, k provedení řady příkazů je musíte zřetězit pomocí &&. Pomocí těchto konceptů můžeme provést něco jako následující:
(cd / tmp && ls)
Výsledkem tohoto příkazu (všimněte si závorek) bude seznam souborů a adresářů ve složce / Tmp. Vše bez opuštění našeho aktuálního adresáře. Klenot!
Yapa. Seznam nejpoužívanějších příkazů
Abychom je viděli nejpoužívanější příkazy stačí provést následující:
historie | awk '{a [$ 2] ++} END {for (i in a) {print a [i] "" i}}' | sort -rn | hlava
V mém případě zvítězili:
450 yaourt 415 sudo 132 git 99 cd 70 leafpad 70 killall 68 ls 52 pacman 50 xrandr 45 top
Pro fanoušky terminálu, jako je tento server, doporučuji navštívit příkazový řádek. Proč také ne, nepřestávejte se dívat na Archiv z našeho blogu.
Použil jsem jeden, který v mém inputrc vynechal velká písmena, protože upřímně mnoho souborů, které začaly takto, do mě vklouzlo.
Myslím, že jedním z nejdůležitějších je příkaz historie, ve kterém vrátí očíslovaný seznam
příkazů, které jste použili, a pokud chcete použít některý z nich, použijte následující řádek
! 22
který provede příkaz, který je ve vaší historii na čísle 22 😀
Hledání příkazu s automatickým dokončením je
ctrl + r
Také vždy používám Ctrl + r k opakování posledního příkazu; jakmile se objeví poslední, můžete procházet historii stisknutím klávesy Up Pag (šipka nahoru).
Zdravím.
Dobrý článek. Děkujeme za sdílení těchto tipů.
Chci sdílet ten, který používám každý den, což je 'fg', což vám umožňuje otevřít aplikace, které jste dříve zastavili pomocí 'Ctrl + z'.
A s 'bg' je pošlete na pozadí 🙂
Podívej se na sebe ... dobrý trik! Děkujeme za sdílení.
Objetí! Pavel.
Příspěvek je vynikající, vždy vás přimějí pamatovat si věci, které jste věděli a nakonec zapomněli, ale které jsou opravdu užitečné.
Cheaty terminálu jsou vždy vítány.
Neuvěřitelně jsem nevěděl, že přidání mezery do příkazu bylo z historie vynecháno.
Děkuji moc, Zdravím !!
Chcete-li použít historii automatického dokončování filtrování, přidejte soubor $ HOME / .inputrc
"\ E [5 ~": history-search-backward
"\ E [6 ~": history-search-forward
a například jste v určitém okamžiku použili:
$ cd / jedna / cesta / delší / než / hovno
a nyní jej chcete použít znovu, musíte udělat:
$ cd
a poté stisknutím kláves „Page Up“ nebo „Page Down“ procházejte všechny příkazy v historii, které začínají „cd“.
NEBO…. Bez úpravy čehokoli stisknete Ctrl + R a poté cd (pokud chcete něco hledat pomocí 'cd') a opakovaným stisknutím Ctrl + R uvidíte všechny příkazy, které to obsahují, dokud se nedostanete k požadovanému. Je zřejmé, že pokud jde o bezprostředně předcházející, jeden dostanete.
Velmi dobře!
Vlastně ls / tmp by mělo stačit k vypsání adresáře bez opuštění aktuálního.
Příkaz můžete také zřetězit pomocí ";" jako v příkladu č. 10 by to bylo takto:
(cd / tmp; ls)
pozdravy
On „;“ Funguje to jinak než „&&“ (a), když uděláme příkaz-1 && příkaz-2, druhý příkaz se provede, pouze pokud je výstup prvního „0“, tedy bez chyby. V případě středníku se druhý příkaz provede bez ohledu na výstup prvního. K prodloužení je zde operátor «||» (nebo), v tomto případě je druhý příkaz proveden pouze v případě, že první vyvolá chybu na výstupu. Pozdravy.
Aby každý řádek, který si pamatuje historii, měl datum a čas, existuje proměnná prostředí v ~ .bashrc normálního uživatele nebo root.
# nano .bashrc
exportovat HISTTIMEFORMAT = »% F% T»
# Dějiny
492 2014-09-02 14:25:57 revdep-rebuild -i -v
493 2014-09-02 14:31:14 eclean-dist -d
494 2014-09-02 14:31:23 localepurge -v
495 2014-09-02 14:31:29 atd. Aktualizace
496 2014-09-02 14:31:54 emerge –depclean –pretend
497 aktualizováno 2014 09:02:14 b
Existuje více možností, které jsou pro množství řádků, které ukládá, testuji je.
Velmi dobrý příspěvek. Opravdu velmi užitečné. Trik číslo 4, který spočívá v provedení příkazu bez jeho uložení v historii, pro mě fungoval pouze v Ubuntu, ne v Debianu nebo Centosu.
Fungovalo to pro mě na raspbian a ne na arch.
Merveilleux!!
Dobrý den,
co umístit mezeru před provedením příkazu, aby nebyl registrován v historii, protože nefunguje ...
[uživatel @ hostitel /] $ ls -l
celková 104
dr-xr-xr-x. 2 root root 4096 21. srpna 03:55 bin
dr-xr-xr-x. 5 root root 3072 20. srpna 17:26 boot
drwxr-xr-x. 2 root root 4096 9. prosince 2013 cgroup
[uživatel @ hostitel /] $ historie
1024 ls
1025 ls
1026 historie
1027 ls -l
1028 historie
zajímavý článek ..
pozdravy
Omlouváme se, že jste nečetli všechny příspěvky,
Test se také provádí v centos.
Dobré s Ctrl + U a Ctrl + Y.
V mém systému pracoval seznam nejpoužívanějších příkazů změnou proměnné na 5 $.
Příklad výstupu:
1122 sudo
362 ls
279 jasné
214 cd
142 kopat
141 yourt
130 vnstat
122 mv
pátek 112
Historie 112
Je to proto, že v mém souboru .bashrc mám následující řádek:
# Zobrazit datum příkazu historie
export HISTTIMEFORMAT = '% F% T:'
Jsem si téměř jistý, že mnozí zde používají několik terminálů současně.
Nyní nevím, jestli vám mám říci, že se jedná o terminální trik, ale protože obvykle mám mnoho oken nebo používám obrazovku k otevření několika terminálů, umožňuje to jakýkoli příkaz zadaný v jednom z těchto terminálů, protože se projeví ve všech .
To jde v souboru .bashrc:
HISTSIZE = 90000
HISTFILESIZE = $ HISTSIZE
HISTCONTROL = ignorespace: ignoredups
Dějiny () {
_bash_history_sync
vestavěná historie „$ @“
}
_bash_history_sync () {
zabudovaná historie -a # 1
HISTFILESIZE = $ HISTSIZE # 2
vestavěná historie -c # 3
vestavěná historie -r # 4
}
PROMPT_COMMAND = _bash_history_sync
Velmi dobrý příspěvek! Díky za předání.
Objetí! Pavel.
Gratuluji k článku.
Velmi praktické a naučil jsem se pár příkazů.
I když už jsem v těchto věcech trochu „zkušený“, tyto triky jsou vždy ceněny, takže… pro kmen triků !!!
skvělé, díky za triky, jsou opravdu užitečné 😀
Cesty konzoly jsou nevyzpytatelné 😉
Trik stisknutí control + u a control + y nezávisí na shellu, ale na konfiguraci, kterou mají tty. K dnešnímu dni v Linuxu jsou tty velmi složité entity, ve skutečnosti jsem zkoumal jejich provoz a mohu zajistit, že mají mnohem více vstupů a výstupů, než se zdá. Tty mají některé řídicí znaky, které mění jejich stav, například se mi někdy stalo, že jsem vytvořil binární soubor, a poté, co se na obrazovce objeví všechny „odpadky“, je výzva zvláštní nebo s jiným kódování. Je to proto, že v náhodném souboru existuje vysoká pravděpodobnost, že se setkáte s tty řídicími znaky.
Například to spusťte v prostředí:
tisk '33c'
To vymaže obrazovku (jako kdybyste běhali).
Jiné kombinace, jako například control + L pro vymazání obrazovky, pocházejí ze samotného prostředí, které se používá, klasické / bin / sh skořápky tuto funkci obvykle nepřináší.
Kromě toho dnes v systému Linux existuje spousta složitých možností pro práci se soubory a zásuvkami. Například pokud otevřete zařízení tty pomocí open (), v režimu AIO (asynchronní vstup / výstup), proces obdrží SIGIO pokaždé, když jsou ve vstupní vyrovnávací paměti k dispozici data.
Pokud například bash funguje jednoduše čtením řádků a prováděním příkazů (stejně jako při provádění skriptu), při stisknutí kláves Control + L by tato sekvence znaků byla jednoduše zahrnuta jako součást příkazů, ale protože bash má kontrolu nad vyrovnávací pamětí vstup to dokáže detekovat.
Například někdy při programování jsem přišel použít fcntl k získání neblokující vstupní vyrovnávací paměti, kterou jsem použil i s knihovnami ncurses (před spuštěním ncurses v programu manipulujte s kontrolním tty).
Saludos!
Pro ty, kteří na začátku nepracovali s prostorem, a možná pro přidání do poznámky, existuje proměnná s názvem HISTIGNORE, kde je znak přidaný před příkazem nakonfigurován tak, aby byl v historii ignorován.
V některých instalacích tato proměnná nepochází z
Zdravím a dobrý příspěvek! přímo do oblíbených!
Všimněte si, že v komentářích jsem také viděl několik zajímavých věcí .. !!
Všechny opravdu velmi užitečné. Děkuji.