V tomto článku vysvětlím, jak používat příkazy terminálu k získání informací o některých příkazech a jejich funkcích.
Uvedu také příklady pro lepší ilustraci procesu.
Nástroj příkazového řádku je velmi výkonný. Práce s některými nástroji s grafickým uživatelským rozhraním (UI) je zdlouhavá a trvá několik sekund. Odebrání posledních čtyř řádků v každé řadě velkého souboru by v aplikaci s uživatelským rozhraním bylo zdlouhavé. V příkazovém řádku lze však takovou úlohu zautomatizovat.
Nejběžnější způsoby otevření okna terminálu v systému Ubuntu Linux:
V systému Ubuntu Linux naleznete mnoho příkazů, které jsou spojeny s prostředím terminálu. Článek níže uvádí většinu často používaných příkazů ve skupinách, kterých se týkají.
K dispozici jsou tři hlavní příkazy, pomocí nichž lze získat všechny potřebné informace k použití různých příkazů terminálu.
Příkaz „man“ zobrazí návod ke každému příkazu, který se v terminálu používá.
Většina příkazů prostředí přijme různé možnosti. Chcete-li získat informace o příkazu a seznam dostupných možností, použijte příkaz man
– zkratku pro příkaz manual. Zadejte název příkazu, o kterém chcete zjistit více, jako jeho argument. To je příkaz, na kterém man
funguje dál.
Příklad: Zadáte-li příkaz man who
, zobrazí se následující zpráva.
WHO(1) User Commands WHO(1)
NAME
who - show who is logged on
SYNOPSIS
who [OPTION}... [ FILE | ARG1 ARG2 ]
DESCRIPTION
-a, --all
same as -b -d --login -p -r -t -T -u
-b, --boot
time of last system boot
-d, --dead
print dead processes
-H, --heading
print line of column headings
-i, --idle
add idle time as HOURS:MINUTES, . or old (deprecated, use -u)
-l, --login
print system login processes
--lookup
attempt to canonicalize hostnames via DNS
-m, only hostname and user associated with stdin
Manual page who(1) line 1
Mnoho příruček zaplňuje několik obrazovek. Pomocí kurzoru, kláves ARROW
nebo kláves Page Up a Page Down procházejte textem. Stisknutím mezerníku zobrazíte další řádek textu. Stisknutím klávesy q ukončíte příručku a vrátíte se do prostředí.
Z hlavní stránky vidíme, že pomocí možnosti -a
můžeme zobrazit více informací o aktivních uživatelských relacích.
user@3[user]$ who -a
|
|
|
|
Nov 14 13:47 |
|
10 |
id=si |
term=0 |
exit=0 |
|
|
|
system boot |
Nov 14 13:47 |
|
|
|
|
|
|
|
|
run-level 5 |
Nov 14 13:47 |
|
|
Last=S |
|
|
|
|
|
|
Nov 14 13:47 |
|
835 |
id=15 |
term=0 |
exit=0 |
LOGIN |
|
|
tty1 |
Nov 14 13:47 |
|
958 |
id=1 |
|
|
root |
|
- |
tty2 |
Nov 14 19:15 |
00:19 |
959 |
|
|
|
user |
|
- |
tty3 |
Nov 14 19:28 |
00:06 |
960 |
|
|
|
LOGIN |
|
|
tty4 |
Nov 14 13:47 |
|
961 |
id=4 |
|
|
LOGIN |
|
|
tty5 |
Nov 14 13:47 |
|
962 |
id=5 |
|
|
LOGIN |
|
|
tty6 |
Nov 14 13:47 |
|
963 |
id=6 |
|
|
user |
|
? |
:0 |
Nov 14 13:47 |
? |
965 |
|
|
|
|
|
|
pts/3 |
Nov 14 16:29 |
|
1746 |
id=/3 |
term=0 |
exit=0 |
user@3[user]$
Čte také soubory nápovědy pro programy, příkaz man
může také poskytnout informace o prostředích, funkcích a knihovnách.
Pokud si nejste jisti, jak použít určitý příkaz, spusťte jej pomocí přepínačů -h
nebo –help
. Zobrazí se informace o použití a seznam možností, které můžete použít s příkazem.
Příklad: Pokud chcete vědět, jak použít příkaz wget
, zadejte wget –help
nebo wget -h
.
User@Ubuntu@#$ wget --help
GNU Wget 1.12, a non-interactive network retriever.
Usage: wget [OPTION]... [URL]...
Mandatory arguments to long options are mandatory for short options t
oo.
Startup:
-V, --version display the version of Wget and exit.
-h, --help print this help.
-b, --background go to background after startup.
-e, --execute=COMMAND execute a '.wgetrc' -style command.
Logging and input file:
Tak se často v terminálu zobrazí velké množství informací. Procházení může být nepraktické. Pro snadnější čtení výstupu můžete pipe
pomocí příkazu less. To vám umožní procházet výstupem pomocí kurzorových kláves / kláves se ŠIPKAMI na klávesnici.
Příklad: wget -help | less
GNU Wget 1.12, a non-interactive network retriever.
Usage: wget [OPTION]... [URL]...
Mandatory arguments to long options are mandatory for short options t
oo.
Startup:
-V, --version display the version of Wget and exit.
-h, --help print this help.
-b, --background go to background after startup.
-e, --execute=COMMAND execute a '.wgetrc' -style command.
Logging and input file:
-o, --output-file=FILE log messages to FILE.
:
Po dokončení stisknutím klávesy q zavřete nástroj less.
Chcete-li najít konkrétní možnost, můžete pipe
výstup pomocí příkazu grep
. (Například: Chcete-li vyhledat možnosti, které obsahují dané slovo, použijte následující příkaz proxy.
)
wget -help | grep proxy
User@ubuntu:~$ wget --help | grep proxy
--no-proxy explicitly turn off proxy.
--proxy-user=USER set USER as proxy username.
--proxy-password=PASS set PASS as proxy password.
User@Ubuntu:~$
Některé příkazy se také dokumentují v systému info
. Informace zde uvedené doplňují to, co zobrazí příkazy man
.
Příklad: Zadejte příkaz info ls,
, který zobrazí následující výstup.
[support@support]$" info ls
Nyní si můžete prohlédnout příručku s důležitými informacemi o příkazu ls
.
File: coreutils.info, Node: ls invocation, Next: dir invocation, Up: Directory listing
'ls': List directory contents
=============================
The 'ls' program lists information about files (of any type,
including directories). Options and file arguments can be intermixed
arbitrarily, as usual.
For non-option command-line arguments that are directories, by
default 'ls' lists the contents of directories, not recursively, and
omitting files with name beginning with '.'. For other non-option
arguments, be default 'ls' lists just the file name. If no non-option
argument is specified, 'ls' operates on the current directory, acting
as if it had been invoked with a single argument of '.'.
By default, the output is sorted alphabetically, according to the
locale settings in effect. (1) If standard output is a terminal, the
output is in columns (sorted vertically) and control characters are
output as question marks; otherwise, the output is listed one per line
and control characters are output as-is.
--zz-Info: (coreutils.info.gz)ls invocation, 48 lines --Top------------------
Welcome to info version 4.3 Type C-h for help, m for menu item.
Stránku můžete procházet dolů stisknutím mezerníku nebo pomocí kurzorových kláves nebo klávesARROW
.
help
stiskněte klávesu Hquit
stiskněte klávesu Q
V terminálu můžete provádět téměř cokoli, co byste také mohli provést v uživatelském rozhraní.
Jak již bylo řečeno, mnoho příkazů bylo navrženo primárně pro terminál, až poté přišlo uživatelské rozhraní. Z toho důvodu mohou některá grafická uživatelská rozhraní působit neohrabaně – zpočátku byla považována za doplněk, jelikož se jimi většina verzí systému Linux pro servery nezabývá.
Výchozím umístěním, kde se má terminál z nabídky otevřít, je vaše domovská složka. Známá pod názvem ~
Aktuální adresář naleznete pomocí operátoru .
. Většina příkazů, které se vztahují k výběru aktuální složky, se řídí příkazy, umístěními a soubory a rozlišují malá a velká písmena. /home
není to stejné jako /HOME
nebo /Home
.
Pokud máte dlouhý název ovladače, dokončete názvy souborů pomocí klávesy TAB. driver-128947232jaseu.sh
Zadejte například dri
a zbytek se doplní. Za předpokladu, že nejsou k dispozici dva názvy začínající na dri
a pokud k dispozici jsou, přidejte další znak, abyste dostali driv
a zkuste to znovu. Ujistěte se, že automatické doplnění odpovídá vašemu očekávání.
Téměř o každém příkazu si můžete přečíst úplné informace na stránce man
nebo zadáním -h
nebo --help
po napsání počátečního příkazu. Tato syntaxe je man command_name
, command_name -h
nebo command_name --help
.
Chcete-li získat ještě více informací, můžete použít příkaz info. Příkaz lze vyhledat pomocí příkazu info command_name
. Pro většinu těchto příkazů, které jsou součástí balíčku coreutils. Můžete také vyhledat info
pomocí vyvolání info coreutils command_name
, kde příkaz hledal náhrady command_name
.
Téměř každý příkaz dokáže přesně ukázat, co se děje, krok za krokem. Obvykle se jedná o -v
nebo --verbose
.
Chcete-li získat další informace, můžete zadat více příznaků příkazů najednou. Viz ls -al
příklad níže.
Názvy příkazů nejsou vždy zřejmé – kvůli omezením délky v začátcích systému UNIX byly názvy kráceny a tyto konvence přetrvaly.
cd
– Vrátí vás zpět domů stejně jako cd ~
cd..
– Vrátí vás zpět o jeden adresář. Pokud začínáte v /home/user/Desktop
, cd..
vás uvede do /home/user
. To lze rozšířit na cd ../../
, což vás přesune o dva adresáře zpět do /home
.
cd foldername/
– Přesune vás dál do dané složky v aktuální složce.
/
, jedná se o důležité opomenutí. Pokud se nacházím v umístění /home/user
a chci se dostat do Desktop
. je nutné zadat cd Desktop/
bez /
před Desktop
. Zadáním příkazu /
před danou část se dostaneme do kořenového adresáře systému souborů, který nebude fungovat.
cd /some/other/path
– Přenese vás do určené složky, Pokud zadáte správnou cestu. Nezapomeňte, že můžete použít klávesu TAB
k automatickému dokončení.
ls
– Zobrazí seznam všech souborů v aktuální složce.
ls -l
– Poskytne delší seznam včetně vlastníků, oprávnění, velikosti a dat změny.
ls -a
– Zobrazí skryté soubory a složky a normální seznam.
ls -al
– Kombinuje dvě možnosti pro zobrazení skrytých souborů i složek v dlouhém formátu.
ls -h
– Zobrazuje velikosti souborů v pro člověka čitelném formátu KB, MB, GB,
velikosti souborů místo bajtů. Nejčastěji se používá s příznakem -l
.
Můžete dokonce zobrazit soubory v adresářích, ve kterých ani nejste. Pokud se nacházíte v umístění /home/user/Desktop
a chcete zobrazit soubor v umístění /home/user
, můžeme zadat příkaz ls ../
, který vypíše soubory o jeden adresář zpět.
cp file /path/to/folder
– Zkopíruje zadaný soubor do zadaného umístění.
cp -r folder /path/to/folder
– Opakovaně kopíruje obsah složky do jiné složky.
cp *.extension /path/to/folder
– Zkopíruje soubory, které odpovídají dané příponě nové složky. Chcete-li zkopírovat všechny soubory .doc, změní se na cp *.doc /path/to/folder
a složka musí existovat.
cp name* /path/to/folder
– Zkopíruje všechny soubory začínající na name
do dané složky. Chcete-li zkopírovat všechny soubory začínající na example
, změní se na cp example* /path/to/folder
a složka již musí existovat.
Syntaxe příkazu mv
je podobná výše uvedenému příkladu s cp
výjimkou příkladu č. 2. mv
nepřijímá příznak -r
, jelikož přesunutím složky se přesune také její obsah. Syntaxe není přesná ve všech případech, ale funguje u výše uvedených příkladů. Další podrobnosti naleznete na stránkách s návody.
Odebírání souborů pomocí rm
je trvalé. Nepoužívá odpadkový koš. Postupujte opatrně a před stisknutím níže uvedené klávesy se ujistěte, že skutečně odstraňujete požadovaný soubor: Enter
. Pokud příliš zkomplikujete příkazy k odstranění, nikdy to nedopadne dobře.
rm file
– Odebere tento konkrétní soubor z počítače.
rm -r folder
– Odebere tuto konkrétní složku z počítače.
rm -rf folder
– Vynutí odebrání této konkrétní složky z počítače. Pokud tento příkaz použijete nesprávně, může poškodit vaši konfiguraci.
Pomocí příkazu nano
v terminálu můžete upravovat soubory a provádět rychlé a hrubé soubory až do plné konfigurace. Může být užitečný, ale pracuje se soubory s prostým textem a programovacími soubory, takže například dokumenty aplikace Microsoft Word se neotevřou správně.
Pokud uživatel root vlastní soubor, běžný uživatel jej nemůže upravovat. nano
musí mít předponu sudo
, aby bylo možné uložit změny. V opačném případě se otevře v režimu pouze pro čtení.
nano newfile.whatever
zadaného názvu a otevře jej pro úpravy.
nano existing_file
– Otevře existující soubor pro úpravy.
Zevnitř nano
Uložte soubor stisknutím kláves CTRL+O
a změňte název nebo stiskněte klávesu Enter
pro zachování stejného názvu. Tím se soubor uloží.
Ukončení nano
stisknutím kláves CTRL+X
najednou. Pokud máte neuložené změny, zobrazí se dotaz, zda je chcete uložit.
mkdir folder_name
– Vytvoří složku se zadaným názvem.
mkdir -p /path/to/folder/name
– Vytvoří každou složku podle potřeby. Chcete-li vytvořit složku /home/user/1stfolder/2ndfolder
a existuje pouze /home/user
, pomocí mkdir -p
vytvoříte oba adresáře 1stfolder,
a 2ndfolder
.
ps aux
– Podrobně uvádí všechny procesy spuštěné v počítači. To zahrnuje uživatele, ID procesu PID,
a název procesu. Pomocí této funkce můžete zobrazit seznam procesů a v případě potřeby zrušit zbytečné nebo nereagující procesy.
kill PID
– PID je číslo odkazující na poškozený proces. PID získáte pomocí příkazu ps aux
. Pokud se proces odmítne ukončit, můžete také zadat kill -9 PID
, což ukončí proces všemi možnými prostředky.
killall program
- Killall
ukončí by name
všechny instance listed program
. Pokud jsou například otevřeny 3 relace internetového prohlížeče Firefox, killall Firefox
ukončí všechny relace prohlížeče Firefox. kill
vezme konkrétní PID poškozeného procesu prohlížeče Firefox a ukončí pouze tento proces.
xkill
představuje způsob uživatelského rozhraní, jak kliknutím zavřít okna. Po zadání příkazu xkill
by se měla zobrazit ikona lebky se zkříženými hnáty a další okno, na které kliknete, se zavře.
Pipes
se zobrazují jako straight bar,
, neboli |
.
V systému Windows se tato klávesa nepoužívá často a většinou je na ni také zpětné lomítko.
Slouží k propojení příkazů. Pipes
vezme výstup jednoho příkazu a použije ho jako vstup druhého, když jsou příkazy vzájemně propojené.
Prohlédněte si online zdroje pro více informací o pipes
a jejich využití, protože jsou na nich zapsány svazky.
>
se používá k overwrite
obsahu stávajících souborů pomocí nahrazení výstupu z nového příkazu.
>>
se používá k append
informací o stávajících souborech. To je užitečné př protokolování.
Example:
ps aux > processes.log
odešle výstup příkazu ps aux
do souboru processes.log
pro zobrazení výstupu příkazu v textovém editoru a přepíše aktuální obsah souboru.
tee
se používá společně s klávesou |
k převzetí výstupu příkazu a jeho odeslání na jiné místo. To je užitečné v případě, že vám uniknou některé chyby. To znamená, že vše, co se objeví na obrazovce, se také otiskne do souboru.
Příklad: dmesg
| tee boot.txt
by spustil příkaz dmesg
, který zobrazuje informace o počáteční spuštění. Příkaz |
odešle výstup příkazu dmesg
na tee
, který poté provede svou úlohu jejím odesláním do terminálu a do souboru protokolu boot.txt
.
Potřebujete spustit soubor v aktuálním adresáři poté, co je označen jako spustitelný? Příkaz ./
může soubor spustit jako běžný uživatel za předpokladu, že nepotřebujete oprávnění uživatele root. ./
doslova znamená in the current directory
, takže nefunguje se soubory mimo tento adresář.
Pokud chcete spustit soubor, který není v aktuálním adresáři, musíte cestu předat správnému spouštěcímu programu. Pokud se například jedná o program v jazyku Python, bude to python /path/to/file
a pokud se jedná o soubor prostředí, bude to sh /path/to/file
. Existují i jiné programy, ale tyto jsou nejběžnější.
Pokud chcete spustit soubor s právy uživatele root, protože se objevila výzva operation not permitted?
. , je třeba zadat předponu příkazu sudo
. Stejně jako u výše uvedeného příkladu, příkaz sudo python /path/to/file
spustí skript s oprávněními uživatele root.
Pokud chcete spustit program uživatelského rozhraní z terminálu, zadejte název programu case sensitive!
, který se pak spustí. Aktuální terminál se tak stane nepoužitelným. Zavřením terminálu, když je program otevřený, program také ukončíte. Lepším způsobem je spustit program na pozadí pomocí příkazu program_name
a poté zadat slovo exit
do terminálu, abyste jej zavřeli a nechali proces běžet.
Pokud chcete z terminálu spustit program uživatelského rozhraní s oprávněními uživatele root, potom k němu připojte předponu gksudo
nebo gksu
a nikoli sudo
. Použití sudo
ke spouštění aplikací uživatelského rozhraní není správně a měli byste se toho vyvarovat.
Nepoužívejte not
Použití sudo
jen proto, že se něco objeví Operation not permitted.
Mějte na paměti, že spuštěním příkazů na nesprávném místě s oprávněními uživatele root můžete počítače destroy
. Ujistěte se, že vaše soubory pocházejí z důvěryhodných zdrojů.
Ztratili jste se v adresáři? Zadáním pwd
vytiskněte pracovní adresář.
Chcete vypočítat místo na disku? df -h
vám může rychle poskytnout dané číslo.
Chcete vypočítat velikost složky nebo souboru? du -cksh target_name
udělá přesně to. Chcete vypočítat velikost aktuální složky? du -cksh
.
Chcete označit spustitelný soubor? chmod +x filename
udělá přesně to.
Je nutné připojit soubor iso? Systém Linux má tuto funkci zabudovanou. Vytvořte někde adresář, například /home/user/isomount
a zadejte příkaz mount -o loop /path/to/myisofile.iso /home/user/isomount
, který obsah připojí do této složky.
Chcete znovu spustit příkaz, ale nemůžete si přesně vzpomenout, jak na to? Zadáním history
do terminálu, čímž vytisknete historii příkazů. Chcete vymazat historii? history -c
vymaže informace.