V tomto článku vysvětlím, jak používat vestavěné příkazy terminálu k poskytnutí informací o některých příkazech a jejich funkcích.
Uvádím také příklady pro ilustraci procesu.
Nástroj příkazového řádku je výkonný. Práce s některými nástroji s grafickým uživatelským rozhraním (GUI) je zdlouhavá a trvá několik sekund. Odebrání posledních čtyř řádků v každé řadě velkého souboru by v aplikaci s grafickým uživatelským rozhraním bylo zdlouhavé. V příkazovém řádku lze však takovou úlohu zautomatizovat.
Mezi nejběžnější způsoby otevření okna terminálu v systému Ubuntu Linux patří:
V systému Ubuntu Linux naleznete mnoho příkazů, které jsou spojeny s prostředím terminálu. V následujícím článku je uveden seznam nejčastěji používaných skupin, které ovlivňují.
Existují tři hlavní příkazy, které používáme k poskytnutí všech informací potřebných 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řijímá různé možnosti. Chcete-li získat informace o příkazu a seznam dostupných možností, použijte zkratku man
pro ruční příkaz. Zadejte název příkazu, o kterém chcete jako argument zjistit více. Na kterém příkazu man
příkaz funguje.
Příklad: Pokud zadáte příkaz man who
, zobrazí se následující výstup.
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/ARROW
kláves nebo kláves Page Up/Page Down můžete procházet textem. Klávesa mezerníku zobrazuje další řádek textu. Stisknutím klávesy q ukončíte příručku a vrátíte se do prostředí.
Ze stránky man vidíme, že můžeme pomocí této -a
možnosti zobrazit další informace o relacích aktivních uživatelů.
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, man
příkaz může také poskytnout informace o prostředích, funkcích a knihovnách.
Pokud si nejste jisti, jak použít konkrétní příkaz, spusťte příkaz s přepínači -h
nebo –help
přepínači. Zobrazí se informace o použití a seznam možností, které lze pomocí příkazu použít.
Příklad: Pokud chcete vědět, jak tento wget
příkaz používat, zadejte nebo wget –help
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é. Chcete-li výstup číst snadněji, můžete pipe
jej použít pomocí příkazu less . který 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 provést prostřednictvím grep
příkazu. (Například: Pomocí následujícího příkazu vyhledejte možnosti obsahující slovo 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 jsou také zdokumentovány v info
systému. Zde uvedené informace doplňují, man
co příkaz zobrazuje.
Příklad: Zadejte příkaz info ls,
, zobrazí se následující výstup.
[support@support]$" info ls
Nyní můžete zobrazit příručku s důležitými ls
informacemi o příkazu.
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ánky můžete procházet dolů stisknutím klávesy mezerníku nebo pomocí kurzoru/ARROW
kláves.
help
Hquit
klávesy Q
V terminálu můžete provádět téměř cokoli, co byste také mohli provést v grafickém uživatelském rozhraní.
Jak již bylo řečeno, mnoho příkazů bylo navrženo jako první, aby fungovalo v terminálu, a poté bylo nahoře umístěno grafické 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ář můžete najít podle operátora .
. 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í stejný jako /HOME
nebo /Home
.
Pokud máte dlouhý název ovladače, vyplňte pomocí klávesy TAB názvy souborů. driver-128947232jaseu.sh
Například zadejte dri
a přejde do zbytek. Pokud nemáte dva názvy dri
a pokud ano, přidejte k tomu další znak a zkuste to driv
znovu. Ujistěte se, že automatické doplnění odpovídá vašemu očekávání.
Téměř všechny příkazy lze na stránce v plném man
znění přečíst zadáním -h
nebo --help
po zadání počátečního příkazu. Tato syntaxe je buď 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é najít info
pomocí info coreutils command_name
vyvolání, kde výraz výraz "replacescommand_name
" vyhledá.
Téměř každý příkaz dokáže přesně ukázat, co se děje, krok za krokem. Obvykle jde o tento problém:-v
--verbose
Chcete-li získat další informace, můžete zadat více příznaků příkazů najednou. ls -al
Viz příklad níže.
Názvy příkazů nejsou vždy zřejmé – kvůli omezením místa za starých časů systému UNIX, které byly zkráceny a tyto konvence uvízly.
cd
– Vrátí vás zpět domů stejně jako cd ~
cd..
– Vrátí vás zpět o jeden adresář. /home/user/Desktop
Začínáte na vstupu, cd..
dostanete se do aplikace /home/user
. To lze rozšířit na seznam, do cd ../../
kterého můžete vrátit dva adresáře do /home
adresáře.
cd foldername/
– Přesune vás dál do dané složky v aktuální složce.
/
představuje důležitou opomenutí. Pokud jsem ve službě /home/user
a chci se dostat do Desktop
aplikace . Je nutné zadávat cd Desktop/
bez předchozí /
verze Desktop
. Když /
před tím píšete, umístí nás do kořenového adresáře souborového systému, který nebude fungovat.
cd /some/other/path
– Přenese vás do určené složky, Pokud máte správnou cestu. Nezapomeňte, že klíč můžete použít k automatickému TAB
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
– Zobrazí velikosti souborů v souborech čitelných KB, MB, GB,
pro uživatele namísto v bajtech. Nejčastěji se používá s příznakem -l
.
Soubory můžete zobrazit v adresářích, ve které nejste. Pokud se nacházím v /home/user/Desktop
adresáři a chci jej /home/user
zobrazit, mohu provést ls ../
seznam souborů 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 cp *.doc /path/to/folder
a složka musí existovat.
cp name* /path/to/folder
– Zkopíruje všechny soubory začínající name
na danou složku. Pokud chcete zkopírovat všechny soubory začínající example
na začátek, změní se cp example* /path/to/folder
na složku a složka musí existovat.
Syntaxe mv
je podobná výše uvedenému příkladu s cp
výjimkou příkladu č. 2. mv
nepřevezme -r
příznak, protože přesunutím složky se také přesune 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.
Odebrání using rm
files is permanent. Nepoužívá odpadkový koš. Postupujte opatrně a před stisknutím Enter
klávesy se ujistěte, že odstraňujete přesně to, co chcete. Pokud příkazy pro odstranění příliš zkomplikujete, nikdy to neskončí dobře.
rm file
– Odeberte tento konkrétní soubor z počítače.
rm -r folder
– Odeberte danou složku z počítače.
rm -rf folder
– Vynutí odebrání dané složky z počítače. Pokud tento příkaz použijete nesprávně, může poškodit vaši konfiguraci.
Pomocí terminálu můžete upravovat soubory nano
a provádět rychlé a hrubé soubory až do plné konfigurace. Může být užitečný, ale zpracovává soubory s prostým textem a programovací 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 upravit. 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
Soubor uložte současným stisknutím CTRL+O
kláves a buď změňte název, nebo stiskněte klávesu Enter
, aby se zachoval stejný název. Tím se soubor uloží.
Ukončete nano
systém pomocí CTRL+X
kláves. 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
, použijte k mkdir -p
vytvoření adresáře i 1stfolder,
2ndfolder
.
ps aux
– Podrobně uvádí všechny procesy spuštěné v počítači. To zahrnuje uživatele, ID PID,
procesu a název procesu. Pomocí tohoto postupu můžete zobrazit seznam procesů a v případě potřeby ukončit zbytečné nebo zasekané procesy.
kill PID
– PID je číslo odkazující na poškozený proces. Identifikátor PID byste měli získat pomocí příkazu, jako je ps aux
. Pokud se proces nepodaří ukončit, můžete také určit kill -9 PID
, který proces by měl jakýmkoli způsobem ukončit.
killall program
– Killall
ukončí by name
všechny instance souboru listed program
. Pokud jsou otevřené například 3 relace internetového prohlížeče Firefox, killall Firefox
dojde přesně k tomu, ukončete všechny relace prohlížeče Firefox. kill
by se řiďte zadaným PID poškozeným procesem prohlížeče Firefox, který chcete ukončit a ukončit pouze tento proces.
xkill
představuje způsob grafického uživatelského rozhraní, jak kliknutím zavřít okno. Po zadání xkill
textu by se měla zobrazit ikona štětka a zkroucení. Další okno, na které kliknete, se zamkne.
Pipes
se zobrazují jako klávesa, která se straight bar,
jinak označuje jako klávesa |
.
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é.
Další informace o pipes
nich a jejich použití naleznete v online zdrojích, jelikož jsou na nich zapisovány svazky.
>
se používá ke overwrite
stávajícím souborům nahrazením výstupu z nového příkazu.
>>
se používá k append
informacím o stávajících souborech. To je užitečné př protokolování.
Example:
ps aux > processes.log
odešle výstup 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 příkazem |
pro 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
spustí příkaz dmesg
, který zobrazí informace o počátečním spuštění. Odešle |
výstup dmesg
do tee
, který poté provádí svou úlohu, odesláním do terminálu a do souboru boot.txt
protokolu.
Chcete spustit soubor v aktuálním adresáři poté, co je označen jako spustitelný? Operátor ./
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
, ž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 spuštěného programu. Pokud se jedná o program Python, je python /path/to/file
to, a pokud se jedná o soubor prostředí, jde sh /path/to/file
o příklad. Existují i jiné programy, ale tyto jsou nejběžnější.
Pokud chcete spustit soubor s právy uživatele root, protože jste obdrželi operation not permitted?
. Příkaz musíte zadat předponou sudo
.) Stejně jako u výše uvedeného příkladu sudo python /path/to/file
spustí skript s právy uživatele root.
Pokud chcete z terminálu spustit program grafického uživatelského rozhraní, zadejte název case sensitive!
programu a spustí se. Tím se aktuální terminál znemožní. Zavření terminálu v době, kdy je program otevřený, také ukončí program. Lepším způsobem je spustit program na pozadí, pomocí program_name
a poté zadáním slova exit
v terminálu ho zavřít a ponechat proces spuštěný.
Pokud chcete spustit program grafického uživatelského rozhraní s právy uživatele root z terminálu, zadejte jeho gksudo
předponu či gksu
nikoli sudo
. Používání sudo
aplikací grafického uživatelského rozhraní je špatné a je třeba se jim vyhnout.
Používejte not
sudo
pouze proto, že se něco zobrazí Operation not permitted.
. Upozorňujeme, že počítače můžete destroy
spustit spuštěním příkazů na nesprávném místě s právy uživatele root. 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
vytisknete 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
dělá to přesně. Chcete vypočítat velikost aktuální složky? du -cksh
.
Chcete označit spustitelný soubor? chmod +x filename
to dělá.
Musíte připojit soubor ISO? Systém Linux má tuto funkci vestavěnou. Vytvořte někde adresář, např. zadejte /home/user/isomount
příkaz mount -o loop /path/to/myisofile.iso /home/user/isomount
a obsah, který se připojí do dané složky.
Po spuštění příkazu jej musíte znovu spustit, ale nemůžete si přesně vzpomenout, jak to bylo? Zadejte history
do terminálu a vytiskne historii příkazů. Chcete vymazat historii? history -c
vymaže informace.