Iniziare con la Riga di Comando Linux
Una pratica voce di glossario che copre le basi della shell Linux: navigazione, operazioni su file, permessi e le abitudini che ti rendono veloce.
La riga di comando è un'interfaccia testuale per comunicare direttamente con il sistema operativo. Invece di fare clic su icone, digiti istruzioni a una shell, e la shell le esegue. Nella maggior parte delle distribuzioni Linux quella shell è bash, anche se zsh è diventato comune, specialmente da quando è il default su macOS e sempre più popolare negli ambienti Linux. Imparare la riga di comando non significa memorizzare centinaia di comandi. Si tratta di interiorizzare un piccolo insieme di strumenti e combinarli bene.
Cosa fa veramente la shell
Quando apri un terminale, stai eseguendo un emulatore di terminale, e dentro di esso un processo shell è in attesa di input. Digiti un comando, premi invio, e la shell lo analizza, trova il programma che hai nominato, e lo esegue con gli argomenti che hai fornito. L'output torna come testo. Questo è l'intero ciclo. Capire questa separazione tra terminale (la finestra) e shell (il programma che interpreta il tuo testo) chiarisce molte confusioni iniziali.
Spostarsi e guardare le cose
Quattro comandi coprono la maggior parte della navigazione iniziale:
pwd # print working directory
ls -la # list files, including hidden ones, with details
cd projects # change into a directory
cd .. # go up one level
ls -la vale la pena digitare per intero all'inizio piuttosto che affidarsi agli alias, così ti abitui a vedere permessi, proprietà e dimensioni dei file nell'output. La d o - iniziale nella stringa di permesso ti dice se qualcosa è una directory o un file regolare, e questo confonde molti principianti all'inizio.
Leggere e manipolare file
cat somefile.txt scarica un intero file sullo schermo. Per qualcosa di più lungo, less somefile.txt ti permette di scorrere e cercare con /pattern. head -n 20 file.log e tail -n 20 file.log mostrano le prime o le ultime righe, e tail -f file.log segue un file mentre nuove righe vengono aggiunte, ed è così che osservi un log in tempo reale durante il debug.
Copiare, spostare e eliminare usano cp, mv e rm:
cp report.txt report.bak
mv report.bak archive/
rm archive/report.bak
rm non sposta le cose in un cestino. Le elimina. Aggiungere -i le fa chiedere conferma, il che è un'abitudine ragionevole mentre stai ancora costruendo la memoria muscolare.
Permessi, senza il mistero
Eseguire ls -l su un file mostra qualcosa come -rwxr-xr--. Dividilo in tre gruppi di tre: proprietario, gruppo, altri. Ogni gruppo ha lettura, scrittura, esecuzione. chmod 755 script.sh imposta il proprietario a lettura/scrittura/esecuzione (7), e gruppo/altri a lettura/esecuzione (5). chmod +x script.sh è una scorciatoia per rendere un file eseguibile senza ricalcolare il numero completo. chown cambia chi possiede un file, e di solito ha bisogno di sudo a meno che non sia già tuo.
Piping e redirezione
Qui è dove la riga di comando smette di essere un file browser e inizia a essere un vero strumento. Il pipe | invia l'output di un comando a un altro:
ps aux | grep nginx
ls -la | wc -l
cat access.log | grep 404 | sort | uniq -c | sort -rn
Quell'ultimo conta quante volte ogni riga che genera 404 appare in un log e ordina per frequenza, costruito interamente da piccoli comandi concatenati. La redirezione con > e >> invia l'output a un file invece che sullo schermo: > sovrascrive, >> aggiunge. 2> reindirizza specificamente l'output di errore, il che importa una volta che inizi a scrivere script che hanno bisogno di separare l'output normale dagli errori.
Trovare le cose
find cerca per nome, tipo o tempo di modifica:
find /var/log -nameScritto con assistenza AI, revisionato e pubblicato da Michal Pilch (CISSP), Korra Studio.
Questa è una nota dalla knowledge base di Korra Studio — la piattaforma abbina ogni argomento a mentoring 1-to-1.
Inizia gratisarrow_forward