Annuncio pubblicitario

Pensi che lavorare sulla riga di comando sia complesso, vecchio stile e obsoleto? Pensa di nuovo.

In Linux, la riga di comando è uno strumento senza pari che esegue compiti complessi con il minimo sforzo. Ad esempio, prova a utilizzare una GUI (Interfaccia grafica utente) per eliminare ogni file con nomi che terminano con tMP e sono stati creati negli ultimi 3 mesi. Quindi scopri come eseguire la stessa attività tramite la riga di comando. Rimarrai sorpreso dalla facilità e velocità con cui puoi svolgere questo compito attraverso la riga di comando, soprattutto se devi farlo regolarmente.

Puoi fare un sacco di cose fantastiche con i comandi in Linux e non è davvero difficile da imparare. Se sei completamente nuovo alla riga di comando di Linux, dovresti prima familiarizzare con la navigazione della CLI (Command Line Interface), insieme ad alcune operazioni di base su file / directory. Ed è esattamente ciò di cui discuteremo in questo articolo.

Se sei assolutamente nuovo su Linux, prova a leggere il nostro

instagram viewer
Guida di Linux Introduzione a Linux e UbuntuSei interessato a passare a Linux... ma da dove inizi? Il tuo PC è compatibile? Le tue app preferite funzioneranno? Ecco tutto ciò che devi sapere per iniziare con Linux. Leggi di più . Inoltre, scopri come puoi sostituire Windows con Linux Rendere Linux un sostituto di Windows originaleCon Windows 8 che getta una lunga ombra sul settore dei PC e Valve si impegna a creare PC da gioco basati su Linux, non c'è mai stato un momento migliore per iniziare a usare Linux. Per molti utenti, il desktop Linux ... Leggi di più e come eseguire applicazioni Windows su Linux Esegui applicazioni Windows su Linux (o Mac) con WINE Leggi di più .

Impara a navigare efficacemente nella riga di comando di Linux

Ogni volta che apri una shell della riga di comando di Linux, inizi da una directory (di solito la tua home directory). Questa è la tua directory di lavoro fino a quando non cambi in un'altra directory. Per gli utenti che migrano da Windows, una directory in Linux equivale a una cartella in Windows. Inoltre, una home directory in Linux è concettualmente equivalente a una cartella specifica dell'utente - presente in C: / Documents and Settings o C: / Users - in Windows. Per visualizzare il percorso completo della directory di lavoro, utilizzare sempre il pwd comando.

01-image-pwd-comando

NOTA - Il testo che porta al dollaro compreso$) (o # in alcuni casi) è noto come prompt dei comandi.

Il pwd comando emesso /home/himanshu,il che significa che la directory di lavoro corrente è Himanshu. Consente di comprendere l'output del comando pwd nei passaggi:

  • / - La barra iniziale in avanti rappresenta la directory di livello superiore
  • /home - Il casa directory è una sottodirectory nella directory di livello superiore
  • /home/himanshu - Il Himanshu directory è una sottodirectory nella directory casa directory.

Per passare a qualsiasi altra directory, modificare la directory di lavoro corrente. Questo può essere fatto usando il CD comando: digita semplicemente "cd" seguito dalla directory in cui desideri passare.

01-01-image-cd-comando

Per spostarti verso il basso nella struttura della directory corrente (ad esempio, per passare a una sottodirectory nella directory di lavoro corrente), utilizza un punto (.) Anziché il percorso completo della directory di lavoro corrente. Questo fa risparmiare un po 'di tempo prezioso. Ad esempio: se la directory di lavoro corrente è /home/himanshu e vuoi passare a /home/himanshu/Desktop/images non è necessario digitare il percorso completo /home/himanshu/Desktop/images.Fornisci semplicemente il percorso relativo ./Desktop/images come argomento per CD comando.

01-1-image-cd-comando

Per spostarsi verso l'alto nella struttura della directory corrente, un modo è usare il CD comando con percorso completo per la nuova directory di lavoro.

01-02-image-cd-comando

Il modo più veloce è di tornare indietro usando ..

01-2-image-cd-comando

Proprio come il punto singolo (.) Rappresenta la directory corrente, il punto doppio (..) rappresenta la directory precedente. Così, cd ../ ..tornerà indietro di due directory.

MANCIA: Se devi saltare ripetutamente tra due directory, ad esempio tra /home/himanshu e / home / himanshu / Desktop / images - non usare il CD comando seguito da un percorso completo: è una perdita di tempo. Invece, puoi semplicemente usare cd -,che funziona quasi come il pulsante "Indietro" del browser:

01-image-cd-comando

MANCIA: Utilizzare il tasto [TAB] per completare automaticamente i nomi delle directory. Questo è molto utile durante la scrittura di nomi di directory lunghi. Ad esempio, invece di scrivere /home/himanshu, puoi semplicemente scrivere /home/h. e quindi premere il tasto [TAB] per richiedere alla shell di completare automaticamente il nome del file. Tieni presente che a volte ci saranno più cartelle che iniziano con "h" e in questi casi ti verrà mostrato un elenco di tali cartelle.

01-image-cd-scheda

Fornisci di più e riprova TAB.

Impara a lavorare con file e directory

Una volta che la navigazione della CLI è chiara, la prossima cosa importante è imparare le operazioni di base su file / directory.

Elenco contenuti della directory

Per elencare tutti i file in una directory utilizzare il ls comando. Per esempio:

09-1-image-ls-comando

I diversi colori (vedi l'output sopra) rappresentano diversi tipi di file in Linux. Alcuni dei colori di base che dovresti conoscere sono i seguenti:

Colori dei file LinuxPer elencare il contenuto di una directory diversa dalla directory di lavoro corrente, immettere il percorso completo di quella directory come argomento per la ls comando. Per esempio - ls / home / himanshu / Desktop

Oltre ai colori (spiegato sopra), il tipo di file può anche essere identificato tramite file comando. Ad esempio, nell'istantanea (mostrata di seguito), il file il comando lo dice chiaramente output1 è un file di testo.

03-image-file-comando

Visualizza il contenuto di un file

Per visualizzare il contenuto di un file sulla riga di comando, utilizzare il gatto comando.

04-image-cat-comando

A volte non è possibile visualizzare il file completo nella shell del prompt dei comandi. Ciò accade quando il numero di righe in un file è molto più di quello che la shell può visualizzare. Per file così grandi, usa cat [nome file] | Di meno .

04-01-image-cat-less

Il simbolo | è noto come pipe e viene utilizzato per indirizzare l'output di un comando (come input) a un altro comando. Qui, dirige l'output di cat .bashrc comando (come input) al Di meno comando - che consente a un utente di visualizzare agevolmente file di grandi dimensioni.

04-02-image-meno-display

stampa Enter per scorrere il contenuto verso l'alto e q abbandonare.

Visualizza le dimensioni di un file

Per trovare la dimensione di un file, utilizzare -l opzione con il ls comando.

NOTA - Quasi ogni comando Linux supporta alcune opzioni della riga di comando. Queste opzioni possono essere utilizzate per produrre output in accordo con esse. Ad esempio, il ls comando, se eseguito con -l opzione, produce un output più completo rispetto a quando viene eseguito senza alcuna opzione.

04-1-image-ls-l-comando
Il quinto campo nell'output (328 in questo esempio) rappresenta la dimensione del file in byte.

Crea un nuovo file o directory

Per creare un nuovo file, utilizzare il toccare comando.

05-1-image-touch-comando

Il toccare Il comando aggiorna i timestamp (accesso, modifica e modifica) di un file se esiste già. Il timestamp di accesso rappresenta la data / ora dell'ultimo accesso al file, mentre il timestamp di modifica rappresenta la data / ora quando il file è stato modificato l'ultima volta e cambia data / ora rappresenta la data / ora in cui i metadati del file erano passati modificati.

Il statistica Il comando può essere utilizzato per controllare i timestamp di un file.

05-1-image-stat-comando

Per creare una nuova directory, utilizzare il mkdir comando.

05-2-image-mkdir comando

NOTA - Inserire sempre il percorso completo (come argomento per il mkdir comando) durante la creazione di una nuova directory in una posizione diversa dalla directory di lavoro corrente.

Taglia, copia e rinomina file

Per copiare un file, utilizzare il cp comando.

cp [fonte] [destinazione]

Ecco un esempio che copia un file produzione dalla directory corrente a Desktop :

05-2-image-cp-comando
Il percorso della directory home può essere sostituito con ~ nella riga di comando. Quindi, il precedente cp il comando può anche essere scritto come:

05-3-image-cp-comando

Come /home/himanshu è la home directory di un utente, quindi è stata sostituita con ~.

MANCIA - Uso cd ~ o solo CD per tornare alla directory principale da qualsiasi punto della riga di comando.

Se sei curioso, eccolo qui perché ~ è stato scelto per rappresentare la home directory.

Per spostare un file da una directory all'altra (equivalente di Windows di taglia e incolla), utilizzare il mv comando. La sua sintassi è simile a quella di cp comando.

mv [fonte] [destinazione]

Il mv Il comando può anche essere usato per rinominare i file.

mv [nome-file-esistente] [nome-nuovo-file]

Cerca un file o testo all'interno di un file

Per cercare un file in una directory (e nelle sue sottodirectory), utilizzare il trova comando.

06-image-trovare-comando

Il trova comando - mostrato nell'istantanea (vedi sopra) - cerca nella directory /home/himanshu per tutti i file che hanno .bidone estensione.Nota che * è a personaggio jolly.

Per cercare testo all'interno di un file, utilizzare il grep comando.

07-1-image-grep-comando

Il grep il comando cerca il file frnd.cpp per le righe contenenti la stringa #includeree visualizza il risultato nell'output. Si noti che la parola chiave viene visualizzata in rosso.

Opzione -n può essere usato con grep comando per visualizzare i numeri di riga nell'output.

07-2-image-grep-comando

Per cercare una stringa in tutti i file presenti nella directory corrente utilizzare l'asterisco (*) come nome del file.

08-image-grep-comando

* rappresenta tutto e quindi il grep comando - mostrato nell'istantanea (vedi sopra) - cerca la stringa #includere in tutti i file presenti nella directory corrente.

NOTA - Uso -R opzione insieme a grep comando per cercare all'interno delle sottodirectory.

Elimina file o directory

Per eliminare un file o una directory utilizzare il rm comando.

rm [nome file]

Ecco un esempio:

09-0-image-rm-comando

Se il nome di un file inizia con - (ad esempio -nuovo file), utilizzare - con il rm comando per eliminarlo.

09-3-image-rm-comando

Per eliminare una directory utilizzare rm -r [nome directory].

10-3-image-rm-comando

Man Pages

Non è necessario scaricare una guida o acquistare un libro per studiare di più sui comandi in Linux. I manuali per tutti i comandi standard sono preinstallati con Linux. Esegui semplicemente il comando man [nome comando] e si aprirà una pagina di manuale per quel comando. Ad esempio, ecco uomo rm.

11-image-man-comando

Per cercare una parola chiave all'interno di una pagina man, digitare /[keyword] e premere invio.

Ad esempio, per cercare una parola chiave file, genere /file

11-1image-man-ricerca

e premere accedere

11-2-image-man-ricerca-risultati

Uso n per cercare in avanti, Maiusc + n per cercare all'indietro e q abbandonare.

Conclusione

I comandi discussi in questo articolo sono in grado di fare molto di più. Fai pratica con questi esempi e consulta la pagina man di ciascun comando per saperne di più. Quando avrai finito con abbastanza pratica su questi comandi, prova a rispondere alle seguenti due domande nei commenti.

Q1. Il mkdir il comando non riesce a creare la struttura della directory /home/himanshu/makeuseof/article1. Perché?

14-2-image-mkdir comando

Ecco i contenuti di /home/himanshu directory per il vostro riferimento:

14-1-image-ls-comando

Q2. Un file chiamato nuovo fileè presente nella directory di lavoro corrente, ma perché può rm non cancellarlo?

15-1-image-ls-comando
15-2-image-rm-comando

Crediti immagine: rsync + bash Via Flickr

Himanshu Arora è un programmatore di software, appassionato di open source e ricercatore di Linux. Scrive articoli tecnici per vari siti Web e blog. Alcuni dei suoi articoli sono stati pubblicati su IBM Developerworks, ComputerWorld e Linux Journal.