Entra

View Full Version : ~Breve riferimento ai comandi GNU/Linux


Gimli[2BV!2B]
30-01-2008, 23:59
Introduzione ai comandi GNU/Linux per console.
Si tratta di una raccolta dei comandi che considero di più comune utilizzo.
Principalmente è incentrata su distribuzioni Debian based (come la famosa Ubuntu in tutte le sue declinazioni).
Buona parte delle sezioni sono comunque valide per tutte le distribuzioni, queste sono evidenziate sottolineando il titolo.

I comandi evidenziati in rosso sono eseguibili solo con permessi amministrativi, cioè o in una sessione root aperta con su, oppure precedendoli con sudo. Es: sudo ifconfig eth0
Tra i comandi sono citati file e cartelle importanti: sono evidenziati in verde.

Ciò che è scritto in MAIUSCOLO evidenzia la parte del comando che è necessario personalizzare.

Indice argomenti.

Prefazione: combinazioni di tasti indispensabili
Cambiare utente, combinare comandi e redirezione stream
Interazione tra emulatore di terminale ed Xorg
Configurazione
Demoni e Sistema
Moduli del kernel
Controllo riconoscimento hardware
Gestione processi
Variabili d'ambiente
Gestione file
Gestione permessi file
File compressi
File di testo e monitoraggio log
mount e pmount
apt: Advanced Package Tool
Rimozione dipendenze obsolete
dpkg: Debian PacKaGe
Rete
Aiuto!


Se questo elenco non vi piace o cercate maggiori approfondimenti provate i link consigliati!

Prefazione: combinazioni di tasti indispensabili

Tab -> Completamento automatico. Il tasto che si consuma di più... (https://pollycoke.wordpress.com/2006/10/17/comodamente-shell-la-bash-completion/)
Ctrl Alt Backspace -> Riavvio server X. DISATTIVATO di default dalla versione 1.6 di Xorg.
Bottone centrale (o rotella) del mouse -> Premendola si incolla quel che c'è negli appunti.
Ctrl Alt F1 fino ad F6 -> Sei terminali testuali (Alt destra ed Alt sinistra permettono di scorrerle come se fossero tab, il Ctrl non serve più una volta abbandonato X).
Alt F7 -> Riporta al desktop grafico (se attivo) se ci si trova nei terminali testuali.
Ctrl Alt Esc -> Trasforma il puntatore del mouse in un arma (xkill): cliccando su una finestra se ne impone fermamente la chiusura. Premere nuovamente per tornare al normale cursore.
Ctrl c -> Uccide il processo in esecuzione.
Ctrl d -> Logout immediato dalla sessione di console attiva.
Ctrl r -> Ricerca corrispondenze di ciò che scrivi nello storico dei comandi già usati, cercando all'interno delle stringhe (premendo Ctrl r più volte scorre tutte le corrispondenze).
Ctrl Shift C -> Copia quanto selezionato nell'emulatore di terminale sotto X (Konsole di Kde o Terminal di gnome, per esempio).
Ctrl Shift V -> Incolla nell'emulatore di terminale sotto X.
Ctrl x -> Blocca il processo in esecuzione e lo mette in secondo piano (fg lo riporta in primo piano).
Shift Ins -> Incolla nell'emulatore di terminale sotto X.
Shift Pag SU -> In console testuale scorre le pagine indietro fino alla fine del buffer.
Shift Pag GIÚ -> In console testuale scorre le pagine avanti.
In aptitude premere ? per scoprire tutti i tasti e le relative funzioni (Ctrl t per accedere ai menù).
In nano i comandi sono elencati in basso: ^ significa Ctrl.
Magic SysRq keys
Si tratta di combinazioni di tasti per i casi di vera emergenza. Deve essere abilitata l'apposita opzione nel kernel per renderle disponibili (di solito è attiva), chiunque possa raggiungere la tastiera può invocare questi comandi (si possono disattivare con sysctl -w kernel.sysrq=0).
Queste sono quelle più utilizzate (ne esistono varie altre (http://en.wikipedia.org/wiki/Magic_SysRq_key)):

Alt Stamp r -> (unRaw) Cambia modalità di utilizzo della tastiera: dovrebbe ripristinarne la funzionalità se smette di rispondere, permettendo, ad esempio, di accedere ai terminali testuali (con Ctrl Alt F1 o F2 o...).
Alt Stamp e -> (tErminate) Invia il segnale SIGTERM (http://en.wikipedia.org/wiki/SIGTERM) a tutti i processi tranne init.
Alt Stamp i -> (kIll) Invia il segnale SIGKILL (http://en.wikipedia.org/wiki/SIGKILL) a tutti i processi tranne init.
Alt Stamp s -> (Sync) sincronizza le partizioni montate, portando a termine tutte le operazioni di scrittura in coda.
Alt Stamp u -> (Unmount) Rimonta tutte le partizioni montate in sola lettura.
Alt Stamp b -> (reBoot) riavvio IMMEDIATO, senza sincronizzare i dischi o smontare le partizioni.
Alt Stamp o -> (Off) spegnimento IMMEDIATO, senza sincronizzare i dischi o smontare le partizioni.

É possibile utilizzarle singolarmente, ma usualmente è utile una particolare sequenza, che forza i passi di un riavvio in condizioni normali quando il sistema non risponde in alcun modo; questa sequenza è legata ad una "filastrocca" per ricordarla:
Raising Elephants Is So Utterly Boring (O al posto di B se si desidera spegnere).
Se il pc è un portatile il tasto Stamp è spesso ottenibile solo con combinazioni di tasti.

Torna all'indice.


Cambiare utente, combinare comandi e redirezione stream.

su - -> Diventa utente root/amministratore; la password richiesta è quella dell'utente root, che deve essere stata precedentemente impostata.
sudo COMANDO -> Esegue comando come root/amministratore; la password richiesta è quella dell'utente (sudo su - permette di accedere ad una console root permanente usando la password dell'utente).
!COMANDO -> Riesegue il comando con i parametri utilizzati l'ultima volta.
!! -> Sostituisce i punti esclamativi con l'ultimo comando digitato. Molto utile in *buntu quando si scorda sudo: sudo !!
echo "STRINGA" | sudo tee FILE_DIRITTI_ROOT -> sudo non può redirigere il suo output in un file, tee permette di aggirare questa limitazione (spesso utilizzato per agire su file in /proc o /sys).
COMANDO > NOME_FILE -> Sovrascrive (o crea) il file con l’output standard del comando.
COMANDO > NOME_FILE 2>&1 -> Sovrascrive (o crea) il file con l’output completo del comando (standard più errori).
COMANDO >> NOME_FILE -> Accoda l’output standard del comando al file.
COMANDO >> NOME_FILE 2>&1 -> Accoda l’output completo del comando (standard più errori) al file.
COMANDO < NOME_FILE -> NOME_FILE contiene parametri e/o altre cose necessarie per eseguire il comando. Es: patch -p0 < patch_da_applicare.
COMANDO1 | COMANDO2 -> Utilizza l’output di comando1 come input di comando2.
COMANDO1 && COMANDO2 -> Se il primo comando non da errori esegue il secondo (si possono concatenare altri comandi).
COMANDO1; COMANDO2 -> Esegue i comandi in sequenza senza preoccuparsi di eventuali errori (si possono concatenare altri comandi, è praticamente un micro-script).

Torna all'indice.


Interazione tra emulatore di terminale ed Xorg

xkill -> Trasforma il puntatore del mouse in un arma: cliccando su una finestra se ne impone fermamente la chiusura.
Comandi per avviare un programma grafico come root (dipendenti dall'ambiente desktop usato e dal comando utilizzato per eseguire un processo con i privilegi di un altro utente).

kdesu PROGRAMMA -> Utilizzare su in Kde 3 ed in alcune distribuzioni con Kde 4.
kdesudo PROGRAMMA -> Utilizzare sudo in Kde 3.
gksu PROGRAMMA -> Utilizzare su in Gnome.
gksudo PROGRAMMA -> Utilizzare sudo in Gnome.
/usr/lib/kde4/libexec/kdesu PROGRAMMA -> Debian con kde 4 (Gradirei chiarimenti sulla situazione in Kde 4 nelle varie distribuzioni).


Torna all'indice.


Configurazione

/boot/grub/grub.cfg -> GRUB 2 (versioni 1.x): contiene le voci elencate all'avvio. File completamente rigenerato ogni volta che si invoca update-grub, sconsigliato modificarlo direttamente.
/boot/grub/menu.lst -> GRUB legacy (versioni 0.x): contiene le voci proposte all'avvio. Le righe commentate una sola volta (con un solo # all'inizio della riga) sono impostazioni interpretate durante l'aggiornamento del file. Le righe non commentate vengono riscritte da update-grub; sconsigliato ed inutile modificarle direttamente le righe non commentate.
/etc/ -> Contiene tutti i file di configurazione più importanti.
/etc/default/grub -> GRUB 2: file che permette di impostare i parametri utilizzati durante la rigenerazione di (http://ubuntuforums.org/showthread.php?t=1195275) grub.cfg.
/etc/grub.d/ -> GRUB 2: cartella contenente gli script invocati da update-grub per generare grub.cfg.
/etc/X11/xorg.conf -> Contiene le impostazioni del server X.
/home/NOME_UTENTE (/home/$(whoami) per l'utente attivo) -> Vi si trovano molti file e cartelle nascoste (iniziano con un punto) in cui sono memorizzate le impostazioni personali.
Questi file sono creati da praticamente tutti i programmi che consentono di memorizzare settaggi.
Se, in seguito a crash o aggiornamenti corposi, un programma non funziona più correttamente, si può provare a resettarne le impostazioni spostando (con il programma chiuso) la/e cartelle nascosta e/o i file rintracciabili nella home: verranno ricreate le impostazioni iniziali.
Se non si ottengono risultati si possono ripristinare quelle salvate tornando al punto di partenza.
dpkg-reconfigure NOME_PACCHETTO -> Riconfigura un pacchetto. Pacchetto spesso da riconfigurare xserver-xorg
update-alternatives --config NOME_LINK -> Configura i collegamenti presenti in /etc/alternatives, che impongono quali programmi usare di default. Usato di solito per impostare quale Java virtual machine usare.
update-grub -> Rigenera il file menu.lst (se si ha installato GRUB legacy) oppure grub.cfg (se si ha installato GRUB 2).

Torna all'indice.


Demoni e Sistema

/etc/init.d/FILE start
/etc/init.d/FILE stop
/etc/init.d/FILE restart -> Avvia, Ferma, Riavvia un servizio, un demone.
shutdown -h now, shutdown -r now -> Ferma (-h -> Halt), Riavvia (-r Reboot) il sistema.
shutdown -P HH:MM -> Per impostare l'ora di spegnimento del pc.
shutdown -rF -> Riavvia il sistema e forza un controllo delle partizioni all'avvio.
/var/log/ -> Cartella dei log di sistema.
/etc/default/ -> Configurazioni di default usate usualmente dagli script dei demoni (init scripts).
df -h -> Riepilogo spazio occupato nelle partizioni montate (-h sta per human readable).
df -i -> Statistiche sugli inode (http://it.wikipedia.org/wiki/Inode): se finiscono ci si trova in uno stato equivalente al disco pieno (capita molto raramente).
dmesg -> Mostra tutti gli eventi accaduti a livello del kernel dall'avvio del sistema; se si collegano periferiche a caldo (USB, pcmcia, ecc) mostra come ha reagito il kernel.
free -m -> Quantificazione dell'utilizzo di memoria. La seconda riga riporta una stima affidabile della memoria effettivamente occupata (netta di buffer e cache), la terza della swap.
fsck /dev/NOME_PARTIZIONE -> Controlla il filesystem della partizione. Eseguirlo solo se la partizione non è montata oppure utilizzare shutdown -F o il file forcefsck.
touch /RADICE/DI/PARTIZIONE/forcefsck -> Pianifica il controllo della partizione all'avvio successivo (esempio per la radice di sistema: touch /forcefsck ).
uname -r -> Mostra il nome completo del kernel che si sta utilizzando (utile quando si vogliono automatizzare attività che coinvolgono il kernel e le sue cartelle). L'opzione -a mostra tutti i dati disponibili.
which NOME_COMANDO -> In quale bin/sbin si trova l'eseguibile del comando?
cat /etc/issue -> Mostra il nome della distribuzione e della versione installata.

Torna all'indice.


Moduli del kernel

lsmod -> Elenco dei moduli caricati.
modinfo NOME_MODULO -> Fornisce informazioni sul modulo. In particolare elenca e descrive (a seconda della bontà della documentazione) i parametri che si possono fornire come argomento.
modprobe -l -> Tutti i moduli disponibili con il kernel attualmente avviato (naturalmente tutto ciò che è integrato nel kernel non viene elencato).
modprobe NOME_MODULO -> Forza il caricamento di un modulo.
rmmod NOME_MODULO -> Cerca di rimuovere un modulo caricato (con l'opzione -f, da usare solo se esasperati, si forza la rimozione).
[Distribuzioni Debian based] m-a auto-install NOME_MODULO -> Scarica i sorgenti, scarica ed installa tutto il necessario, configura, compila, crea un pacchetto deb in /usr/src e lo installa.
File e cartelle di configurazione:

/lib/modules/ -> Moduli dei kernel installati. Suddivisi in cartelle nominate in base alla versione, vi rimangono anche tutti gli eventuali moduli installati con compilazione manuale (che non vengono rimossi durante la disinstallazione dei kernel obsoleti).
/etc/modules -> Permette di imporre l'inserimento di un modulo all'avvio. Aggiungere il nome del modulo in fondo al file.
/etc/modprobe.d/ -> Con i file contenuti in questa cartella si possono passare parametri ai moduli inseriti automaticamente. Occorre aggiungere un file di testo, chiamarlo come il modulo (usualmente), ed inserire una riga options OPZIONE=VALORE (si possono fare anche altre cose).
/etc/modprobe.d/blacklist -> Per impedire l'inserimento di un modulo all'avvio è sufficiente aggiungere blacklist NOME_MODULO in fondo a questo file.


Torna all'indice.


Controllo riconoscimento hardware.

cat /proc/cpuinfo -> Informazioni sul processore (grep processor /proc/cpuinfo | wc -l numero di core/thread).
dmidecode | less -> Una valanga di informazioni sul sistema, da versione e data del BIOS, alle funzionalità supportate dalla scheda madre, informazioni sulla RAM, sulle porte fisiche, ecc...
ethtool INTERFACCIA -> Informazioni sullo stato della scheda di rete.
lspci -> Mostra un elenco delle periferiche PCI del sistema (sempre più dettagliato con -v, -vv e -vvv). Utile l'opzione -k durante la prima ricompilazione del kernel: da informazioni sui driver in uso ed utilizzabili.

Torna all'indice.

Gestione processi

Gestione processi interna a Bash:

COMANDO & -> Esegue il comando lanciandolo come processo figlio della console: il risultato è che la console rimane libera, ma se il programma richiede input testuali è necessario riportarlo in primo piano con fg. Se si lancia in questo modo un programma con interfaccia grafica da un emulatore di terminale, questo verrà terminato alla chiusura del terminale di cui è figlio.
bg NOME_JOB -> Riporta in esecuzione un processo in secondo piano in stato stopped, mantenendolo sempre in secondo piano (vedi Ctrl x).
disown NOME_JOB -> Distacca il processo dalla console che lo ha lanciato; non verrà quindi terminato in caso di chiusura della console stessa. Il suo eventuale output finirà sulla console aperta in quell'istante, non sara più possibile fornirgli input testuali.
fg NOME_JOB -> Riporta in esecuzione in primo piano un processo in secondo piano.
jobs -> Elenco di stato e nome dei processi in secondo piano (il nome è quello che occorre per gli altri comandi).

nohup COMANDO -> rende il comando totalmente indipendente dal terminale che lo ha lanciato: non può più ricevere input testuali dalla shell e l'output viene di default accodato a ./nohup.out; alla chiusura del terminale il processo non viene terminato.
screen -> Torna estremamente utile per avviare comandi mantenendoli in esecuzione anche in caso di disconnessione dal sistema in cui si sono avviati. Sarà poi possibile ricollegarsi alla sessione. Si tratta praticamente di un moltiplicatore di terminali che permette di avviare infinite sessioni della propria shell. (http://www.cybertek.it/come-usare-il-comando-screen/)
ps aux | grep NOME_PROCESSO -> Mostra il PID del processo/i (Process IDentifier: identificativo del processo) e vari dati interessanti (VSZ: memoria virtuale occupata; RSS: RAM "effettivamente" occupata), togliendo | grep NOME_PROCESSO riporta tutti i processi in esecuzione (oltre a riportare i nomi delle colonne per capire cosa significano).
pgrep NOME_PROCESSO -> Mostra i PID di tutti i processi con quel nome (ma non mostra dati utili mostrati da ps aux, come il possessore del processo, la console su cui è eseguito, ecc...).
top -> Mostra tutti i processi attivi.
htop -> Molto simile a top, ma con qualche marcia in più.
pstree -> Rappresentazione ad albero dei processi (vedere pagina man per dettagli).
killall NOME_PROGRAMMA -> Termina TUTTI i processi con quel nome.
kill -NUMERO_SEGNALE PID_PROCESSO -> Permette di inviare segnali a processi specifici. Occorre conoscere il PID del processo che si desidera pilotare, ricavabile con ps o top o altro.

kill PID_PROCESSO_DA_CHIUDERE -> Invia al processo il segnale di chiusura (SIGTERM, equivalente all'opzione -15).
kill -9 PID_PROCESSO_DA_UCCIDERE -> Forza la terminazione del processo. Forza l'uscita non aspettando che il programma finisca i suoi lavori. Da utilizzare se il processo non si comporta a dovere (si blocca o comincia a fare cose dannose).

watch -d PROGRAMMA -> Esegue il programma ogni due secondi evidenziando le differenze nell'output testuale. Il programma deve produrre un output e terminare subito; esempio classico sensors (http://www.lm-sensors.org/).

Torna all'indice.


Variabili d'ambiente

echo $NOME_VARIABILE -> Se la variabile è impostata ne mostra il valore.

echo $PATH -> Percorsi in cui la shell cerca gli eseguibili invocati senza specificarne la posizione assoluta (per esempio quasi tutti i comandi di questa guida).

env -> Mostra tutte le variabili d'ambiente impostate nella console attiva (consigliabile | grep NOME_VARIABILE).
export NOME_VARIABILE="VALORE" -> Imposta/modifica una variabile tra quelle in env (VALORE può essere una stringa o un numero). Si rende permanente l'aggiunta aggiungendo il comando al file .bashrc nella propria home (o ad /etc/bash.bashrc per impostarla per tutti gli utenti).

Torna all'indice.


Gestione file
Primo concetto fondamentale: le lettere maiuscole sono diverse da quelle minuscole.
Ad esempio i file Esempio.sh ed esempio.sh NON sono la stessa cosa, possono coesistere nella stessa cartella.

Ricordate la differenza tra percorso assoluto e percorso relativo:
Percorso Assoluto: vi riferite al file rispetto alla radice del filesystem, cioè / Esempio: /boot/grub/menu.lst
Percorso Relativo: vi riferite al file rispetto alla directory in cui vi trovate, non dovete mettere / all'inizio.

cd DIRECTORY -> Spostati nella DIRECTORY.
Directory particolari

./ -> Directory in cui ti trovi.
../ oppure .. -> Directory superiore.
~/ -> Equivale ad /home/NOME_UTENTE_CHE_LO_INVOCA. Il carattere ~ si può ottenere premendo F5 o F6 o F7... fino a F12 (la combinazione ufficiale è AltGr ì).
File e cartelle nascoste si creano mettendo un punto davanti al loro nome. Visualizzabili con ls -a, ma tutti i file browser hanno, da qualche parte, un'opzione per visualizzarli.

cat NOME_FILE1 NOME_FILE2 NOME_FILEn > NOME_FILE_OUT -> Unisce gli n file in uno solo.
cd - -> Per tornare nella directory da cui sei appena andato via.
cp NOME_FILE1 NOME_FILE2 /PERCORSO/DI/DESTINAZIONE -> Copia file (e directory usando l'opzione -r).
cp -ax CARTELLA /PERCORSO/DI/DESTINAZIONE -> Copia ricorsivamente, mantenendo tutti i diritti ed i link; NON copia il contenuto di eventuali file system montati in cartelle figlie di CARTELLA (perfetto per clonare sistemi e fare semplici backup).
df -h -> Informazioni sullo spazio disponibile sulle partizioni montate.
dir -> Elenca i file (dir -la mostra un elenco dettagliato con file nascosti e link sbrogliati).
du -sh DIRECTORY -> Calcola la dimensione occupata dalla directory.
file NOME_FILE -> Identifica il tipo di file analizzandone il contenuto. Capita varie volte che l'estensione non rispecchi il contenuto.
filefrag NOME_FILE -> Mostra lo stato di frammentazione del file. Il metodo più veloce per deframmentare consiste nello spostare il file in un'altra partizione riportandolo poi al suo posto (a patto che sia presente un margine di spazio libero a sua volta non esageratamente frammentato).
find DIRECTORY ESPRESSIONE -> Trova i file con -name NOME_DA_CERCARE o con -size +1000, etc.
ln -s NOME_FILE LINK_DA_CREARE -> Crea un link simbolico al file.
ls -> Elenca i file (ls -la mostra un elenco dettagliato con file nascosti e link sbrogliati).
mc -> File manager pseudo-grafico più amichevole del semplice prompt.
mkdir NOME_DIRECTORY -> Crea directory.
mv PERCORSO/FILE/ORIGINALE PERCORSO/DI/DESTINAZIONE -> Sposta, rinomina o sovrascrive file. Se DESTINAZIONE è una cartella ORIGINALE ci va dentro.
rm NOME_FILE -> Rimuove i file (con l'opzione -R rimuove cartelle, sotto-cartelle e file).
split --bytes=DIMENSIONE FILE PREFISSO. -> Divide un file in parti della dimensione indicata (accetta il suffisso K per kilobyte, M per megabyte, ecc... ex: 1G = 1 gigabyte); i nomi dei file ottenuti sono PREFISSO.aa PREFISSO.ab ecc...
stat NOME_FILE -> Molte informazioni sul file, selezionabili con parametri; utile negli script.
touch NOME_FILE -> Crea il file (vuoto) o lo marca come appena modificato.
wget LINK_COMPLETO_DI_UN_FILE_IN_INTERNET -> Scarica il file nella directory corrente.

Torna all'indice.


Gestione permessi file

chgrp GRUPPO NOME_FILE_O_DIR -> Cambia l'utente proprietario del file (eseguibile solo da root o dall'attuale proprietario o da un membro del gruppo proprietario). -R ricorsivo (cartelle, sotto-cartelle e file).
chmod PERMESSI_OTTALI NOME_FILE -> Cambia i permessi del file.
Permessi ottali:

3 cifre: prima relativa al proprietario del file, seconda al gruppo proprietario, terza a qualsiasi utente.
Valori permessi: 4 = lettura, 2 = scrittura, 1 = eseguibile. Sommarli per combinarli.
Esempi comuni.
777 tutti possono fare tutto.
755 il proprietario può fare tutto, gli altri leggono o eseguono.
644 il proprietario può leggere e scrivere, gli altri leggono e basta.

chmod +x NOME_FILE -> Aggiunge il permesso di esecuzione per tutti (+r aggiunge lettura, +w scrittura, -x toglie esecuzione, ...). -R ricorsivo (cartelle, sotto-cartelle e file).
chown UTENTE\: NOME_FILE_O_DIR -> Cambia l'utente proprietario del file (eseguibile solo da root o dall'attuale proprietario). -R ricorsivo (cartelle, sotto-cartelle e file).

Torna all'indice.


File compressi

bunzip2 NOME_FILE.bz2 -> Decomprime file .bz2 (con l'opzione -k non viene cancellato il file originale)
gunzip NOME_FILE.gz -> Decomprime file .gz
tar f[c][x][t][a][z][j][J] FILE.tar.QUALCOSA -> (parentesi quadre = opzione per utilizzo specifico) Crea, eXtrae, mostra il conTenuto. a indovina il tipo di compressore dall'estensione, z per specificare .tar.gz, j per .tar.bz2, J per .tar.xz. Es: estrarre archivio tar xfa NOME_FILE.tar.bz2 (estrai in file un tar riconoscendo automaticamente il compressore).

Torna all'indice.


File di testo e monitoraggio log

> NOME_FILE -> Svuota il file: mantiene nome e diritti ma porta la dimensione a zero.
cat NOME_FILE -> Stampa a schermo il file (bzcat stampa file compressi in bzip2, zcat per gzip).
tac NOME_FILE -> Stampa a schermo il file invertendo l'ordine delle righe.
rev NOME_FILE -> Stampa a schermo il file al contrario.
nano NOME_FILE -> Semplice editor di file testo.
grep STRINGA_CERCATA NOME_FILE -> Stampa le righe del file che contengono la stringa (bzgrep cerca in file compressi in bzip2, zgrep in file gzip).
grep -r STRINGA_CERCATA /CARTELLA/IN/CUI/CERCARE/* -> Cerca ricorsivamente all'interno della cartella e stampa le righe e i nomi dei file che contengono la stringa.
head -NUMERO_RIGHE NOME_FILE -> Mostra le prime NUMERO_RIGHE del file.
less NOME_FILE -> Mostra il contenuto del file (bzless per consultare file compressi in bzip2, zless per gzip).
ls /PERCORSO/CARTELLA/ANALIZZATA/ -ltr | tail -> Elenca gli ultimi 10 file che hanno subito modifiche all'interno della cartella analizzata.
sed 's/VECCHIA_STRINGA/NUOVA_STRINGA/g' FILE > NUOVO_FILE -> Sostituisce tutte le occorrenze di VECCHIA_STRINGA contenute nel file con NUOVA_STRINGA, salvando il risultato in NUOVO_FILE. Consultare il manuale: sed può fare molto di più (la sintassi non è facilissima...).
tail -NUMERO_RIGHE NOME_FILE -> Mostra le ultime NUMERO_RIGHE del file.
tail -f NOME_FILE -> Mostra in tempo reale ciò che viene aggiunto al file.

Torna all'indice.


mount e pmount

/etc/fstab -> File in cui sono memorizzati tutti i parametri per il mount dei device NON rimovibili (incluso il cdrom che è una via di mezzo).
lsof +D DIRECTORY -> Elenca quali file contenuti nella directory sono aperti e da quale programma. Spesso utile per rintracciare cosa impedisce di smontare un volume.
mount -a -> Monta tutte le partizioni elencate in /etc/fstab che non abbiano opzione noauto.
Montare file immagine di CD/DVD/BR:

mount -t iso9660 -o loop NOME_FILE.iso /DIRECTORY/IN/CUI/MONTARE -> Per immagini ISO (http://it.wikipedia.org/wiki/ISO_9660). Montaggio in /DIRECTORY/IN/CUI/MONTARE. La directory DEVE essere creata prima.
mount -t udf -o loop NOME_FILE.iso /DIRECTORY/IN/CUI/MONTARE -> Vedi sopra, per immagini UDF (http://it.wikipedia.org/wiki/Universal_Disk_Format).

Montare una condivisione SAMBA (anche le condivisioni Windows):

mount -t cifs //IP.DEL.SERVER.SAMBA/CONDIVISIONE /DIRECTORY/IN/CUI/MONTARE -o username=UTENTESAMBA,password=PASSWORDSAMBA,uid=1000,gid=1000 -> Montaggio in /DIRECTORY/IN/CUI/MONTARE. La directory DEVE essere creata prima. UTENTESAMBA è l'utente Samba oppure, se si tratta di una condivisione Win, un utente Win che può accedere alla risorsa. uid e gid sono user id e group id dell'utente che deve poter accedere alla directory montata; sono due numeri che si possono ricavare, ad esempio, eseguendo il comando id con l'utente che ci interessa. Il primo utente con diritti bassi ha sempre 1000.

umount /DIRECTORY/DI/MONTAGGIO oppure umount /dev/DEVICE_MONTATO -> Rimuovere il mount dalla cartella/smontare il device.
Montare/smontare un filesystem NTFS in lettura e scrittura senza diritti root: (necessario aver installato ntfs-3g e pmount)

pmount -t ntfs-3g DEVICE_DA_MONTARE -> se si tratta di una penna USB si può vedere il device controllando dmesg. Es: pmount -t ntfs-3g sda1
pumount DEVICE_DA_SMONTARE -> Smontare il device montato con pmount.


Si tratta di esempi di utilizzo piuttosto comuni, vedere man mount per dettagli.
Torna all'indice.


apt: Advanced Package Tool

/etc/apt/sources.list -> Elenco dei repository da cui è possibile scaricare programmi.
/etc/apt/preferences -> Qui è impostata la versione del sistema da tenere sicronizzata con i repository. Si possono anche fare scelte mirate su singoli pacchetti.
/var/cache/apt/archives/ -> Contiene le copie locali dei .deb installati.
apt-cache search STRINGA -> Cerca pacchetti e descrizioni contenenti la stringa (con l'opzione --names-only cerca solo nei nomi).
apt-file list NOME_PACCHETTO -> Mostra il contenuto di un pacchetto.
apt-file search NOME_FILE -> Cerca quali pacchetti contengono il file.
apt-file update -> Scarica l'elenco aggiornato dei file contenuti nei pacchetti.
apt-get autoclean -> Libera spazio su disco cancellando le copie locali obsolete dei .deb installati.
apt-get build-dep NOME_PACCHETTO -> Installa le dipendenze di compilazione del pacchetto (necessario SOLO se si vuole compilare una propria versione di un pacchetto, funziona SOLO se il pacchetto è già nei repository).
apt-get clean -> Cancella tutte le copie locali dei pacchetti installati.
apt-get dist-upgrade -> Aggiorna i pacchetti installati; in caso di nuove dipendenze prende decisioni su quali pacchetti installare o rimuovere, cercando di non rimuovere i pacchetti installati manualmente. Spesso sceglie bene, ma è sempre meglio controllare con cura.
apt-get install NOME_PACCHETTO -> Installa il pacchetto.
apt-get remove NOME_PACCHETTO -> Rimuove il pacchetto.
apt-get update -> Aggiorna l'elenco dei pacchetti (da eseguire prima di aggiornare il sistema).
apt-get upgrade -> Aggiorna i pacchetti installati, ma solo in caso di semplici aumenti di versione. Tralascia pacchetti che hanno nuove dipendenze.
aptitude -> Robusta interfaccia a dpkg. Se apt si rifiuta di correggere problemi aptitude potrebbe risolvere.

Torna all'indice.


Rimozione dipendenze obsolete.

deborphan -> Cacciatore di pacchetti da cui non dipende più nulla, residui di software provati o dipendenze obsolete.
dpkg -P $(deborphan) -> Rimuove tutto ciò che viene elencato da deborphan (da ripetere finché non da errore dicendo di specificare almeno un nome).

Torna all'indice.


dpkg: Debian PacKaGe

Operazioni su pacchetti MEMORIZZATI LOCALMENTE

dpkg --info PACCHETTO.deb -> Mostra informazioni sul pacchetto.
dpkg --contents PACCHETTO.deb -> Mostra il contenuto del pacchetto.
dpkg --install PACCHETTO.deb -> Installa il pacchetto indicato.
dpkg --purge PACCHETTO.deb -> Rimuove il pacchetto, inclusi i file di configurazione.
dpkg --force-QUALCOSA PACCHETTO.deb -> Se dpkg si rifiuta a tutti i costi di fare qualcosa che dobbiamo assolutamente fare e siamo sufficientemente certi che questa cosa non possa fare danni, si può imporre l'esecuzione. Le opzioni possibili sono molte (vedere man dpkg), se si ha fretta e non si teme il rischio si può usare un immediato --force-all.

dpkg --get-selections > NOME_FILE -> Scrive, su file, tutti i pacchetti installati nel sistema.
dpkg --set-selections < NOME_FILE && aptitude install -> Seleziona e installa tutti i pacchetti memorizzati precedentemente in NOME_FILE con --get-selections.

Torna all'indice.


Rete

ethtool INTERFACCIA -> Fornisce informazioni utili sullo stato dell'interfaccia di rete: velocità/speed (10Mb/s, 100Mb/s o 1000Mb/s), duplex, cavo riconosciuto/link detected. Con il parametro -i vengono forniti driver in uso, versione ed informazioni sul firmware.
ifconfig INTERFACCIA INDIRIZZO.IP.PER.INTERFACCIA up -> Configura le interfacce di rete NON WIRELESS (Es: ifconfig eth0 192.168.0.1 up).
iwconfig INTERFACCIA - Configura le interfacce wireless -> vedere man per dettagli.
/etc/network/ -> File di configurazione della rete, i più importanti: interfaces e options.
ifup INTERFACCIA, ifdown interfaccia -> Attiva, disattiva una interfaccia (es: eth0, sit0, ecc...), in accordo con i file precedenti.
route add default gw INDIRIZZO.IP.DEL.GATEWAY -> Imposta il gateway per il sistema. L'IP INSERITO NON É STATICO, si perde riconfigurando l'interfaccia a cui è riferito.
ssh UTENTE@IP_O_NOME_COMPUTER -p PORTA -> Esegui un login ssh su un’altra macchina (tralasciare -p PORTA se è quella di default). Con ssh si possono anche creare tunnel (opzioni -L o -R), fare "remote desktop" (-X), salvare gattini dagli alberi...
scp files UTENTE@IP_O_NOME_COMPUTER:FILE -> Copia file su un’altra macchina (con il protocollo criptato ssh).
iptables -nvL -> Veloce (in termini di tempo) riepilogo delle regole di firewalling attive.

Torna all'indice.


Aiuto!

man COMANDO_O_FILE_DI_CONFIGURAZIONE -> Mostra una guida per il comando o il file.
apropos PAROLA_CHIAVE -> Ricerca nel titolo e nella descrizione delle pagine man la PAROLA_CHIAVE.
COMANDO --help -> Help contenuto NEL comando.
/usr/share/doc/NOME_PACCHETTO -> Documentazione del pacchetto, README.Debian è specifico per Debian.

Torna all'indice.


Approfondimenti/risorse simili

Italiano

Appunti di informatica libera (https://archive.org/details/AppuntiDiInformaticaLibera)
Guida avanzata di scripting Bash (http://www.pluto.it/files/ildp/guide/abs/index.html)

Inglese

The Linux Documentation Project (http://tldp.org/)
LinuxCommand.org (http://gd.tuwien.ac.at/linuxcommand.org/index.php)



Bene, siete riusciti ad arrivare fino in fondo? Se ancora non siete stanchi vi consiglio di dare un'occhiata ai post successivi, qua e là ci sono alcune cose interessanti che ho preferito non aggiungere qui perché più complesse/meno utilizzate.
Se avete già in mano il cd di XP posso dirvi che non è indispensabile sapere a memoria tutte queste cose per utilizzare GNU/Linux, si tratta in buona parte di scorciatoie molto veloci (e sempre uguali) rispetto ad "ora vado ad aprire quella finestra...ok, apro questo menù...ma dov'era!?".

Il contenuto di questo post è rilasciato con licenza Creative Commons Attribution-Noncommercial-Share Alike 2.5 (http://creativecommons.org/licenses/by-nc-sa/2.5/it/)

commodoro
31-01-2008, 09:28
ciao,

oltre a less c'è anche more che mostra il contenuto di un file.

poi con ps -1 si ha la lista di tutti i processi in exec

kill -9 PID consente di terminare il processo con quel PID, dove PID è il Process IDentificator ed è possibile vederlo col comando ps

infine per i permessi si possono utilizzare anche le lettere.
esempio chmod +x file aggiunge al file il permesso di essere eseguito
+r file aggiunge al file il permesso di essere letto
+w file aggiunge al file il permesso di essere scritto.

cercherò anch'io di darti una mano:D

Gimli[2BV!2B]
31-01-2008, 20:52
Suggerimenti accolti, grazie!

Inserite precisazioni e completata la formattazione.

BlSabbatH
01-02-2008, 20:34
# Tab -> Completamento automatico. Il tasto che si consuma di più...
questo tasto l'ho scoperto solo qualche mese fa.. dopo 2 anni e mezzo!!!:muro:

Gimli[2BV!2B]
01-02-2008, 21:46
C'è un motivo se l'ho messo proprio all'inizio, insieme alle altre che considero utili!

Intanto che siamo in argomento segnalo anche che de-commentando due righe in /etc/inputrc è possibile attivare altri due tasti dei quali non posso più fare a meno (questa cosa mi pare di averla scoperta proprio dal Pollycoke che ho linkato per introdurre all'uso di tab e completamento automatico).
# alternate mappings for "page up" and "page down" to search the history
"\e[5~": history-search-backward
"\e[6~": history-search-forward
In questo modo si possono consumare adeguatamente anche Pag su e Pag giù trasformandoli in strumenti per completare i comandi ripescandoli nel file .bash_history in cui rimangono per un po'.

Esempio:
fake[Pag su] nel mio caso diventa al volo:
fakeroot make-kpkg --append-to-version -gimli --revision=1 kernel_image && fakeroot make-kpkg --append-to-version -gimli --revision=1 kernel_headers

Mi è piuttosto comodo... per migliorare la cosa si può allungare un po' lo storico dei comandi.
Per farlo si deve modificare .bashrc nella home o /etc/bash.bashrc per applicarlo a tutti gli utenti. Ecco la modifica:
# a BIGGER history
export HISTSIZE=5000
con questo si salvano gli ultimi 5000 comandi... in 1 anno nel mio pc senza X ho raggiunto quota 3314.

Ora valuto se aggiungere nella guida almeno un link che spieghi questo utile miglioramento di bash...

iron84
06-02-2008, 18:54
Ottimo!. Diverse cose non le sapevo.
Metterei anche: ps aux | grep nome_processo
per poter sapere il PID da dare in pasto a kill -9 PID.

Ancora una cosa: come fare a scrivere la "tilda" per coloro che non ce l'hanno sulla tastiera?

Gimli[2BV!2B]
06-02-2008, 19:56
Suggerimenti accolti! Non ho proprio pensato alla ~...!

Ho sostituito anche ps -e con ps aux visto che è effettivamente la dicitura più mnemonica.

Per restare in argomento combinazioni di tasti segnalo questa perla: tutte le combinazioni di tasti della tastiera italiana Linux standard (offerta da Giorgio Polvara). (http://elubuntu.blogspot.com/2009/05/inserire-caratteri-unicode.html)
Per me è stata una piacevolissima sorpresa scoprire come sia semplice ricavare tutti i caratteri immaginabili (come ş Ú ă ü ⅜ â ñ... altro che ALT 126).

sandman972
07-02-2008, 08:48
Ancora una cosa: come fare a scrivere la "tilda" per coloro che non ce l'hanno sulla tastiera?

La tilda non si ottiene piu rapidamente anche semplicemente premendo il tasto F11 o F12? Perchè mi pare di ricordare che Linux assegni il valore della tilda a tutti i tasti di cui non riconosce il comando...:)

sandman972
07-02-2008, 08:52
Altro comando rapido che ho imparato ieri l'altro, se digiti "cd -" ti riporta nella directory dove eri prima di spostarti nella attuale...non so se possa essere utile.:)

psimem
07-02-2008, 09:30
Ottima idea e realizzazione, complimenti!

commodoro
07-02-2008, 14:22
pstree [opzioni] [PID|utente] --->Visualizza i processi in una struttura ad albero

comando < nome_file --->Per la ridirezione dello standard input tramite la shell si usa il simbolo “<”

Caldwell83
07-02-2008, 15:52
head -numero_righe <nome_file> e tail -numero_righe <nome_file>

Il primo visualizza le prime n righe di un file, il secondo le ultime n, senza parametri le prime/ultime 10.

Il comando tail -f <nome_file> e' perfetto per controllare i file di log mentre vengono generati dai programmi.

Una combinazione che uso spessissimo è:

ls -ltr | tail

Per visualizzare gli ultimi 10 file creati/modificati in ordine ti tempo.

Gimli[2BV!2B]
07-02-2008, 20:22
Grazie dei commenti, molto azzeccati!

Aggiunti gli FXX ed il cd - di sandman972, l'interessante pstree di commodoro (ora vedo se le redirezioni necessitano di precisazioni) ed i vari comandi di monitoraggio dei files di Caldwell83, che si sono meritati una sezione ad hoc.

Come avrete notato cerco di mantenere la massima semplicità, illustrando solo le opzioni che considero più importanti. In ogni caso, una volta conosciuto un comando, un buon man foo può dare tutte le informazioni necessarie.

vizzz
07-02-2008, 20:54
allora vi segnalo un perla di comando:

!nomecomando

richiama il comando con i parametri passati l'ultima volta usato.
ormai non riesco a vivere senza :D

Gimli[2BV!2B]
07-02-2008, 21:27
Semplicemente strepitoso!

Ottimo vizzz! Nuova sezioncina apposita.

iron84
07-02-2008, 23:34
allora vi segnalo un perla di comando:

!nomecomando

richiama il comando con i parametri passati l'ultima volta usato.
ormai non riesco a vivere senza :D

Cioè se io ho dato il comando ls -a.
Poi digito !ls, è come se scrivessi ls -a (ultimo comando con parametri)?

vizzz
07-02-2008, 23:39
Cioè se io ho dato il comando ls -a.
Poi digito !ls, è come se scrivessi ls -a (ultimo comando con parametri)?

esatto :D

Gimli[2BV!2B]
07-02-2008, 23:42
Vizzz m'hai bruciato sul tempo!

[...]

Non è male, anche se su i pc che posso impostare come voglio mi è più comodo usare le Pag su/giù a cui ho accennato sopra (http://www.hwupgrade.it/forum/showpost.php?p=20878021&postcount=5).

Mi sarà utile quando dovrò metter mano su qualche nuovo pc.

vizzz
07-02-2008, 23:56
altra chicca:

ctrl + r

andrea@caladan:~$
(reverse-i-search)`df': df -h

Gimli[2BV!2B]
08-02-2008, 00:04
Cavolo ma questa cerca corrispondenze all'interno di tutte le stringhe nella storia di bash!

Questa davvero non immaginavo proprio potesse esistere...

Perfetto: se continui a premere Ctrl r scorre tutte le corrispondenze che trova. Molto utile.

Caldwell83
08-02-2008, 09:30
Me ne sono venuti in mente altri:

cat nome_file
stampa a video il contenuto del file
sed 's/vecchia_stringa/nuova_stringa/g' file_orig > file dest
Sostituisce a 'vecchia_stringa' con 'nuova_stringa' e il risultato lo scrive dentro file_dest
Questo comando è molto piu' complesso di cosi', questo è il suo uso piu' semplice. Nelle stringhe da sostituire si possono inserire tante combinazioni, tipo "tutte le righe che iniziano con.." etc..
Io so usare solo questa semplice :fagiano:.

cut -c1-10,15-20 file_orig > file_dest
Taglia dal file_orig le colonne dalla 1 alla 10, dalla 15 alla 20 e le mette in file_dest.
Anche questo comando è molto piu' complesso.
Invece di indicare le colonne, si puo' indicare il numero del campo(dove i campi sono separati da un carattere specifico da indicare).

env
Questo non sono sicuro se esista sotto linux.
Elenca tutte le variabili d'ambiente e il loro valore.

echo $nome_varibile
stampa il valore della variabile.

P.S. Complenti vivissimi per l'idea e per la realizzazione! :)

Gimli[2BV!2B]
08-02-2008, 19:35
Ho aggiunto i principali comandi per la gestione delle variabili d'ambiente, cat c'è già nella sua forma più smagliante.

Per quanto riguarda sed e cut non posso negare che siano molto utili, ma un utente medio li usa raramente ed hanno una sintassi particolare... ora ci penso un attimo, ma credo che siano estranei allo spirito introduttivo che volevo dare a questa raccolta. Forse li citerò solamente...

Grazie a tutti per l'interesse dimostrato!

Caldwell83
09-02-2008, 10:23
Hai ragione, non ci avevo pensato ;) .

commodoro
09-02-2008, 21:06
nice [-n variazione] [comando]

Il comando nice serve ad assegnare un valore di nice al
processo al momento dell’esecuzione

renice priorità PID

Questo comando modifica il valore di nice di un processo in
esecuzione
Il processo assumerà un valore di nice pari al valore priorità

ps u -->Vediamo i parametri dell’utilizzo di memoria da parte dei
processi
• mostra le dimensioni della RAM utilizzata effettivamente (RSS)
• la percentuale utilizzata su quella totale (%MEM)
• la memoria virtuale utilizzata dal processo (VSZ):
vm_lib+vm_exe+vm_data+vm_stack
(vm_lib è lo spazio di memoria virtuale che occupano le librerie,
mentre vm_exe è quello occupato dall’eseguibile)

pmap –x PID:
• vediamo le dimensioni dei utilizzati dal processo (es. le librerie)
• lo stack
• il processo relativo
• il totale
Il comando pmap restituisce un mapping della memoria
utilizzata da un processo

vmstat -a per visualizzare quantità di memoria attiva e inattiva
" -m per visualizzare le dimensioni delle pagin
Il comando vmstat visualizza statistiche relative alla memoria
virtuale

Per sapere come saranno i permessi alla creazione di un file,
utilizziamo il comando umask:
• umask [-S] per conoscere quelli attuali
• umask permessi per modificarli

last [username]
Consente di avere informazioni sugli ultimi accessi di un
determinato utente o, in assenza di username, di tutti gli ultimi
accessi.

Per formattare un disco rimovibile si usa il comando fdformat:
• fdformat [-n] dispositivo
• con l’opzione –n non effettua il controllo alla fine
• fdformat /dev/fd0
• formatta il floppy
Il comando badblocks serve ad effettuare una ricerca dei blocchi
difettosi:
• badblocks [opzioni] dispositivo [fine] [inizio]

Per effettuare il mount di un file system si utilizza il comando
mount:
• mount [opzioni] [dispositivo] [directory]
Tra le opzioni:
• -a per montare tutti i file system in /etc/fstab (ad eccezione di
quelli con opzione noauto)
• -t tipo_filesystem per specificare il tipo
• -o opzioni_speciali per specificare speciali opzioni
Esempio: montare un floppy nella directory /mnt
• mount /dev/fd0 /mnt
Esempio: montare un cdrom nella directory /cdrom
• mount /dev/cdrom /cdrom

Alla fine bisogna smontare il file system col comando umount:
• umount [opzioni] [dispositivo] [directory]
• valgono le opzioni -a e –t del comando mount

Il comando df elenca lo spazio libero delle partizioni:
• df [opzioni] [dispositivo]
Tra le opzioni:
• -i per sapere gli i-node liberi
• -h per specificare l’unità di misura

come sempre prendi in considerazione quelli che possono essere più utili:D

Gimli[2BV!2B]
10-02-2008, 17:19
Eh, Commodoro, i tuoi sono comandi pesantucci!

Ok per df, mount e umount (c'è l'esempio ISO, ho aggiunto l'umount e pmount)
pmap e ps u implicano un minimo di conoscenza della gestione della memoria, altrimenti sono solo numerini...
Anche nice/renice deve essere utilizzato con criterio, altrimenti si rischiano conseguenze fastidiose o effetti nulli.
last per un utente singolo sul suo pc non ha molto significato...
Anche il floppy disc non mi sento di aggiungerlo, è passato molto tempo da quando ne ho usato uno ed anche di più da quando ho visto qualcuno usarlo...

Grazie ancora!

Ho fatto un'ultima modifica della struttura: ora è tutto diviso in sezioni il più possibile omogenee.

commodoro
10-02-2008, 20:53
;21017473']Eh, Commodoro, i tuoi sono comandi pesantucci!

Grazie ancora!

beh, si, in effetti sono da utilizzare con cautela e con un pò di buon senso, poichè ho molti appunti e dispense riguardo a questi comandi, ho cercato di mettere, tolti quelli da te già citati, quelli che mi avanzavano.:sofico:

cmq, l'importante che ce ne sia stato qualcuno di utile per tutti.
poi se ti dovesse servire ancora aiuto, non esitare a chiamarmi in campo!:D

psimem
11-02-2008, 17:59
Dunque non so se puo' servire ma io la sera quando guardo un film sul pc (dal letto) lo trovo di una comodita' incredibile :D :
shutdown -P hh:mm
per spegnere il sistema ad una determinata ora (dato da root)

edit: ho visto adesso gli ultimi comandi postati :eek: sembrano proprio il mio :asd:

Gimli[2BV!2B]
11-02-2008, 19:39
Ok psimem, comando simpatico che introduce le potenzialità di shutdown: aggiunto.

commodoro
11-02-2008, 21:01
shutdown -P hh:mm
per spegnere il sistema ad una determinata ora (dato da root)


davvero bello questo psimem!comply:D :sofico:

gianlucab70
11-02-2008, 22:31
Creare un floppy di avvio SO

Premessa: oggi non esistono quasi più pc-notebook con drive Floppy.
Quindi molto probabilmente si dovranno usare slot esterni via usb (come nel mio caso).

Controllare dove è situato il dispositivo
nel mio è in
/dev/sda

Creare un Hard-link a tale dispositivo nominandolo fd0 (questo perchè grub non riconosce gli sda. E' proprio questa la chiave di lettura. Ho visto tantissime guide ma nessuna che facesse riferimento a questo particolare!....senza non funziona!).-
sudo ln /dev/sda fd0

Formattare il floppy con fdformat. (a me purtroppo non funziona!) vado oltre.
Creo un fs msdos
sudo mkfs.msdos -I /dev/fd0
sudo mkdir /mnt/floppy
sudo mount -t msdos /dev/fd0 /mnt/floppy/
sudo cp -R /media/hda1/boot/grub/ /mnt/floppy/ (sto copiando da un'altra partizione)
cd /dev

Apro un'altra shell
sudo grub
root (fd0) (da notare i due spazi dopo root!)
setup (fd0)
quit

sudo umount /dev/fd0
sudo rm -R /mnt/floppy/

ciao a tutti
:D

vizzz
12-02-2008, 08:48
;21036065']Ok psimem, comando simpatico che introduce le potenzialità di shutdown: aggiunto.

questa opzione di shutdown mi ha fatto venire in mente il comando at, che a differenza del solito cron permette di schedulare da console un evento


andrea@caldan:~$ at -f script.sh -v 9:42
Tue Feb 12 09:42:00 2008

warning: commands will be executed using /bin/sh
job 2 at Tue Feb 12 09:42:00 2008
andrea@caldan:~$ atq
2 Tue Feb 12 09:42:00 2008 a andrea
andrea@caldan:~$ atrm 2


atq lista tutti i job pendenti
atrm cancella il job con l'id passato come parametro

Gimli[2BV!2B]
12-02-2008, 20:24
gianlucab70 addirittura una piccola guida? É un po' estranea al post originale ma può servire.

Grazie vizzz, aggiunto il trittico per pianificare i processi!

witek
12-02-2008, 21:01
Ciao, ottimo thread...
Nella sezione gestione file manca mitico Midinight commander ovvero mc niente di meglio per gestire files e directory da shell:D :)

Gimli[2BV!2B]
12-02-2008, 21:11
É vero mc! Grazie witek!

Un gestore di file pseudografico può piacere a molti, rispetto allo schermo nero... personalmente non mi sono mai abituato ad usarlo...

Caldwell83
13-02-2008, 13:27
Comando per console grafica:
xkill
Permette di killare con un click la finestra che si seleziona.

Scoperchiatore
13-02-2008, 14:54
Questo thread va segnalato!

In primo luogo, tutti i comandi in prima pagina, sono aggiornati?

Vorrei chiedere ai moderatori di mettere tutte queste belle info in evidenza, e NON nella sezione niubbi, perchè nun me dite che il Ctrl+R in bash lo conoscono tutti!! :D

Ottimo lavoro, comunque, io me lo stampo assolutamente !! :cool:
Se dovesse servire, potrei dare una mano per qualunque attività di integrazione di proposte fatte da altri o aggiunta di altre "chicche". :) (al limite, mandate PvT)

Gimli[2BV!2B]
13-02-2008, 19:31
Ciao Scoperchiatore!

Sì, il post lo tengo aggiornato, se vuoi contribuire fai pure!
Per adesso ho semplicemente aggiornato con parte delle aggiunte che mi segnalavano via post.

Per la possibilità di metterlo in evidenza mi farebbe piacere, credo che ormai abbia raggiunto una forma abbastanza definitiva e non vorrei esagerare con le aggiunte altrimenti diventerebbe spaventoso ed inconsultabile... fatemi sapere...

l'xkill di Caldwell83 potrebbe starci (anche se fino ad ora tutti i comandi erano tutti per console pura), dopo cena vedo se fare una sezioncina riguardante l'interazione tra console e X.

iron84
13-02-2008, 20:11
xkill è utile perchè per un utente alle prime armi è un comando facile per fermare una applicazione inchiodata.

Gimli[2BV!2B]
13-02-2008, 20:52
Aggiunto! Accompagnato nella sua sezioncina con gtk/kdesu/sudo.

psimem
25-02-2008, 10:16
Avrei una domanda: per vedere quanta ram occupa un processo in esecuzione che comando serve?

commodoro
25-02-2008, 14:35
forse questo fa al caso tuo.....:D


ps u -->Vediamo i parametri dell’utilizzo di memoria da parte dei
processi
• mostra le dimensioni della RAM utilizzata effettivamente (RSS)
• la percentuale utilizzata su quella totale (%MEM)
• la memoria virtuale utilizzata dal processo (VSZ):
vm_lib+vm_exe+vm_data+vm_stack
(vm_lib è lo spazio di memoria virtuale che occupano le librerie,
mentre vm_exe è quello occupato dall’eseguibile)

a te dovrebbe interessare il campo RSS!:cool:

psimem
25-02-2008, 15:12
Grazie ma forse mi sono espresso male io :stordita:
Intendevo sapere ad esempio quanta ram occupa Amarok una volta lanciato

Gimli[2BV!2B]
26-02-2008, 00:57
Linea di comando specifica:
ps -FC NOME_PROCESSOQuel che ti interessa dovrebbe essere l'RSS (come già affermato da commodoro).

Problema: il proceso di Amarok non si chiama amarok ma amarokapp. Questa mancata corrispondenza tra il nome del programma ed il processo vale per molti altri programmi grafici. Altro esempio: Firefox/Iceweasel=firefox-bin.

Sfruttando il fatto che di solito il nome del processo contiene quello del programma si può usareps aux | grep NOME_PROGRAMMAIn questo caso verrà tagliata la legenda delle colonne, ma RSS è sempre la sesta da sinistra.

Oppure si deve interrogare ps utilizzando l'opzione del PID del processo (ps -Fp PID), ma il PID o lo si conosce in partenza (processi figli o script o altro), oppure si può ricavare velocemente con ps aux | grep NOME_PROCESSO...

psimem
26-02-2008, 07:16
@commodoro / Gimli[2BV!2B] :ave: ;)

quindi se:

psimem@psimem-desktop:~$ ps aux | grep firefox
psimem 25308 0.0 0.0 1752 524 pts/0 S 08:10 0:00 /bin/sh /usr/bin/firefox
psimem 25320 0.0 0.0 1756 532 pts/0 S 08:10 0:00 /bin/sh /usr/lib/firefox/run-mozilla.sh /usr/lib/firefox/firefox-bin
psimem 25324 11.7 4.4 210592 86440 pts/0 Sl 08:10 1:49 /usr/lib/firefox/firefox-bin
psimem 25822 0.0 0.0 2988 772 pts/0 S+ 08:26 0:00 grep firefox

significa che Firefox mi occupa 21M di ram?

Gimli[2BV!2B]
26-02-2008, 19:13
No, è la sesta colonna: 86440, circa 84MB...
210592 è la memoria virtuale, tutta quella "prenotata" dal processo (circa 205MB).

Come si sa Firefox 2 tende ad abbondare in memoria (il mio, aperto da meno di un'ora, ha già raggiunto i 95MB)...

psimem
27-02-2008, 06:42
Grazie chiarissimo: proprio cio' che mi serviva ;)
Il mio di Firefox aperto da 15min con una sola scheda aperta pesa 65MB pero' ho un paio di estensioni caricate che penso siano abbastanza pesantucce

frizzo28
28-02-2008, 17:20
Ottima guida aggiunta ai preferiti...

uname -r ----> Visualizza la versione del kernel il uso

Gimli[2BV!2B]
28-02-2008, 19:47
Giusto, uname, non ci ho proprio pensato, grazie frizzo28!

DeusEx
29-02-2008, 14:51
;20845598']kill -9 PID_PROCESSO_DA_TERMINARE -> Termina UN processo specifico, occorre ricavarne il pid con ps o top o altro.

qui c'è un'imprecisione: kill -9 PID_PROCESSO "uccide" il processo (che risulterà chiuso in modo anomalo, utile nel caso in cui il processo si è bloccato);
kill -15 PID_PROCESSO "termina" il processo in maniera corretta (se non è bloccato).

più in generale kill invia "segnali" ai processi;

il "-9" indica "ucciditi senza aspettare di finire quello che stai facendo", il "-15" invece "termina appena hai finito quello che stai facendo e salva quello che devi salvare".
Lo dico perchè in certe situazioni fà differenza usare l'uno o l'altro, e se il processo non è bloccato conviene sempre usare il "-15". :)

iron84
29-02-2008, 17:10
qui c'è un'imprecisione: kill -9 PID_PROCESSO "uccide" il processo (che risulterà chiuso in modo anomalo, utile nel caso in cui il processo si è bloccato);
kill -15 PID_PROCESSO "termina" il processo in maniera corretta (se non è bloccato).

più in generale kill invia "segnali" ai processi;

il "-9" indica "ucciditi senza aspettare di finire quello che stai facendo", il "-15" invece "termina appena hai finito quello che stai facendo e salva quello che devi salvare".
Lo dico perchè in certe situazioni fà differenza usare l'uno o l'altro, e se il processo non è bloccato conviene sempre usare il "-15". :)

Grazie, non sapevo la differenza.

Gimli[2BV!2B]
29-02-2008, 19:21
Hai ragione DeusEx! Ora sistemo.

Mi chiedo se ci può stare bene un'introduzione ai segnali... ora ci penso.

DeusEx
29-02-2008, 20:09
;21335710']Hai ragione DeusEx! Ora sistemo.

Mi chiedo se ci può stare bene un'introduzione ai segnali... ora ci penso.
potresti aggiungere "fdisk -l" per vedere le partizioni e i nomi dei dispositivi associati:
è utile per sapere il nome del dispositivo associato ad una certa partizione che poi si vuole montare con mount ( "mount /dev/sdXX /Directory_in_cui_montare") o direttamente con fstab

cmq bel lavoro!;)

Gimli[2BV!2B]
29-02-2008, 20:21
Grazie, ma devo dire che alla fine ce ne sono molte altre simili in giro...

Cerco solo di segnalare ciò di cui ho potuto provare l'utilità e di non trasformarlo un un inutile elenco (anche se ormai son varie pagine...).

Devo dire che sono stupito... un migliaio di visite! (Anche se probabilmente in molti sono fuggiti terrorizzati!)

vizzz
29-02-2008, 21:15
cercando di debuggare un software mi è venuto in soccorso un'opzione di grep veramente utile

"grep -r" oppure "rgrep"
che ricerca ricorsivamente una stringa a partire dalla posizione corrente in tutte le sottocartelle

rgrep stringa_da_cercare *

Gimli[2BV!2B]
29-02-2008, 21:56
Ottima vizzz!

Credo che sia molto più semplice raccogliere i comandi che non servono a nulla (da apt-get moo, ad aptitude -v moo, aptitude -vv moo... passando per yes e cowsay...).

amd-novello
03-03-2008, 00:52
;21319873']Giusto, uname, non ci ho proprio pensato, grazie frizzo28!


molto meglio
uname -a

che mostra tutte le opzioni di uname senza star li a specificarle.

poi utile anche se non si ricorda la distribuzione installata

cat /etc/issue ------------------ normale e limitato
lsb_release -a -----------------con il nome in codice tipo feisty etc.

Gimli[2BV!2B]
03-03-2008, 19:36
Ci sta amd-novello, metterò un riferimento alla -a perché permette di avere una panoramica dei dati disponibili.

lsb_release fornisce informazioni che non hanno un uso molto pratico, non è nemmeno installato di default su alcune distribuzioni... ora vedo se trovo un posto che si possa addire ad /etc/issue.

amd-novello
03-03-2008, 20:10
;21375124']Ci sta amd-novello, metterò un riferimento alla -a perché permette di avere una panoramica dei dati disponibili.

lsb_release fornisce informazioni che non hanno un uso molto pratico, non è nemmeno installato di default su alcune distribuzioni... ora vedo se trovo un posto che si possa addire ad /etc/issue.


per me è importantissimo perchè ameno di scriverlo sul muro non ricordo mai la versione di ubuntu che ho ma puo' essere un problema mio :D

jeremy.83
25-03-2008, 19:56
Non so se è il thread giusto, ma provo a metterlo qui.

Ultimamente ho avuto problemi nell'aggiornare la mia Debian Sid, a causa di un errore nel pacchetto "libdjvulibre". Per sistemare ho scovato questo workaround:

dpkg --force-overwrite -i /var/cache/apt/archives/pacchettonuovo.deb

Più che altro per segnalare un opzione di dpkg non particolarmente immediata e anche per uppare questa discussione che trovo utilissima e molto interessante (che metterei in rilievo ;) ).

Ciao.

Gimli[2BV!2B]
25-03-2008, 20:48
Anch'io mi son trovato già tre volte con quel problema, ho risolto disinstallando il pacchetto vecchio con dpkg -P libdjvulibre15, poi la libdjvulibre21 andava su liscia.

Metterò un riferimento a --force-things perché qualche volta sono l'ultima spiaggia, ma considero quelle opzioni potenzialmente pericolose (credo di aver reso l'idea)...

Grazie del contributo, jeremy.83!

greeneye
25-03-2008, 21:11
io aggiungerei:

!!

riesegue l'ultimo comando

uso comune

sudo !!

riesegue l'ultimo comando con i privilegi di root (per semplicità)

apt-get upgrade
sudo !!

Gimli[2BV!2B]
25-03-2008, 21:47
Pure due punti esclamativi! Anche questo non lo sapevo...
Effettivamente per gli ubuntuisti può tornare spesso utile, personalmente scordo sudo 3 volte su 2 quando ho a che fare con *buntu :rolleyes: ...

Grazie greeneye!

jeremy.83
25-03-2008, 22:10
;21719936']Anch'io mi son trovato gi� tre volte con quel problema, ho risolto disinstallando il pacchetto vecchio con dpkg -P libdjvulibre15, poi la libdjvulibre21 andava su liscia.

Metter� un riferimento a --force-things perch� qualche volta sono l'ultima spiaggia, ma considero quelle opzioni potenzialmente pericolose (credo di aver reso l'idea)...

Grazie del contributo, jeremy.83!

Prego.;)
E' vero c'era anche quell'altro workaround, ma a me non funzionava perciò sono ricorso alle maniere forti :D !

Ciao

frizzo28
25-04-2008, 10:37
Collegarsi ad una cartella condivisa su windows (o comunque condivisa con samba):
sudo mount -t smbfs //[IP del server]/[nome cartella] /[cartella dove volete montare] -o username=xxxx,password=xxxx,dmask=777,fmask=777,iocharset=utf

Gimli[2BV!2B]
25-04-2008, 18:46
Ci sto frizzo28!
Effettivamente faccio un mount del genere almeno una volta al mese.

Aggiunto (ho ridotto all'osso i parametri, in caso di particolari necessità si deve consultare il man di mount).

gianlucab70
24-05-2008, 22:10
Linux offre la possibilità, che stranamente è però poco conosciuta. Si
tratta dei così detti tasti di emergenza.
Vanno usati proprio nel caso in cui il sistema si blocchi senza possibilità
(apparente) di poter fare qualcosa, né tanto meno di accedere ad una
qualsiasi console.

Ecco la sequenza di tasti che può salvare il nostro disco:
1. ALT+Stamp+r
2. ALT+Stamp+s
3. ALT+Stamp+e
4. ALT+Stamp+i
5. ALT+Stamp+u
6. ALT+Stamp+b
Regole:
• La sequenza deve essere eseguita esattamente nell’ordine dato (la
prima significa premere contemporaneamente il tasto ALT, il tasto
Stamp e il tasto r, e così via, dove il tasto ALT è quello di sinistra).

• Tra un passo e l’altro lasciare almeno 5...6 secondi di tempo per la
reazione del sistema.
• Fatto il passo 5, se incerti sul risultato ottenuto, ripetere due o tre
volte dall’inizio l’intera sequenza (lasciando più tempo tra l’uno e
l’altro passo e fermandosi sempre al quinto).
• Proseguire l’ultima fino alla sesta sequenza. Il sistema dovrebbe
spegnersi. Se ciò non succede ripetere il tutto lasciando ancora più
tempo tra un passo e l’altro. Se ancora non succede niente, ...beh
allora siete davvero sfigati!
Nella stragrande maggioranza dei casi, comunque, la sequenza funziona
e il sistema si spegne senza alcun pericolo per il vostro hard disk.


Personalmente l'ho provata su un vecchio pc e non ha funzionato.
Sul pc nuovo, invece è si.

;) :)

ps. da aggiungere in testa la 3D. Serve a salvare molti hw e......portafogli.!!!

iron84
24-05-2008, 22:25
L'ordine corretto è:

1. ALT+Stamp+r
2. ALT+Stamp+e
3. ALT+Stamp+i
4. ALT+Stamp+s
5. ALT+Stamp+u
6. ALT+Stamp+b

Perchè funzioni deve essere stato compilato il kernel in maniera apposità (ormai quasi tutti i kernel hanno questa funzione attivata).

Gimli[2BV!2B]
24-05-2008, 22:26
Giusto, non ci avevo proprio pensato, anche se ogni tanto le uso.

Dopotutto Raising Elephants Is So Utterly Boring (no, non sono impazzito, è la filastrocca inglese per ricordare i tasti).

Grazie gianlucab70! Ora provvedo.

Come suggerito da iron84 ho appuntato che la loro disponibilità dipende dalla loro attivazione nel kernel, e che non tutti desiderano che siano disponibili.

gianlucab70
24-05-2008, 23:29
L'ordine corretto è:

1. ALT+Stamp+r
2. ALT+Stamp+e
3. ALT+Stamp+i
4. ALT+Stamp+s
5. ALT+Stamp+u
6. ALT+Stamp+b

Perchè funzioni deve essere stato compilato il kernel in maniera apposità (ormai quasi tutti i kernel hanno questa funzione attivata).



La fonte è questa: http://mcz.altervista.org/Pagine/LCP.pdf.html

Ripeto. L'ho provata nell'ordine che ho scritto, con Ubuntu 8.04 sul pc in firma.

imho. probabilmente può funzionare anche nell'ordine che tu citi. ;)

Gimli[2BV!2B]
03-09-2008, 20:59
Rilettura e breve aggiornamento.

apropos (grazie Debian-administration (www.debian-administration.org)! Avevo dimenticato questo utile francesismo!)
which
free
Ctrl d
Ctrl t (Aptitude)
iptables -nvL
Più alcune correzioni di formattazione e chiarimenti...

amd-novello
04-09-2008, 21:34
top

visualizza i processi con il consumo di ram per ognuno e le memorie libere in generale

ctrl + alt (o shift?) + backspace riavvia il sistema x. utile per attivare modifiche senza riavviare tutta la macchina

se si vuole far apparire uno dei 7 terminali sempre attivi in linux da X si preme ctrl + alt + f1. quando si è in modalità terminale premendo alt + destra o sinistra si passa velocemente da un terminale a un altro dall'1 al 6. il settimo di solito è l'ambiente grafico.


anche "shutdown -r now" spegne tutto il sistema come poweroff o halt
anche killare il pid principale (che non ricordo) fa la stessa cosa. è strano che ci siano 4 o 5 modi per spegnere il sistema eheh

edit:
per copiare del testo nel terminale purtroppo ctrl+v non va come su windows
ctrl + c si usa dappertutto in X ma poi nel terminale si deve usare shift + ins per incollare
molto comodo per non dover scrivere comandi mega galattici che si trovano su internet
si copia e si incolla et voilà

Gimli[2BV!2B]
04-09-2008, 22:33
Ciao amd-novello!

Corretta castroneria backslash/backspace.
Corretto il numero dei terminali ed aggiunto l'Alt dx/sx per navigarli (quanto mi mancano le console testuali... grrrr NVidia...).
Migliorata la descrizione di Shift Ins.
Sostituiti halt & co con il più tradizionalmente corretto shutdown (anche se sono gestiti correttamente da tempo). Lasciamo stare metodi troppo estrosi, al massimo vedrò se aggiungere init che ha funzionalità in più.

Thanks!

frizzo28
05-09-2008, 09:49
Locate nomefile: Serve per ricercare un file in maniera veloce in quando legge le informazioni dal suo database da aggiornare di tanto in tanto con updatedb:)

Gimli[2BV!2B]
05-09-2008, 20:23
Heilà frizzo28!

Mumble, sono combattuto... il fatto è che locate di default non mi risulta sia installato, inoltre il fatto che dipenda da suo database lo rende più complesso (una rottura quando parte il cronjob/anacronjob di aggiornamento, anche se naturalmente poi si guadagna in velocità di ricerca), poi qualche problema di sicurezza (vedi slocate (http://www.linuxcommand.org/man_pages/slocate1.html))... non so... non mi sta del tutto simpatico... (http://blog.utos.org/presents/FindvLocate.html)

dvd100
05-09-2008, 21:03
top

visualizza i processi con il consumo di ram per ognuno e le memorie libere in generale

ctrl + alt (o shift?) + backspace riavvia il sistema x. utile per attivare modifiche senza riavviare tutta la macchina

se si vuole far apparire uno dei 7 terminali sempre attivi in linux da X si preme ctrl + alt + f1. quando si è in modalità terminale premendo alt + destra o sinistra si passa velocemente da un terminale a un altro dall'1 al 6. il settimo di solito è l'ambiente grafico.


anche "shutdown -r now" spegne tutto il sistema come poweroff o halt
anche killare il pid principale (che non ricordo) fa la stessa cosa. è strano che ci siano 4 o 5 modi per spegnere il sistema eheh

edit:
per copiare del testo nel terminale purtroppo ctrl+v non va come su windows
ctrl + c si usa dappertutto in X ma poi nel terminale si deve usare shift + ins per incollare
molto comodo per non dover scrivere comandi mega galattici che si trovano su internet
si copia e si incolla et voilà

Il copia ed incolla nel terminale funziona con ctrl+shift+c o v!

Gimli[2BV!2B]
05-09-2008, 21:43
Benvenuto dvd100!

Ricordo qualcosa a riguardo, ma uso Shift Ins negli emulatori di terminale (Ctrl Shift v non fa nulla...?), mentre nei terminali tra Tab e Pag Su/Giù avevo tutto ciò che desideravo, ma non si sa mai... Poi non posso accede ai terminali causa framebuffer bacato...
Non ho trovato questa combinazione nemmeno nella man di bash, puoi precisare?

Per stare in tema Ctrl Shift segnalo l'utile Ctrl Shift n di Konsole (non so se vale anche per gli altri emulatori di terminale dotati di tab), da accompagnare agli inseparabili Ctrl Tab e Ctrl Shift Tab (che valgono per qualsiasi cosa che abbia delle tab...).

amd-novello
05-09-2008, 21:54
Il copia ed incolla nel terminale funziona con ctrl+shift+c o v!

azz se è vero ritiro tutto

eheh

commodoro
06-09-2008, 10:46
io a volte anziché fare shift ins o altro, utilizzo il mouse e faccio:

seleziono la parte scritta interessata
ctrl+c
vado sul terminale e clicco con i tasto centrale della rotellina

e voilà il pezzo è incollato :D

dvd100
06-09-2008, 11:05
io a volte anziché fare shift ins o altro, utilizzo il mouse e faccio:

seleziono la parte scritta interessata
ctrl+c
vado sul terminale e clicco con i tasto centrale della rotellina

e voilà il pezzo è incollato :D

Non hai bisogno di ctrl+c, basta evidenziare e cliccare con il centrale. Inoltre funziona per qualsiasi campo di testo, non solo il terminale!

Confermo che per in gnome-terminal funziona ctrl+shift+c per copiare e ctrl+shift+v per incollare. Non ho mai provato con i terminali del framebuffer perchè non so come evidenziare il testo senza mouse :D Se c'è un modo posso fare una prova :)



P.S. grazie del benvenuto e complimenti per il topic più utile dell'intera sezione linux :D

amd-novello
06-09-2008, 11:51
infatti io intendevo il terminale classico unix non quello grafico che ha 3000 funzioni in +

se uno sa usare quello nativo quello grafico se lo beve a colazione

lol

albortola
06-09-2008, 13:32
..perchè non aggiungete questo link in prima pagina? http://gd.tuwien.ac.at/linuxcommand.org/learning_the_shell.php

khelidan1980
06-09-2008, 13:45
..perchè non aggiungete questo link in prima pagina? http://gd.tuwien.ac.at/linuxcommand.org/learning_the_shell.php

ottimo link...

Gimli[2BV!2B]
06-09-2008, 13:54
Ah, ok, rivelato il mistero: come le combinazioni che ho segnalato per Konsole, quelle consigliate da dvd100 valgono per Terminal di Gnome (mi sembrava infatti, ma Gnome non è il mio mondo di default...).

In ogni caso, come detto da commodoro, la rotella funziona sempre ed è comoda ed estremamente facile da ricordare.

Per la questione del copia incolla nei terminali bash (che è la shell testuale usata di default da moltissime(tutte?) distribuzioni) c'è una lunga serie di combinazioni di tasti che si possono trovare nella man bash.
Permettono di fare un po' di tutto...
Qui c'è un elenco in italiano (incompleto, ma mi sembrano ben scelti). (http://www.mieiappunti.com/2007/05/16/combinazioni-di-tasti-per-la-bash-linux/)

Il link segnalato da albortola mi sembra interessante, potrei aggiungere una sezioncina con link ad approfondimenti...

Gimli[2BV!2B]
29-09-2008, 22:28
Avevo trascurato i moduli...

gianlucab70
30-09-2008, 15:33
;24344767']Avevo trascurato i moduli...

Ciao.
Io aggiungerei anche un suggerimento.
Non è un comando ma un qualcosa che può essere molto utile in caso si riscontrino dei bug nei programmi installati.
E' un suggerimento che non ho visto scritto in nessun manuale fino ad ora letto.

Mi riferisco alla possibilità di eliminare la cartella nascosta relativa ad un qualsiasi programma dalla propria /home.

Al riavvio dell'applicazione se ne crea una nuova ripulita.
:sofico:
Correggimi se sbaglio.

Gimli[2BV!2B]
30-09-2008, 20:25
Grazie gianlucab70, si tratta in effetti di un consiglio semplice e spesso utile. Varie volte ci ho pensato solo dopo aver perso del tempo per niente...

Ho provato ad inserirlo nella (prima) brevissima introduzione alla home, spero in modo comprensibile... Certo che ormai questa cosa ha superato di molto il mio concetto di "breve"...

iron84
30-09-2008, 20:58
Ciao.
Io aggiungerei anche un suggerimento.
Non è un comando ma un qualcosa che può essere molto utile in caso si riscontrino dei bug nei programmi installati.
E' un suggerimento che non ho visto scritto in nessun manuale fino ad ora letto.

Mi riferisco alla possibilità di eliminare la cartella nascosta relativa ad un qualsiasi programma dalla propria /home.

Al riavvio dell'applicazione se ne crea una nuova ripulita.
:sofico:
Correggimi se sbaglio.

però prima bisogna magari salvarsi il file "clu" dove c'è la configurazione altrimenti si rischi di perdere le impostazioni del programma.
Magari prima si fa una bella copia della cartella e poi si cancella l'originale.

gianlucab70
30-09-2008, 21:14
però prima bisogna magari salvarsi il file "clu" dove c'è la configurazione altrimenti si rischi di perdere le impostazioni del programma.
Magari prima si fa una bella copia della cartella e poi si cancella l'originale.

Ci avevo pensato anch'io, volevo aggiungerlo.
Ho creduto però che non ha molto senso.
In presenza di crash è meglio ripulire il tutto. Non credi?

Se però si conosce quale file ha causato il problema allora conviene farsene un backup.
IMHO.

masand
20-01-2009, 20:46
up

Gimli[2BV!2B]
20-01-2009, 21:02
Bello, mi hanno pinnato :)

Anche se ormai questo thread era un po' nascosto ho continuato a fare correzioni, pulizia e piccoli aggiornamenti.

In bocca al lupo ai nuovi moderatori!

gianlucab70
20-01-2009, 21:34
:)
Bene.
E Crearne uno simile basato su Arch?
Buon lavoro a tutti.
:)

biancolone
30-01-2009, 23:45
per un nuovo linux user in prospettiva, questo post è *manna dal cielo!*

grazie :)

Gimli[2BV!2B]
31-01-2009, 00:11
Spero ti possa essere utile biancolone :)

*Piccolo aggiornamento alla sezione sulla combinazione dei comandi & co.

sacarde
09-03-2009, 08:07
type <nomecomando> mostra il tipo o il path del comando

nohup <comando> stacca il processo comando dalla shell

enable <com> abilita o disabilita il comando builtin



p.s.
c'e' un modo per scaricare tutta la discussione ?

Gimli[2BV!2B]
09-03-2009, 20:14
Interessanti questi comandi (spesso) integrati nelle shell, grazie sacarde!
Non avevo esplorato fino in fondo il chilometrico manuale di bash, nemmeno quello più stringato di dash, non li conoscevo.

Soprattutto type mi interessa per controllare cose di questo tipo:
gloin@altarf:~$ type la
la is aliased to `ls -A'

nohup, nohup... mi sembra di ricordare di averlo già sentito, ma l'ho perso per strada. È più potente di &, mi piace.

enable, interessante, ma mi sembra un po' di nicchia, ora mi informo un o' meglio sul suo conto.

Riguardo alla possibilità di scaricare tutta la discussione, il modo più semplice che mi viene in mente per ottenere poche pagine leggere è attraverso lo strumento "mostra la versione stampabile", sommato al massimo numero di risposte visualizzate per pagina (http://www.hwupgrade.it/forum/printthread.php?t=1666622&pp=40).

entanglement
02-04-2009, 21:22
adesso mi becco un "STFU RTFM U NOOB" grosso come una casa :D

vorrei installare come unico programma mediacenter l'ottimo XBMC (http://xbmc.org/download/. orbene, essendo un notevole niubbo, non ho idea di COME :D
il programma è presente come PPE e non come DEB, ho seguito le istruzioni nel link, cioè ho messo il link indicato in sorgenti software, indicando la corretta chiave di autenticazione, ma il programma insiste nel non comparire nella lista di installabili sia nel menu aggiungi/rimuovi sia nel menu pacchetti synaptic

come devo procedere ? :D

edit: da bravo niubbo per cominciare dalle cose facili ho installato ubuntu, l'idea è di convertirmi a opensuse, di cui tanto bene mi è stato detto :D
ma se mi blocco già qua non va bene :D :D

masand
02-04-2009, 21:25
adesso mi becco un "STFU RTFM U NOOB" grosso come una casa :D

vorrei installare come unico programma mediacenter l'ottimo XBMC (http://xbmc.org/download/. orbene, essendo un notevole niubbo, non ho idea di COME :D
il programma è presente come PPE e non come DEB, ho seguito le istruzioni nel link, cioè ho messo il link indicato in sorgenti software, indicando la corretta chiave di autenticazione, ma il programma insiste nel non comparire nella lista di installabili sia nel menu aggiungi/rimuovi sia nel menu pacchetti synaptic

come devo procedere ? :D

Datti una letta qui: http://hwu-ubuntuclan.blogspot.com/2008/11/utilizzare-xbmc-con-ubuntu.html

Un saluto a tutti...
masand

entanglement
02-04-2009, 21:38
ottimo e abbondante ! qualcosa sta scaricando :D :D

Gimli[2BV!2B]
14-04-2009, 00:43
Aggiornamenti:
Ctrl Alt Backspace non più attivo di default.
Sysrq riscritti un po' meglio.
cifs al posto del deprecato smbfs.
watch aggiunto.

P.S. XBMC? :confused:

amd-novello
05-08-2009, 08:06
;27076448']
Ctrl Alt Backspace non più attivo di default.


ecco perchè non andava++++! maledetti era così comodo
spero si possa riattivare ma cerco per conto mio.

senti ma se locate non è presente dappertutto (infatti in puppynon c'è) come si usa find? non ho capito pur avendo un manuale cartaceo per niubbi. i man a volte sono un casino.
locate è assurdamente veloce e ricercare un file si sa che è comodissimo

comunque la guida non mi sembra lunga. le cose + avanzate tipo rete o sysreq o init sono solo per avanzati ma tutto il resto riguarda tutti. è perfetta:D

jgvnn
05-08-2009, 08:15
ecco perchè non andava++++! maledetti era così comodo
spero si possa riattivare ma cerco per conto mio.

senti ma se locate non è presente dappertutto (infatti in puppynon c'è) come si usa find? non ho capito pur avendo un manuale cartaceo per niubbi. i man a volte sono un casino.
locate è assurdamente veloce e ricercare un file si sa che è comodissimo

comunque la guida non mi sembra lunga. le cose + avanzate tipo rete o sysreq o init sono solo per avanzati ma tutto il resto riguarda tutti. è perfetta:D

locate è più veloce perché si basa su un database che viene aggiornato via cron

Con find, se per esempio vuoi cercare tutti i file che contengono la parola "virtual", maiuscolo o minuscolo, nel nome fai:

find -iname "*virtual*"

FedNat
05-08-2009, 08:41
ecco perchè non andava++++! maledetti era così comodo
spero si possa riattivare ma cerco per conto mio.

Su Mandriva si puo' riattivare inserendo una linea del tipo

Option DontZap false

in una sezione di Xorg.conf

Saluti

amd-novello
05-08-2009, 10:34
locate è più veloce perché si basa su un database che viene aggiornato via cron

Con find, se per esempio vuoi cercare tutti i file che contengono la parola "virtual", maiuscolo o minuscolo, nel nome fai:

find -iname "*virtual*"

grazie!
certo che la sintassi è proprio a cavolo in linux
rimpiango dos da sto punto di vista. quando ero diventato espero ad usarlo è arrivato win 95 :D
ovvio che linux non è paragonabile per vastità

Gimli[2BV!2B]
05-08-2009, 12:43
Riguardo Ctrl Alt Backspace questa è la riga nella sua sezione:Section "ServerFlags"
Option "DontZap" "False"
EndSectionDa quando questa combinazione è stata disattivata in Xorg ho vissuto senza.
Ricordo di averla premuta almeno una volta per sbaglio.
Però mi è stata molto utile per tutto il periodo di blackout delle console testuali causato dai driver NVidia (fortunatamente risolto da qualche mese).

Ora amd-novello, sulla sintassi: in parte è vero, per motivi storici, per stili diversi dei programmatori, ma certo non è anarchia.

Parlando delle opzioni, ce ne sono varie che sono omogenee per vari programmi, la prima che mi viene in mente è -R per ricorsivo.

Poi, se non sbaglio, ci sono tre stili principali di passaggio degli argomenti:

classico: -switch [argomento opzionale] o --switch_esteso [argomento opzionale] file/cartella/device in fondo
compressori/de-compressori: azione -switch file/cartella in fondo
ricerca: di base classico, ma con varie estensioni per poter scrivere test complessi ma comunque leggibili (uso di +, e di - nel senso di maggiore-minore, strani mix come -iname -ipath, che potrebbero essere nati da switch a singola lettera con argomento ma non lo sono più, ecc...)


Per finire ci sono programmi come sed, che oltre a poche opzioni standard contiene un intero linguaggio di scripting adatto al suo scopo di editor di stream.

amd-novello
05-08-2009, 19:37
infatti come modifiche e personalizzazione è DIO

pero' porca vacca con locate fai locate quellochevuoi e te lo cerca. find leggi il manuale e almeno degli esempi dei comandi piu usati potevano metterli
help del dos lo faceva

df è diskfilesystem! e fammene uno + capibile no!
poi top che cavolo vuol dire
in puppy manco funziona dir ma devi fare solo ls. insomma dai

mv? se mettevano move riempivano la ram? :D

mccarver
05-08-2009, 19:52
infatti come modifiche e personalizzazione è DIO

pero' porca vacca con locate fai locate quellochevuoi e te lo cerca. find leggi il manuale e almeno degli esempi dei comandi piu usati potevano metterli
help del dos lo faceva

df è diskfilesystem! e fammene uno + capibile no!
poi top che cavolo vuol dire
in puppy manco funziona dir ma devi fare solo ls. insomma dai

mv? se mettevano move riempivano la ram? :D

I comandi sono sempre quelli da quando esiste linux, dunque 'mv' è un comando storico e nessuno si può sognare di rinominarlo...
Sono tutti comandi brevi perchè sono spesso usati a ripetizione, in quasi ogni sessione di lavoro, dunque si devono poter richiamare istantaneamente.
Si tratta solo di abitudine.

Gimli[2BV!2B]
05-08-2009, 21:30
Dal Multics Glossary (http://www.multicians.org/mga.html): list has the short name ls, copy has cp, and move has mv

Multics (http://en.wikipedia.org/wiki/Multics) è il precursore di Unix; sviluppo iniziato nel 1964, primo rilascio 1969.

In origine i nomi erano estesi, poi gli alias brevi hanno prevalso: mantengono la mnemonica e, come già detto da mccarver, sono istantanei da scrivere.

Nel DOS preferirono comandi pronunciabili, visto che doveva essere masticabile per tutti.
Anche perché i nomi privati delle vocali sono abbastanza comuni in ambiente di programmazione (recentemente credo un po' meno), ma al di fuori di quell'ambito risultano piuttosto strambi.

amd-novello
06-08-2009, 13:57
infatti

iron84
28-10-2009, 14:26
nohup COMANDO-> rende il comando totalmente indipendente dal terminale che lo ha lanciato: non può più ricevere input testuali dalla shell e l'output viene di default accodato a ./nohup.out; alla chiusura del terminale il processo non viene terminato.
Questo comando funziona se lanciato da terminale collegandomi ad un altro pc tramite ssh?
A me sembra di no, poi posso sbagliami...

p.s. il pc su cui sto lanciando da terminale un programma, non è un applicativo grafico dato che ho stoppato il server X. Può essere questo il problema?

Chiancheri
28-10-2009, 14:54
nohup COMANDO-> rende il comando totalmente indipendente dal terminale che lo ha lanciato: non può più ricevere input testuali dalla shell e l'output viene di default accodato a ./nohup.out; alla chiusura del terminale il processo non viene terminato.
Questo comando funziona se lanciato da terminale collegandomi ad un altro pc tramite ssh?
A me sembra di no, poi posso sbagliami...

p.s. il pc su cui sto lanciando da terminale un programma, non è un applicativo grafico dato che ho stoppato il server X. Può essere questo il problema?

un altro metodo è mettere al termine del comando "&"

in ogni caso ti sei espresso male... comunque non puoi lanciare un programma grafico su di un pc su cui non sta girando un server e client xorg.

cosa devi far girare in remoto? moltissimi programmi esistono sia in versione grafica che in linea di comando, cambiano solo alcune cose. Alcuni in particolare prevedono l'utilizzo di un demone sotto al cofano e di un client grafico che dialoga col demone (come ad esempio amule, che ha il suo amule-daemon, o torrent che ha strumenti analoghi, o server musicali ecc....).

specifica quello che devi fare

iron84
28-10-2009, 15:04
Sì, hai ragione.
Sul muletto ho fermato il server grafico. Ora mi sto loggando sul muletto tramite un altro pc tramite ssh.
Quello che voglio lanciare è amuled (il demone senza grafica di amule).

Sembra che ad aggiungere la & finale funzioni ;)
Grazie 1000

jedy48
18-12-2009, 19:46
:eek: la miseria!!! mi sono avvicinato a Linux da 2 giorni ... hò istallato openSuse e Ubuntu in dual boot e ci sono tutti quei comandi lì da imparare??? :) cmq guida ineccepibile anzi ottima complimenti vivissimi,come hò detto da 2 giorni sono approdato al modo linux e prima ero scettico,windows dipendente ma devo dire che mi PIACE, grazie ad un fantastico ragazzo che mi insegna sono riuscito a formattare solo 2/3 volte (colpa mia intendiamoci!) hò voluto provare subito di tutto ed hò fatto un sacco di errori in fase di istallazione...cmq ora sono felice ,hò riacceso windows stasera dopo 3 giorni che non lo accendevo e...tutte le icone dal deskop SPARITE!!!:muro: avete ragione a chiamarlo WINZOZZ!! hò dovuto ripristinare subito un'immagine....spero di riuscire a imparare e impratichirmi di questo fantastico Linux! :)

jedy48
19-12-2009, 10:17
;20860580']Suggerimenti accolti, grazie!

Inserite precisazioni e completata la formattazione.

Gimli sei un GRANDE!!! hai fatto un lavoro a dir poco STUPENDO :) ora mi stampo un bel pò di roba! certo che dev'essere bello far cose così e aiutare gli altri tipo ME che non sanno nulla di Linux a imparare,spero e mi auguro di riuscirci :)

Gimli[2BV!2B]
19-12-2009, 19:04
Mi è tornata la connessione dopo la nevicata, finalmente! Spero che duri...

Benvenuto jedy48 :)

Non ti preoccupare, mica "devi impararli tutti a memoria immediatamente altrimenti non puoi toccare il computer perché esplode"
Come ho già scritto, considero la linea di comando uno strumento estremamente comodo ma, naturalmente, estremamente criptico per qualcuno che se lo trova davanti per la prima volta.
Con questa raccolta spero di avere aiutato qualche utente durante i primi passi (ah, pure io ogni tanto dimentico qualcosa e torno a cercare qui :asd:).

Se avrai la pazienza, la curiosità e la testardaggine di capire i problemi che ti troverai davanti, potrai risolvere la stragrande maggioranza degli errori che incontrerai e potrai modellare il sistema secondo le tue necessità.
Un sistema GNU/Linux è obiettivamente una enorme accozzaglia di programmi diversi, ma è possibile accudire, scegliere e configurare ogni singolo elemento sfruttando l'enorme lavoro di integrazione fornito dalle distribuzioni.
Questa frammentazione è al tempo stesso la croce che mantiene GNU/Linux di nicchia e la delizia che permette di utilizzarlo su hardware di tutti i tipi e di poter potenzialmente realizzare quasi tutto ciò che si desidera fare.

Nulla però ti impedisce di utilizzarlo solo per evitare i virus navigando e di formattarlo appena si rompe, naturalmente.

jedy48
19-12-2009, 19:24
;30144339']Mi è tornata la connessione dopo la nevicata, finalmente! Spero che duri...

Benvenuto jedy48 :)

Non ti preoccupare, mica "devi impararli tutti a memoria immediatamente altrimenti non puoi toccare il computer perché esplode"
Come ho già scritto, considero la linea di comando uno strumento estremamente comodo ma, naturalmente, estremamente criptico per qualcuno che se lo trova davanti per la prima volta.
Con questa raccolta spero di avere aiutato qualche utente durante i primi passi (ah, pure io ogni tanto dimentico qualcosa e torno a cercare qui :asd:).

Se avrai la pazienza, la curiosità e la testardaggine di capire i problemi che ti troverai davanti, potrai risolvere la stragrande maggioranza degli errori che incontrerai e potrai modellare il sistema secondo le tue necessità.
Un sistema GNU/Linux è obiettivamente una enorme accozzaglia di programmi diversi, ma è possibile accudire, scegliere e configurare ogni singolo elemento sfruttando l'enorme lavoro di integrazione fornito dalle distribuzioni.
Questa frammentazione è al tempo stesso la croce che mantiene GNU/Linux di nicchia e la delizia che permette di utilizzarlo su hardware di tutti i tipi e di poter potenzialmente realizzare quasi tutto ciò che si desidera fare.

Nulla però ti impedisce di utilizzarlo solo per evitare i virus navigando e di formattarlo appena si rompe, naturalmente.

no no ,come hai detto ho una grande curiosità una grande voglia di impararlo e più sono in difficoltà e più mi ci intestardisco e mi sforzo di imparare ,(non hai detto che io sono testardo sottinteso)lo dico IO ,e poi quando imparo qualcosa mi è sempre piaciuto aiutare gli altri ,sempre fatto sia al lavoro con gli "apprendisti" che con chi ne sapeva meno di me :)

amd-novello
20-12-2009, 05:53
l'importante è usarli ogni tanto e poi vedi che non dimentichi

jedy48
20-12-2009, 13:09
l'importante è usarli ogni tanto e poi vedi che non dimentichi

io cerco infatti di usarli più che posso anche se non necessari...:)

jedy48
23-12-2009, 13:38
salve,è da stamani che cerco di istallare thunderbird 3 manualmente,ho fatto un casino pazzesco...in pratica ho sostituito i repository con quelli di ubuntuzilla,mi è sparito Firefox e al riavvio avevo un'altro browser che dentro è uguale a firefox,l'icona era blu...il nome nn mi ricordo,morale hò formattato e reistallato Ubuntu ma sono sempre qui col solito problema,suggerimenti da voi esperti? :(

Gimli[2BV!2B]
21-06-2010, 22:43
sudo tee, precisazione free, rimozione vecchiume poco utile, licenza, link guida per Grub 2, sostituzione `` con $()

AleLinuxBSD
02-10-2010, 21:32
Per esaminare il driver e la versione del firmware della scheda di rete Lan:
# ethtool -i eth0

Per sapere quanti core sono presenti nel vostro sistema:
cat /proc/cpuinfo | grep processor | wc -l

Per ottenere informazioni sul processore.
cat /proc/cpuinfo

Per conoscere la vers. del Bios senza dovere riavviare il sistema:
# dmidecode | less

Nota:
Chiaramente se un pacchetto, come ad es. ethtool non è presente, andrà installato.
#, come al solito, indica che il comando è usabile da root.

Gimli[2BV!2B]
03-10-2010, 13:13
Grazie AleLinuxBSD, ottimi suggerimenti su comandi spesso utili fin dai primi passi a fianco del pinguino che avevo ingiustamente trascurato.

murray00
05-02-2011, 11:17
Ciao a tutti,

questo topic è oro colato! grazie!

sono niubbissimo e finalmente grazie a questo topic riesco a discricarmi un pochino coi comandi della shell che fin'ora eseguivo senza riuscire a comprendere.

Teniamolo up! =)

Gimli[2BV!2B]
05-02-2011, 12:46
Ciao! Non ti preoccupare, non l'ho abbandonato e lo aggiorno ancora.

sacarde
05-02-2011, 16:26
stato frammentazione di un file

filefrag <filename>



stato extent della partizione

e2freefrag /dev/sd....

Gimli[2BV!2B]
05-02-2011, 17:30
Grazie sacarde! Non li conoscevo entrambi.

Da quel che ho visto filefrag è uno strumento universale, mentre e2freefrag funziona solo con ext* e riporta informazioni interessanti, ma molto tecniche e rarissimamente utili. Per questo ho scelto solo filefrag e, sempre stando su questo argomento, ho aggiunto il poco documentato df -i (da usare raramente e poco conosciuto, ma monitora valori che portano ad errori ben difficili da capire).

Ora che ci penso ci starebbe un comandino per visualizzare la percentuale di frammentazione di una partizione.
L'unico che ho trovato al momento è:fsck -n /dev/sdb3 | grep non-contiguousQualcuno ne conosce uno più elegante (questo simula un fsck completo).

sacarde
06-11-2011, 12:42
ifrename = rename network interfaces based on various static criteria




p.s.
per curiosita'
quali sono le vostre fonti/esperienze del sistema GNU/Linux ?

Gimli[2BV!2B]
06-11-2011, 13:49
Grazie sacarde, sfizioso ifrename, anche se mi solleva vari dubbi in caso di cambio di denominazione di interfacce già configurate da tempo e del suo rapporto con udev.

Io posso rispondere alla tua domanda in modo piuttosto stringato: le esperienze son principalmente casalinghe, è l'unico sistema che uso in ambito non lavorativo; le fonti son principalmente la rete e la documentazione ufficiale dei singoli elementi, con qualche giretto nei sorgenti.
Più di una volta ciò che ho imparato mi è tornato molto utile anche in ambito lavorativo.

Gimli[2BV!2B]
09-07-2013, 23:19
tar xaf è molto più comodo di tar xzf, tar xJf, ecc...
Potrebbe non essere ancora disponibile in alcune distribuzioni.

IngMetallo
29-05-2015, 13:09
Questo thread me l'ero proprio perso, complimenti Gimli è veramente ben organizzato :eek:
Aggiornerò i miei thread ufficiali mettendo un link a questa cheatsheet perché è veramente ottima.

Riguardo alla sintassi che hai usato nel primo post: non pensavo fosse possibile aggiungere le ancore in BBC, grazie per la scoperta :)

Ah aggiungo che per copiare/incollare nel terminale si può utilizzare CTRL+SHIF+C (V) quando si è in sessione X. Almeno a me han sempre funzionato :D

Gimli[2BV!2B]
29-05-2015, 20:59
Grazie, spero sempre possa possa tornar utile :)

Quanti anni... ed ancora qualcosa da aggiungere, visto che ho sempre usato o il tasto destro del mouse o Shift Ins! Bene!

witek
09-06-2015, 19:18
Ctrl + Alt+ Esc esegue xkill, comodo e veloce :)
premendo di nuovo Esc si torna al cursore normale senza killare nessuno :P

Gimli[2BV!2B]
09-06-2015, 20:27
Non conoscevo questo shortcut per xkill. Grazie, aggiunto!

IngMetallo
09-06-2015, 20:55
nemmeno io :eek: grazie mille, così è molto più comodo che aprire il terminale ogni volta :sofico:

ste1982
20-09-2015, 18:10
Ciao ragazzi,
per caso qualcuno mi potrebbe spiegare come si usa il comando cut per favore? Non riesco a trovare una guida più dettagliata.
In particolare l'opzione -f , perchè non capisco come estrarre un dato preciso.
Per provare, volevo estrarre il mac addres della scheda eth, da ifconfig:
ifconfig etho | grep ether | cut -d " " -f ?
Non capisco che numero devo inserire per estrarre il dato :muro: , perchè non mi torna nessun risultato

Grazie!

sacarde
20-09-2015, 19:59
credo il problema sia negli spazi all'inizio della riga che contiene il macaddr


ifconfig <interfaccia> | grep ether | cut -b 15-31

oppure

ifconfig <interfaccia> | grep 'ether' | awk '{ print $2}'