In questo articolo viene spiegato come utilizzare i comandi integrati del terminale per fornire informazioni su alcuni comandi e sulle relative funzionalità.
Fornisco esempi per illustrare anche il processo.
Lo strumento della riga di comando è potente. Esistono strumenti che convertono un processo laborioso all'interno di in un'interfaccia grafica utente in un'attività che richiede solo pochi secondi. Rimuovere le ultime quattro linee in ogni riga di un file di grandi dimensioni rappresenta un processo dispendioso in termini di tempo in un'applicazione GUI. Può tuttavia diventare automatico sulla riga di comando.
I modi più comuni per aprire una finestra del terminale in Ubuntu Linux sono:
Ci sono molti comandi associati alla shell del terminale in Ubuntu Linux. L'articolo seguente elenca i più comunemente utilizzati, sotto i gruppi che influiscono.
Esistono tre comandi principali che utilizziamo per fornire tutte le informazioni necessarie per utilizzare i vari comandi del terminale.
Il comando man visualizza il manuale per qualsiasi comando utilizzato nel terminale.
La maggior parte dei comandi della shell accetta varie opzioni. Per ottenere informazioni su un comando e un elenco delle opzioni disponibili, utilizzare il man
comando (abbreviazione di manual ). Assegnare come argomento il nome del comando di cui si desidera trovare ulteriori informazioni. Ovvero il comando su cui funziona il man
comando.
Esempio: Se si immette il comando man who
, viene visualizzato il seguente output.
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
Molti manuali sono estesi in varie schermate. Utilizzare il cursore oARROW
i tasti PGSU/PGGIÙ per spostarsi nel testo. Il tasto barra spaziatrice mostra la riga di testo successiva. Premendo il tasto q si esce dal manuale e si torna alla shell.
Dalla man page possiamo usare l'opzione -a
per visualizzare ulteriori informazioni sulle sessioni utente attive.
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]$
Legge anche i file della guida per i programmi, il man
comando può anche fornire informazioni su shell, funzioni e librerie.
Se non si è certi di come utilizzare un comando specifico, eseguire il comando con le -h
opzioni o –help
. Vengono visualizzate le informazioni sull'utilizzo e un elenco di opzioni che è possibile utilizzare con il comando .
Esempio: Se si desidera sapere come utilizzare il wget
comando, digitare wget –help
o 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:
Spesso vengono visualizzate molte informazioni sul terminale e può risultare poco pratico scorrerle tutte. Per leggere più facilmente l'output, è possibile pipe
utilizzare il comando less . che permette di scorrere il testo con i tasti cursore/freccia sulla tastiera.
Esempio: 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.
:
Premere q per chiudere l'utilità less al termine dell'operazione.
Per trovare un'opzione specifica, è possibile pipe
ottenere l'output tramite il grep
comando . Ad esempio: Utilizzare il seguente comando per cercare le opzioni contenenti la parola 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:~$
Alcuni comandi sono documentati anche all'interno del info
sistema. Le informazioni qui riportate integrano ciò che viene visualizzato nel man
comando.
Esempio: Immettere il comando info ls,
per visualizzare il seguente output.
[support@support]$" info ls
È ora possibile visualizzare un manuale con informazioni importanti sul ls
comando.
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.
È possibile scorrere le pagine verso il basso premendo il tasto barra spaziatrice o utilizzando il cursore/ARROW
tasti.
help
, premere Hquit
premere Q
È possibile eseguire praticamente qualsiasi operazione in un terminale, come faresti anche da una GUI.
Come detto in precedenza, molti comandi sono stati progettati prima per funzionare nel terminale, quindi è stata aggiunta una GUI. Questo è il motivo per cui alcune GUI potrebbero sembrare poco pratiche: inizialmente rappresentavano un ripiego, in quanto assenti nella maggior parte delle build dei server Linux.
La posizione predefinita per aprire il terminale dal menu è la cartella Home, nota come ~
È possibile trovare la directory corrente dall'operatore .
. La maggior parte dei comandi che agisce sulla selezione della cartella corrente opera su comandi, posizioni e file con distinzione tra maiuscole e minuscole. /home
non è uguale /HOME
a o /Home
.
Utilizzare il tasto TAB per completare i nomi dei file se si dispone di un titolo del driver lungo. driver-128947232jaseu.sh
ad esempio, digitare dri
e inserire il resto. A condizione che non siano presenti due nomi che iniziano con dri
e, in caso contrario, aggiungere un altro carattere per farlo driv
e riprovare. Assicurarsi che il completamento automatico corrisponda a quello che si desidera visualizzare.
Quasi tutti i comandi possono essere letti per intero utilizzando la man
pagina o digitando -h
o --help
dopo aver scritto il comando iniziale. Questa sintassi è man command_name
, command_name -h
o command_name --help
.
Per ottenere ulteriori informazioni, è possibile utilizzare info. È possibile cercare un comando utilizzando info command_name
. Per la maggior parte dei comandi che fanno parte del pacchetto coreutils, È possibile trovare info
anche utilizzando la info coreutils command_name
chiamata in cui il comando cercato sostituisce command_name
.
Praticamente qualsiasi comando può mostrare esattamente ciò che sta accadendo, passo dopo passo. Si tratta in genere di -v
o --verbose
.
Per ottenere ulteriori informazioni, è possibile specificare contemporaneamente più flag di comando per un comando. Vedere l'esempio ls -al
riportato di seguito.
I nomi dei comandi non sono sempre ovvi: a causa delle limitazioni di spazio ai vecchi giorni di UNIX che erano abbreviati e queste convenzioni si bloccavano.
cd
- Reindirizza l'utente alla directory principale, come cd ~
cd..
- Reindirizza l'utente a una directory precedente. Con l'avvio di /home/user/Desktop
, cd..
viene avviato /home/user
. Questa operazione può essere estesa a cd ../../
cui vengono spostate di nuovo due directory in /home
.
cd foldername/
- Spostare l'utente in avanti alla cartella specificata nella cartella corrente.
/
mancante è un'omissione importante. Se ci si /home/user
accede e si desidera accedere a Desktop
, È necessario digitare senza prima Desktop
di cd Desktop/
/
. Digitando /
prima di posizionarci nella radice del file system, che non funzionerebbe.
cd /some/other/path
- Consente di accedere al percorso di cartella specificato, Se hai la strada giusta. Non dimenticare che è possibile utilizzare il TAB
tasto per completare automaticamente il processo.
ls
- Elenca tutti i file nella cartella corrente.
ls -l
- Fornisce un elenco più lungo, che include proprietari, autorizzazioni, dimensioni e data di modifica.
ls -a
- Visualizza i file e le cartelle nascosti e l'elenco normale.
ls -al
- Combina due opzioni per visualizzare i file e le cartelle nascosti nel formato esteso.
ls -h
- Mostra le dimensioni file in formato KB, MB, GB,
leggibile anziché byte. Viene utilizzato più spesso con il -l
flag.
È possibile visualizzare i file in directory in cui non ci si è nemmeno. Se ci si è in /home/user/Desktop
e si desidera visualizzare un file in /home/user
, è possibile effettuare ls ../
l'elenco dei file in cui è stata riportata una directory.
cp file /path/to/folder
- Copia il file specificato nel percorso specificato.
cp -r folder /path/to/folder
- Copia ripetutamente il contenuto della cartella in un'altra cartella.
cp *.extension /path/to/folder
- Copia i file corrispondenti all'estensione specificata nella nuova cartella. Per copiare tutti i file .doc, diventa cp *.doc /path/to/folder
e la cartella deve esistere.
cp name* /path/to/folder
- Copia tutti i file che iniziano con name
nella cartella specificata. Per copiare tutti i file che iniziano con example
, viene cp example* /path/to/folder
creata e la cartella deve essere già presente.
La sintassi di mv
è simile all'esempio precedente senza cp
per l'esempio 2. mv
non prende il -r
flag poiché lo spostamento di una cartella ne sposta anche il contenuto. La sintassi non è esatta in tutte le istanze, ma funziona con gli esempi riportati in precedenza. Per ulteriori informazioni, consultare le man page.
La rimozione dei file utilizzando rm
è permanente. I file non finiscono nel Cestino. Utilizzare questa funzione con cautela e accertarsi di eliminare esattamente ciò che si desidera, prima di premere il Enter
tasto . Se si sovracomplicano i comandi di eliminazione, non finisce mai bene.
rm file
- Rimuovere il file specifico dal computer.
rm -r folder
- Rimuovere la cartella specifica dal computer.
rm -rf folder
- Rimuove forzatamente la cartella specifica dal computer. Questo comando può danneggiare la configurazione se utilizzato in modo errato.
È possibile modificare i file utilizzando nano
un terminale per eseguire file rapidi e difficili fino alle configurazioni complete. Può essere utile, ma gestisce file di testo normale e file di programmazione, in modo che elementi come i documenti di Microsoft Word non si aprono correttamente.
Se il root possiede un file, un utente normale non può modificarlo. nano
deve essere preceduto da sudo
; per salvare le modifiche. In caso contrario, si apre in modalità read-only.
nano newfile.whatever
del nome specificato e lo apre per la modifica.
nano existing_file
- Apre il file esistente per la modifica.
Dall'interno di nano
Salvare il file premendo contemporaneamente i CTRL+O
tasti e modificare il nome o premere il Enter
tasto per mantenere lo stesso nome. In questo modo il file viene salvato.
Uscire nano
utilizzando i CTRL+X
tasti insieme. Se sono presenti modifiche non salvate, viene richiesto se si desidera salvarle.
mkdir folder_name
- Crea la cartella con il nome specificato
mkdir -p /path/to/folder/name
- Crea ogni cartella in base alle esigenze. Per creare la cartella /home/user/1stfolder/2ndfolder
, ed esiste solo /home/user
, utilizzare mkdir -p
le seguenti directory 1stfolder,
e 2ndfolder
.
ps aux
- Elenca tutti i processi in dettaglio in esecuzione sul computer. Sono inclusi l'utente, l'ID PID,
del processo e il nome del processo. In questo modo è possibile visualizzare l'elenco dei processi e, se necessario, è possibile terminare i processi non necessari o bloccati.
kill PID
- Il PID è un numero che fa riferimento al processo che determina un errore. È necessario ottenere il PID da un comando come ps aux
. Se un processo non si interrompe, è anche possibile specificare kill -9 PID
quale interrompere in qualsiasi modo il processo.
killall program
- Killall
arresta tutte le by name
istanze di listed program
. Se, ad esempio, sono aperte 3 sessioni del browser Internet Firefox, killall Firefox
termina tutte le sessioni di Firefox. kill
utilizza il PID specificato del processo Firefox in cui si desidera terminare e terminare solo quello.
xkill
è un modo tramite GUI per selezionare e chiudere le finestre. Digitando in xkill
viene visualizzata un'icona a croce e si arresta la finestra successiva su cui si è fatto clic.
Pipes
vengono visualizzate come un straight bar,
altro noto come |
tasto.
Si tratta di un tasto raramente utilizzato in Windows, ma si trova spesso sopra il tasto della barra rovesciata.
Questi vengono utilizzati per collegare insieme i comandi. Pipes
accetta l'output di un comando e lo instrada per essere utilizzato come input per un secondo comando in caso di concatenazione.
Consultare le risorse online per ulteriori informazioni e pipes
il relativo utilizzo in quanto sono presenti volumi scritti su di esse.
>
viene utilizzato per overwrite
i contenuti dei file esistenti sostituendoli con l'output del nuovo comando.
>>
viene utilizzato per append
informazioni sui file esistenti. Questo comando è utile per le azioni di registrazione.
Example:
ps aux > processes.log
invia l'output di ps aux
al file processes.log
per visualizzare l'output del comando in un editor di testo e sovrascrive il contenuto corrente del file.
tee
viene utilizzato insieme |
a per ottenere l'output del comando e inviarlo in un'altra posizione. Questo comando è utile in caso di errori non rilevati. In questo modo, tutto ciò che viene visualizzato sullo schermo viene anche acquisito in un file.
Esempio: dmesg
| tee boot.txt
eseguire il comando dmesg
che mostra le informazioni di avvio iniziali. |
Invia l'output di dmesg
a tee
, che quindi esegue il suo processo inviandolo al terminale e al file boot.txt
di registro .
Eseguire un file nella directory corrente dopo che è stato contrassegnato come eseguibile? L'operatore ./
può eseguire il file come utente normale, purché non siano necessari diritti root. ./
significa in the current directory
letteralmente che non funziona sui file esterni alla directory presente.
Se si desidera eseguire un file non nella directory corrente, è necessario passare il percorso al programma in esecuzione corretto. Se si tratta di un programma Python, lo è python /path/to/file
e se si tratta di un file della shell, è sh /path/to/file
come esempio. Esistono altri programmi, ma questi sono i più comuni.
Se si desidera eseguire un file con diritti di root perché è stato ricevuto operation not permitted?
, È necessario anteporre al comando .sudo
Come per l'esempio precedente, sudo python /path/to/file
esegue lo script con diritti di root.
Se si desidera eseguire un programma GUI dal terminale, digitare il nome case sensitive!
del programma e avviarlo. In questo modo il terminale corrente viene inutilizzabile. La chiusura del terminale mentre il programma è aperto arresta anche il programma. Un modo migliore è quello di inserire in background il programma, utilizzando program_name
e quindi digitando la parola exit
nel terminale per chiuderlo e mantenere il processo in esecuzione.
Se si desidera eseguire un programma GUI con diritti di root dal terminale, anteporrlo a gksudo
o gksu
e non sudo
a . L'utilizzo sudo
di per avviare le applicazioni GUI è un'abitudine e dovrebbe essere evitato.
Utilizzare not
solo perché viene visualizzato Operation not permitted.
un articolo Tenere presente che è possibile utilizzare destroy
i computer eseguendo comandi nella posizione errata con diritti sudo
root. Accertarsi che i file provengano da fonti affidabili.
Non si riesce a ricordare la directory in cui ci si trova? Digitare pwd
per stampare la directory di lavoro.
Si intende calcolare lo spazio su disco? df -h
può fornire un'indicazione rapida.
Si desidera calcolare le dimensioni di una cartella o di un file? du -cksh target_name
fa esattamente questo. Si desidera calcolare le dimensioni della cartella corrente? du -cksh
.
Si intende contrassegnare un file come eseguibile? chmod +x filename
lo fa.
È necessario montare un iso? Linux ha questa funzionalità integrata. Creare una directory in una posizione, ad esempio /home/user/isomount
, emettere il comando mount -o loop /path/to/myisofile.iso /home/user/isomount
e il contenuto è montato all'interno di quella cartella.
Dopo aver eseguito un comando, è necessario eseguirlo nuovamente, ma non si ricorda esattamente come è andato? Digitare history
nel terminale per stampare la cronologia dei comandi. Si intende cancellare la cronologia? history -c
cancella le informazioni.