Mnoho uživatelů Linuxu zažilo trvalý pocit úspěchu po sestavení obzvláště chytrého příkazu, který dosahuje více akcí na jediném řádku nebo který dokáže na jednom řádku udělat to, co obvykle vyžaduje 10 kliknutí a tolik oken v grafickém uživatelském rozhraní (GUI). Kromě toho, že se jedná o legendu, jsou jednolinky skvělými příklady toho, proč je terminál považován za tak mocný nástroj.
Na konci tohoto článku budete mít:
- Seznam 20 příkazů, které vám usnadní práci na Linuxu
 - Pochopení možností kombinace jednoduchých příkazů k vytvoření výkonnějších příkazů
 - Spouštění těchto příkazů je zábavnější, než byste čekali
 
 Bez jakéhokoli konkrétního pořadí důležitosti, toto je našich 20 nejlepších jednotných linek pro terminál Linux. Ačkoli jsme některé delší příkazy rozdělili pomocí \ symbol pro snadnější čitelnost, můžete je všechny zadat na jeden řádek v terminálu, protože koneckonců jsou to jednořádkové.
1. Použijte příkaz na soubory s různými názvy
 Shell {} operátor je na to skvělý. Zde je příklad se třemi adresáři uzavřenými v {} :
$ mkdir -p -v /home/josevnz/tmp/{dir1,anotherdir,similardir} 2. Upravte soubor na místě
 Chcete nahradit řetězec v jednom nebo více souborech bez použití editoru? Jistě, sed na záchranu:
$ sed -i 's#ORIGINAL_VALLUE#NEW_VALUE#g' myfile1 myfile2 Ale počkejte, milovníci Perlu vám řeknou, že mohou udělat totéž:
$ perl -p -i -e 's#ORIGINAL#NEW_VALUE#' myfile1 myfile2 3. Rychle sdílejte soubor pomocí webového serveru
Zvedněte ruku, pokud jste to alespoň jednou nepoužili pro rychlé sdílení adresáře:
$ cd $mydir && python3 -m http.server 8888 4. Najděte chyby pomocí journalctl
 Někdy se věci zlomí. Nejnovější chyby můžete najít pomocí kombinace journalctl , spolu s klasickými nástroji sort a uniq :
$ journalctl --no-pager --since today \
--grep 'fail|error|fatal' --output json|jq '._EXE' | \
sort | uniq -c | sort --numeric --reverse --key 1
898172 "/usr/bin/dockerd"
    752 "/usr/local/sbin/node_exporter"
     30 "/usr/bin/gnome-shell"
     26 "/usr/bin/cat"
     22 "/usr/libexec/gsd-media-keys"
[...] V tomto případě se zdá, že démon Docker je nešťastný.
[ Stáhněte si tuto e-knihu a připravte se na vzdálenou zkoušku Red Hat. ]
5. Proveďte zálohu pomocí šifrovaného přenosu souborů
 Použijte ssh a tar pro vytváření bezpečných záloh. Hodí se k sobě jako arašídové máslo a želé:
$ tar --create --directory /home/josevnz/tmp/ --file - *| \
ssh raspberrypi "tar --directory /home/josevnz \
--verbose --list --file -" Úlohu zálohování můžete přidat pomocí komprese a šifrování – stejně jako přidávání přísad do sendviče.
6. Zápis okamžitých souborů
Toto je skvělý trik, když potřebujete psát víceřádkové dokumenty:
$ cat<<DOC>/my/new/file
Line1
Line2
A $VARIABLE
DOC 
 Můžete také jednoduše cat > file a po dokončení úprav zadejte znak EOF (Ctrl+D ):
[josevnz@dmaf5 temp]$ cat > testfile
This is a test
multiple lines
and here we go
[josevnz@dmaf5 temp]$  7. Vyhledejte soubor a zahrňte některé přípony a vylučte jiné
 Tento příklad používá grep způsob vyhledávání konkrétních souborů. Je to docela rychlé a snadno zapamatovatelné:
$ grep -R 'import' --include='*.java' --color MySourceCodeDir 
 Nebo můžete zkusit find způsobem (použijte xargs správně zpracovat velký počet zápasů):
$ find MySourceCodeDir/ -name '*.java' -type f -print| xargs \
grep --color 'import 
 Proč find , můžete se zeptat? find můžete kombinovat s -exec nejprve provést akce s vašimi soubory a poté předat výsledky filtru. Možnosti zpracování jsou zde nekonečné.
8. Monitorujte paměť bez top nebo htop
 Tenhle je skoro podvádění. Opakuje příkaz, například free , každých pět sekund a zvýrazní rozdíly:
$ watch -n 5 -d '/bin/free -m' 9. Zobrazit velikosti diskových oddílů
 Použijte lsbk (blok seznamu) a jq (pro manipulaci s JSON na příkazovém řádku) pro zobrazení informací o oddílu:
$ lsblk --json | jq -c '.blockdevices[]|[.name,.size]'
["loop0","55.5M"]
["loop1","156M"]
["loop2","32.3M"]
["zram0","4G"]
["nvme0n1","476.9G"] 10. Rychlé zobrazení typu souboru
 Co je funkce se volá pomocí wi . Rychle vám sdělí typ souboru.
Kontrola jednoho souboru:
$ function wi { test -n "$1" && stat --printf "%F\n" "$1"; } Kontrola více souborů:
$ function wi { test "$#" -gt 0 && stat --printf "%n: %F\n" "$@"; } POZNÁMKA :Funkce jsou nadřazené a mohou dělat stejnou práci jako alias.
11. Zobrazení velikosti nainstalovaných RPM
Pokud máte systém založený na RPM, dříve nebo později své dotazy naformátujete. Zde je příklad:
$ rpm --queryformat='%12{SIZE} %{NAME}\n' \
-q java-11-openjdk-headless [ Trénujte a otestujte si naše nejnovější kurzy a zkoušky z kurzu Red Hat Training &Certification:Red Hat Enterprise Linux. ]
12. Zobrazení celkové velikosti skupiny souborů
 V tomto případě find příkaz funguje jako filtr, zobrazuje velikost každého souboru v bajtech a nakonec ukazuje celkovou velikost:
$ t=0; for n in $(find ~/Documents -type f -name '*.py' -print | xargs \
stat --printf "%s "); do ((t+=n)); done; echo $t Nebo, pokud chcete funkci (lepší), zkuste tento přístup:
$ function size { t=0; test -d "$1" && for n in $(find $1 \
-type f -name '*.py' -print| \
xargs stat --printf "%s "); do ((t+=n)); done; echo $t; }
size $mydir 13. Aktualizujte všechna úložiště Git v adresáři
Už víte, jak užitečný je Git. Zde je trik, jak být s aktualizacemi efektivnější:
$ for i in */.git; do cd $(dirname $i); git pull; cd ..; done 14. Vystavte webový adresář pomocí kontejnerů
Kontejnery jsou dnes kritické. Tento jednořádkový odhaluje adresář přes Podman:
$ podman run --rm -v .:/usr/share/nginx/html:ro,Z \
-p 30080:80 -d nginx 15. Podívejte se na počasí
Pomocí této funkce zjistíte, zda dnes potřebujete bundu:
weather() { curl -s --connect-timeout 3 -m 5 http://wttr.in/$1; } 16. Zobrazte 10 nejčastějších IP adres zasahujících webový server
Zde je úkol, který mohou weboví administrátoři často používat s Nginxem (může také fungovat s Apache) k získání 10 nejčastějších adres internetového protokolu zasahujících webový server z protokolu přístupu:
$ cat /var/log/nginx/access.log | cut -f 1 -d ' ' | sort | \
uniq -c | sort -hr | head -n 10 17. Round plave v Bash s pomocí Pythonu
S Pythonem můžete dělat docela skvělé věci, ale tento příklad pouze zaokrouhluje čísla:
$ echo "22.67892" | python3 -c "print(f'{round(float(input()))}')"
23 18. Spusťte mini kalkulačku
Tato funkce definuje rychlou kalkulačku na příkazovém řádku s proměnnou přesností (výchozí hodnota je 2). Používá bc. Vytvořte funkci takto:
$ function qqbc() { echo "scale=${2:-2}; $1" | bc -l Dále proveďte rychlý výpočet:
$ qqbc "2/3"
.66 V případě, že potřebujete další přesnost, stačí definovat druhý parametr:
$ qqbc "2/3" 4
.6666 
 Tento nástroj se nazývá qqbc protože jde o vylepšení staré funkce qbc .
19. Převeďte CSV na JSON
Tento trik je modifikací tohoto oblíbeného receptu na převod souborů CSV do formátu JSON:
$ python3 -c \
"import csv,json,sys;print(json.dumps(list(csv.reader(open(sys.argv[1])))))" \
covid19-vaccinations-town-age-grp.csv 20. Nainstalujte a spusťte příkazy pomocí Docker
Pokud máte nainstalovaný Docker a chcete spustit příkaz bez instalace hromady závislostí na vašem systému (při rychlém spuštění), může být vše, co potřebujete:
$ docker run --rm --interactive curlimages/curl curl \
--verbose --location --fail --silent --output - \
https://example.com 
 Příkaz spustí nejnovější verzi curl z nádoby a později ji odstraní. Všimněte si, že příkaz končí pomlčkou (- ), který říká curl  pro výstup na váš terminál. Možnosti jsou zde nekonečné.
Sbalit
Schopnost vytvářet výkonné kombinace jednoduchých příkazů je jedním z důvodů, proč jsou Unix a Linux tak populární.
Naštěstí. není těžké se tyto jednovrstvé naučit. Zaměřte se na zapamatování toho, co dělá jednoduchý příkaz, a pak přemýšlejte o tom, jak můžete smíchat mnoho jednoduchých příkazů, abyste vytvořili účinný recept.
 Vždy zaškrtněte man nebo použijte info příkaz, abyste zjistili, co ještě nástroj umí. Možná vás překvapí, že jeden nástroj dokáže vše, aniž by jej kombinoval s jiným nástrojem.
Na internetu je mnoho stránek se spoustou jednořádkových příkladů. Doufáme, že vás tyto příklady povedou k napsání lepších vlastních jednořádkových linií.