Questa è la seconda parte della serie di comandi Linux one-liner per rendere la vita della tua riga di comando più facile, migliore e più veloce. La prima parte di questa serie è già in diretta. Potresti volerlo leggere dal link sottostante.
- Alcuni comandi Linux casuali in una riga [Parte 1]
Alcuni dei comandi forniti di seguito sono raccolti da Arch wiki, /r/linux, Askubuntu e Stack Overflow. Tutto il merito va alla comunità. E alcuni sono i miei risultati dall'esperienza quotidiana. Questa è la seconda parte della serie. Pubblicheremo le parti successive a fine mese. Cominciamo, vero?
Comandi Linux casuali a una riga
- Iniziamo questa parte con Emacs. Se hai Emacs installato sul tuo sistema, premi CTRL+x e CTRL+e per aprire l'editor Emacs contenente tutto ciò che hai appena digitato nel tuo Terminale. Ad esempio, digita "ls" sul tuo Terminale e premi CTRL+x seguito da CTRL+e. Ora l'editor di Emacs si aprirà automaticamente con "ls" su di esso.
-
Per elencare file e directory nella directory di lavoro corrente, digita:
$ du -sxh * | sort -h
Gli elementi più piccoli verranno mostrati in alto.
- Per tornare alla directory di lavoro precedente da qualsiasi posizione, digita:
$ cd -
Si prega di notare lo spazio tra cd e - (trattino).
Per tornare alla tua directory $HOME da qualsiasi posizione, il comando è:
$ cd
Non importa quale sia la tua precedente directory di lavoro. Il comando "cd" ti porterà da qualsiasi posizione alla tua directory $HOME.
- Alcune volte mi dimentico di aggiungere "sudo" quando modifico i file di configurazione di Apache usando vim editor. Il risultato? Non sono riuscito a salvare il file dopo aver apportato alcune modifiche. Se provo a salvare, genererà l'errore di autorizzazione negata. Questo fantastico trucco mi ha aiutato a salvare un file modificato in vim senza i permessi necessari.
:w !sudo tee %
Non è necessario uscire da vim e modificare nuovamente il file con l'autorizzazione sudo. Dopo aver apportato le modifiche, digita sopra la riga per salvarla con le autorizzazioni sudo. È davvero un bel trucco quando ti dimentichi di aggiungere "sudo" durante la modifica dei file.
- Per richiamare un comando con un prefisso specifico dalla cronologia BASH senza eseguire il comando, digitare:
$ !su:p
Il comando precedente richiamerà l'ultimo comando con il prefisso "su", ma non lo eseguirà. Come puoi vedere nell'immagine sopra, il mio ultimo comando con il prefisso "su" era - sudo netctl restart wlp9s0sktab .
- Per monitorare continuamente l'output di un file, usa questo comando:
$ tail -f /var/log/pacman.log
Questo comando sarà utile per monitorare un file che produce molto output.
- Per aggiornare un singolo pacchetto utilizzando il gestore di pacchetti "APT", utilizzare:
$ sudo apt-get install --only-upgrade <package-name>
- Se hai accidentalmente modificato o sovrascritto il tuo .bashrc file, puoi ripristinare le impostazioni predefinite copiando la copia predefinita da skel cartella.
$ cp /etc/skel/.bashrc ~/
Tieni presente che questo comando sovrascriverà tutte le modifiche nel tuo file .bashrc esistente.
- Per "ls" automaticamente quando cambi directory, aggiungi le seguenti righe nel tuo .bashrc file.
cd() { builtin cd "[email protected]" && ls -lA }
Per aggiornare le modifiche apportate al tuo file .bashrc, esegui:
$ source ~/.bashrc
Ora cd in qualsiasi directory. Vedrai l'elenco di file e cartelle inclusi gli elementi nascosti al suo interno. Tieni presente che a volte sarà fastidioso passare a una directory che contiene centinaia di file/cartelle.
- Per visualizzare il numero totale di file e cartelle nella directory corrente, eseguire:
$ echo $(($(ls -l | wc -l) - 1))
Per visualizzare il numero totale di file/cartelle inclusi i file nascosti, digitare:
$ echo $(($(ls -lA | wc -l) - 1))
11.Per scaricare un pacchetto .deb con tutte le dipendenze richieste senza installarlo, utilizzare questo comando:
$ sudo apt-get install --download-only vim
Questo comando scaricherà il pacchetto "vim" con tutte le dipendenze necessarie, ma non lo installerà.
Per maggiori dettagli, fare riferimento a questo link.
- Scarica pacchetti con dipendenze in locale in Ubuntu
Puoi anche scaricare un pacchetto .rpm con tutte le dipendenze senza installarlo. Controlla questo link qui sotto per sapere come.
- Come scaricare un pacchetto RPM con tutte le dipendenze in CentOS
- Per elencare tutti i pacchetti installati su un sistema basato su Debian, eseguire:
$ dpkg -l
Per visualizzare i file installati e i dettagli del percorso di un determinato pacchetto, utilizzare:
$ dpkg -L <package-name>
Lettura consigliata:
- Come elencare i pacchetti installati ordinati per data di installazione in Linux
- Come elencare i pacchetti installati che appartengono a un gruppo particolare in Linux
- Come elencare i pacchetti installati da un determinato repository in Linux
- Come scoprire se un pacchetto è installato o meno in Linux e Unix
- Per visualizzare lo stato attuale del sistema, l'ora, la durata, l'elenco degli utenti attualmente connessi e altri dettagli utente, eseguire:
$ w
- Per visualizzare l'utilizzo del disco di tutti i file e le directory (inclusi i file nascosti) nella directory di lavoro corrente in un formato leggibile dall'uomo, utilizzare questo comando:
$ du -sch .[!.]* *
Per ulteriori esempi di comandi "du", fare riferimento a questo link.
- Come trovare la dimensione di una directory in Linux
- A volte potresti voler scrivere l'output di un particolare comando su più file e inviarlo ai tuoi colleghi, amici. Se è così, puoi farlo come di seguito.
$ uname -r | tee file1 file2 file3
Questo comando scrive l'output del comando "uname -r" in file1, file2 e file3. Se i file non esistono, li creerà e scriverà l'output. Uno svantaggio dell'utilizzo di questo comando è che sovrascriverà il contenuto dei file. Se non lo desideri, puoi aggiungere l'output utilizzando il flag "-a" come mostrato di seguito.
$ uname -r | tee -a file1 file2 file3
- Per ordinare un file in ordine alfabetico e visualizzare l'output in un'unica riga:
$ cat <file-name> | tr '|' '\n' | sort | tr '\n' '|' | sed "s/.$/\\n/g"
Ad esempio, ho un file chiamato "example.txt" con i seguenti contenuti:
$ cat example.txt abc cab bac bca cba
Ora ordiniamo il contenuto di questo file in ordine alfabetico e visualizziamo il risultato in una singola riga. Per farlo, esegui:
$ cat example.txt | tr '|' '\n' | sort | tr '\n' '|' | sed "s/.$/\\n/g" abc|bac|bca|cab|cba
- Vuoi imparare JavaScript, quindi vai al seguente sito.
- https://www.dwitter.net/
Questo è un sito web supportato dalla community in cui le persone compongono programmi JavaScript a 140 caratteri che producono immagini interessanti.
- Per eliminare i caratteri specifici in un determinato comando, fai:
$ echo 'Hell1o, Welcome1 2to OSTechNix4' | tr -d '1-9'
Il comando precedente cancellerà i numeri da 1 a 9 e visualizzerà l'output finale.
- Il tasto "BACKSPACE" non funziona nella tua tastiera? Nessun problema! Puoi comunque eliminare i caratteri sul Terminale in un sistema in cui il tasto BACKSPACE non funziona premendo "CTRL+h" chiavi.
-
Per visualizzare tutti gli utenti che hanno effettuato l'accesso di recente a un sistema, digitare:
$ last
Per sapere quando è stata l'ultima volta che un utente ha effettuato l'accesso, digita:
$ last <username>
Per visualizzare tutti i tentativi di accesso non validi, digita:
$ sudo lastb
- Stai configurando un server web di test utilizzando Nginx? Puoi utilizzare questo generatore di configurazione Nginx online gratuito per scopi generali:
- https://nginxconfig.io/
Basta inserire i dettagli come dominio, doucumentroot ecc., nella rispettiva colonna e genererà automaticamente la configurazione di Nginx in base al tuo input durante la digitazione. Puoi semplicemente copiarlo/incollarlo nel tuo /etc/nginx/nginx.conf file. Questo è davvero utile per scopi di apprendimento e test.
- Per unire due file affiancati, ciascuno nella sua colonna, usando TAB come delimitatore, puoi usare questo comando:
$ paste file1 file2
Supponiamo che tu abbia due file e cioè file1.txt e file2.txt con i seguenti contenuti.
$ cat file1.txt Apple Orange Mango
$ cat file2.txt 30 25 40
Se usi il comando cat per visualizzare l'output di entrambi i file, l'output sarà:
$ cat file1.txt file2.txt Apple Orange Mango 30 25 40
Ma se usi il comando incolla, vedrai che i campi sono stati organizzati correttamente in una colonna ordinata come quella di seguito.
$ paste file1.txt file2.txt
- Per trovare l'ora dell'ultimo accesso a un file, esegui:
$ stat -c %x file
Per trovare l'ora dell'ultima modifica di un file, utilizzare:
$ stat -c %y file
- Per trovare il tipo di file, usa:
$ file <file-name>
Esempio:
$ file ostechnix ostechnix: ASCII text
$ file image image: PNG image data, 330 x 146, 8-bit colormap, non-interlaced
Questo potrebbe essere utile se il file specificato non ha estensione.
- Per salvare l'output di più comandi come una singola riga in un file di testo, il comando sarebbe:
$ echo "$(uname -r) $(hostname -i)" >> output.txt
Il comando precedente scrive l'output dei comandi "uname -r" e "hostname -i" in un file denominato "output.txt".
La terza parte di questa serie è pronta e disponibile ora. Fare clic sul collegamento sottostante per leggerlo.
- Alcuni comandi Linux casuali in una riga [Parte 3]