Due insiemi di utilità:le GNU Core Utilities e util-linux
—comprende molti degli strumenti più basilari e usati regolarmente dall'amministratore di sistema Linux. Le loro funzioni di base consentono agli amministratori di sistema di eseguire molte delle attività richieste per amministrare un computer Linux, inclusa la gestione e la manipolazione di file di testo, directory, flussi di dati, supporti di memorizzazione, controlli di processo, filesystem e molto altro.
Questi strumenti sono indispensabili perché, senza di essi, è impossibile eseguire qualsiasi lavoro utile su un computer Unix o Linux. Data la loro importanza, esaminiamoli.
Coreutils GNU
Il terminale Linux
- I 7 migliori emulatori di terminale per Linux
- 10 strumenti da riga di comando per l'analisi dei dati in Linux
- Scarica ora:cheat sheet SSH
- Cheat sheet sui comandi avanzati di Linux
- Esercitazioni sulla riga di comando di Linux
Per comprendere le origini delle GNU Core Utilities, dobbiamo fare un breve viaggio nella Wayback machine agli albori di Unix presso i Bell Labs. Unix è stato scritto in modo che Ken Thompson, Dennis Ritchie, Doug McIlroy e Joe Ossanna potessero continuare con qualcosa che avevano iniziato mentre lavoravano a un grande progetto di computer multi-tasking e multiutente chiamato Multics. Quel piccolo qualcosa era un gioco chiamato Space Travel. Come rimane vero oggi, sembrano sempre essere i giocatori a portare avanti la tecnologia dell'informatica. Questo nuovo sistema operativo era molto più limitato di Multics, poiché solo due utenti potevano accedere alla volta, quindi è stato chiamato Unics. Questo nome è stato successivamente cambiato in Unix.
Nel corso del tempo, Unix si è rivelato un tale successo che Bell Labs ha iniziato essenzialmente a darlo via alle università e successivamente alle aziende per il costo dei media e delle spedizioni. A quei tempi, il software a livello di sistema veniva condiviso tra organizzazioni e programmatori mentre lavoravano per raggiungere obiettivi comuni nel contesto dell'amministrazione del sistema.
Alla fine, i PHB di AT&T hanno deciso che avrebbero dovuto fare soldi con Unix e hanno iniziato a utilizzare licenze più restrittive e costose. Ciò avveniva in un momento in cui il software stava diventando più proprietario, limitato e chiuso. Stava diventando impossibile condividere il software con altri utenti e organizzazioni.
Ad alcune persone non è piaciuto e l'hanno combattuto con il software libero. Richard M. Stallman, alias RMS, guidava un gruppo di ribelli che stavano cercando di scrivere un sistema operativo aperto e liberamente disponibile chiamato GNU Operating System. Questo gruppo ha creato GNU Utilities ma non ha prodotto un kernel valido.
Quando Linus Torvalds ha scritto e compilato per la prima volta il kernel Linux, aveva bisogno di una serie di utilità di sistema molto basilari per iniziare anche a svolgere un lavoro marginalmente utile. Il kernel non fornisce comandi o alcun tipo di shell dei comandi come Bash. È inutile di per sé. Quindi, Linus ha utilizzato le GNU Core Utilities disponibili gratuitamente e le ha ricompilate per Linux. Questo gli ha fornito un sistema operativo completo, anche se abbastanza semplice.
Puoi conoscere tutti i singoli programmi che compongono le utilità GNU immettendo il comando info coreutils
su una riga di comando del terminale. Il seguente elenco delle utilità principali fa parte di quella pagina di informazioni. Le utilità sono raggruppate per funzione per facilitarne la ricerca di quelle specifiche; nel terminale, evidenziare il gruppo su cui si desidera avere maggiori informazioni e premere il tasto Invio.
* 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
Ci sono 102 utilità in questo elenco. Copre molte delle funzioni necessarie per eseguire attività di base su un host Unix o Linux. Tuttavia, mancano molte utilità di base. Ad esempio, il mount
e umount
i comandi non sono in questo elenco. Questi e molti altri comandi che non sono nelle coreutils GNU possono essere trovati in util-linux
raccolta.
util-linux
Il util-linux
pacchetto di utilità contiene molti degli altri comandi comuni utilizzati dagli amministratori di sistema. Queste utilità sono distribuite dalla Linux Kernel Organization e praticamente ognuno di questi 107 comandi erano originariamente tre raccolte separate:fileutils
, shellutils
e textutils
—che sono stati combinati in un unico pacchetto util-linux
nel 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
Alcune di queste utilità sono state ritirate e probabilmente usciranno dalla raccolta in futuro. Dovresti controllare util-linux
di Wikipedia pagina per informazioni su molte delle utilità e le pagine man forniscono anche dettagli sui comandi.
Riepilogo
Queste due raccolte di utilità Linux, GNU Core Utilities e util-linux
, insieme forniscono le utilità di base necessarie per amministrare un sistema Linux. Durante la ricerca in questo articolo, ho trovato diverse utilità interessanti di cui non ero mai a conoscenza. Molti di questi comandi sono raramente necessari, ma quando ne hai bisogno sono indispensabili.
Tra queste due raccolte, ci sono oltre 200 utilità Linux. Sebbene Linux abbia molti più comandi, questi sono quelli necessari per gestire le funzioni di base di un tipico host Linux.