Dvě sady nástrojů – GNU Core Utilities a util-linux
—obsahuje mnoho nejzákladnějších a pravidelně používaných nástrojů správce systému Linux. Jejich základní funkce umožňují správcům systému provádět mnoho úkolů potřebných pro správu počítače se systémem Linux, včetně správy a manipulace s textovými soubory, adresáři, datovými toky, úložnými médii, ovládacími prvky procesů, souborovými systémy a mnohem více.
Tyto nástroje jsou nepostradatelné, protože bez nich není možné provádět žádnou užitečnou práci na počítači Unix nebo Linux. Vzhledem k jejich důležitosti je pojďme prozkoumat.
GNU coreutils
Linuxový terminál
- 7 nejlepších emulátorů terminálu pro Linux
- 10 nástrojů příkazového řádku pro analýzu dat v systému Linux
- Stáhnout nyní:SSH cheat sheet
- Cheat sheet pro pokročilé příkazy systému Linux
- Výukové programy příkazového řádku systému Linux
Abychom pochopili původ GNU Core Utilities, musíme si udělat krátký výlet na stroji Wayback do počátků Unixu v Bell Labs. Unix byl napsán tak, aby Ken Thompson, Dennis Ritchie, Doug McIlroy a Joe Ossanna mohli pokračovat v něčem, co začali při práci na velkém multi-taskingovém a víceuživatelském počítačovém projektu zvaném Multics. Tou maličkostí byla hra s názvem Space Travel. Jak zůstává pravdou i dnes, zdá se, že to vždy byli hráči, kdo ženou kupředu výpočetní technologii. Tento nový operační systém byl mnohem omezenější než Multics, protože se mohli přihlásit pouze dva uživatelé najednou, takže se jmenoval Unics. Tento název byl později změněn na Unix.
Postupem času se ukázalo, že Unix byl tak úspěšný, že jej Bell Labs začaly v podstatě rozdávat univerzitám a později společnostem za náklady na média a dopravu. V té době byl software na systémové úrovni sdílen mezi organizacemi a programátory, když pracovali na dosažení společných cílů v kontextu správy systému.
Nakonec se PHB v AT&T rozhodli, že by měli vydělávat peníze na Unixu, a začali používat restriktivnější – a dražší – licencování. To se odehrávalo v době, kdy se software stával více proprietární, omezenější a uzavřenější. Stávalo se nemožným sdílet software s ostatními uživateli a organizacemi.
Některým lidem se to nelíbilo a bojovali s tím svobodným softwarem. Richard M. Stallman, neboli RMS, vedl skupinu rebelů, kteří se pokoušeli napsat otevřený a volně dostupný operační systém nazývaný GNU Operating System. Tato skupina vytvořila GNU Utilities, ale nevytvořila životaschopné jádro.
Když Linus Torvalds poprvé napsal a zkompiloval linuxové jádro, potřeboval sadu velmi základních systémových utilit, aby vůbec začal vykonávat okrajově užitečnou práci. Jádro neposkytuje příkazy ani žádný typ příkazového shellu, jako je Bash. Sama o sobě je k ničemu. Linus tedy použil volně dostupné GNU Core Utilities a překompiloval je pro Linux. To mu poskytlo kompletní, i když zcela základní operační systém.
O všech jednotlivých programech, které tvoří GNU Utilities, se můžete dozvědět zadáním příkazu info coreutils
na příkazovém řádku terminálu. Následující seznam hlavních nástrojů je součástí této informační stránky. Nástroje jsou seskupeny podle funkcí, aby bylo snazší najít konkrétní; v terminálu zvýrazněte skupinu, o které chcete získat další informace, a stiskněte klávesu Enter.
* Output of entire files:: cat tac nl od base32 base64
* Formatting file contents:: fmt pr fold
* Output of parts of files:: head tail split csplit
* Summarizing files:: wc sum cksum b2sum md5sum sha1sum sha2
* Operating on sorted files:: sort shuf uniq comm ptx tsort
* Operating on fields:: cut paste join
* Operating on characters:: tr expand unexpand
* Directory listing:: ls dir vdir dircolors
* Basic operations:: cp dd install mv rm shred
* Special file types:: mkdir rmdir unlink mkfifo mknod ln link readlink
* Changing file attributes:: chgrp chmod chown touch
* Disk usage:: df du stat sync truncate
* Printing text:: echo printf yes
* Conditions:: false true test expr
* Redirection:: tee
* File name manipulation:: dirname basename pathchk mktemp realpath
* Working context:: pwd stty printenv tty
* User information:: id logname whoami groups users who
* System context:: date arch nproc uname hostname hostid uptime
* SELinux context:: chcon runcon
* Modified command invocation:: chroot env nice nohup stdbuf timeout
* Process control:: kill
* Delaying:: sleep
* Numeric operations:: factor numfmt seq
V tomto seznamu je 102 utilit. Pokrývá mnoho funkcí nezbytných k provádění základních úkolů na hostitelském systému Unix nebo Linux. Chybí však mnoho základních utilit. Například mount
a umount
příkazy nejsou v tomto seznamu. Tyto a mnoho dalších příkazů, které nejsou v GNU coreutils, lze nalézt v util-linux
kolekce.
util-linux
util-linux
balíček utilit obsahuje mnoho dalších běžných příkazů, které správci systému používají. Tyto nástroje distribuuje organizace Linux Kernel Organization a prakticky každý z těchto 107 příkazů byly původně tři samostatné kolekce — fileutils
, shellutils
a textutils
—které byly sloučeny do jediného balíčku util-linux
v roce 2003.
agetty fsck.minix mkfs.bfs setpriv
blkdiscard fsfreeze mkfs.cramfs setsid
blkid fstab mkfs.minix setterm
blockdev fstrim mkswap sfdisk
cal getopt more su
cfdisk hexdump mount sulogin
chcpu hwclock mountpoint swaplabel
chfn ionice namei swapoff
chrt ipcmk newgrp swapon
chsh ipcrm nologin switch_root
colcrt ipcs nsenter tailf
col isosize partx taskset
colrm kill pg tunelp
column last pivot_root ul
ctrlaltdel ldattach prlimit umount
ddpart line raw unshare
delpart logger readprofile utmpdump
dmesg login rename uuidd
eject look renice uuidgen
fallocate losetup reset vipw
fdformat lsblk resizepart wall
fdisk lscpu rev wdctl
findfs lslocks RTC Alarm whereis
findmnt lslogins runuser wipefs
flock mcookie script write
fsck mesg scriptreplay zramctl
fsck.cramfs mkfs setarch
Některé z těchto nástrojů byly zastaralé a pravděpodobně někdy v budoucnu vypadnou z kolekce. Měli byste zkontrolovat util-linux
Wikipedie stránku s informacemi o mnoha nástrojích a manuálové stránky také poskytují podrobnosti o příkazech.
Shrnutí
Tyto dvě kolekce linuxových nástrojů, GNU Core Utilities a util-linux
, společně poskytují základní nástroje potřebné pro správu systému Linux. Když jsem zkoumal tento článek, našel jsem několik zajímavých nástrojů, o kterých jsem nikdy nevěděl. Mnoho z těchto příkazů je potřeba jen zřídka, ale když je potřebujete, jsou nepostradatelné.
Mezi těmito dvěma kolekcemi je více než 200 linuxových nástrojů. Zatímco Linux má mnohem více příkazů, jsou to ty, které jsou potřeba ke správě základních funkcí typického hostitele Linuxu.