### un elenco di comandi essenziali, alcuni per ### quasi tutti abbastanza ovvi, altri un po' meno ### skizzHG usa debian, quindi alcune cose non sono ### compatibili ma andranno adattate alle vostre ### esigenze, vero sberla? :P ### skizzHG inoltre usa vim per scrivere queste cazzate ### per la precisione uno dei tanti scriptini che si e` ### creato per adattare al file manager applicazioni ### usate solitamente in terminale (apri con...) ### legenda: come bash insegna... ### dove leggete ~$ e` l'utente, mentre ~# e` root ### le voci tra parentesi invece sono opzioni alternative ### allo stesso comando ################################################################################ ### sono solo i miei appunti un po' elaborati, come si suol dire ### "non sono io ad aver inventato la ruota" ### ma se questo documento rimanesse intatto o almeno mi citaste ve ne sarei grato # "un programmatore bravo e` quello che sa inventare da zero # un programmatore ottimo e` chi riesce a migliorare qualcosa di già esistente" ################################################################################# #chiude sessione ~# shutdown -h now #riavvia sessione ~# shutdown -r now #temporizzare l'operazione ~# shutdown -h(r) -t (sec) (+m minuti) (hh:mm) #cancella il timer ~# shutdown -c #forza un fsck al riavvio ~# shutdown -F now ### c'e` la possibilita` di utilizzare anche ~# init 0 : spegne ~# init 6 : riavvia ### ma e` preferibile non usarli, in quanto shutdown manda ### un SIGTERM alle applicazioni (SIGKILL se fossero bloccate) ### solo dopo butta giu` il sistema, quindi il tutto e` piu` pulito #riavvia la sessione X Ctrl + Alt + Backspace #terminare DM(X) al login, da tty 'sudo /etc/init.d/x(g)(k)dm stop' #riavviare DM(X) al login, da tty 'sudo /etc/init.d/x(g)(k)dm restart' #riconfigura xorg ~# dpkg-reconfigure xserver-xorg #riconfigura x(g)(k)dm ~# dpkg-reconfigure x(g)(k)dm (dopodiche` ctrl+alt+backspace) #visualizza output pagina per pagina ~$ comando | more #visualizza output pagina per pagina e scorrevole ~$ comando | less #interfaccia vlc da terminale ~$ vlc -I ncurses #lista periferiche ~$ lsusb - lshw - lspci (opzione -v) #riconoscimento hw audio ~$ aplay -l #controllo volumi ~$ alsamixer ('~# alsactl store' per salvare) #controllare il ring buffer del kernel ~$ dmesg #uptime di sistema ~$ uptime #cerca localizzazione programma ~$ whereis #cerca localizzazione eseguibile programma ~$ which #formatta l'unita` specificata in fat16 (utile per le penne-usb) ~# mkfs.vfat -F 16 /dev/sda1 #kernel in uso e varie info ~$ uname -a #per sapere il runlevel in uso ~# runlevel #per cambiarlo ~# /sbin/telinit numero #passare a root ~$ sudo -i / sudo su / su root / su #tornare ad utente ~# exit #convertire file .rpm in .deb ~# alien pacchetto_file.rpm #stampa il contenuto di un evento X #(ottimo per sapere i nomi dei tasti) ~$ xev #stampa il nome del programma cliccando sulla finestra desiderata ~$ xprop WM_CLASS #stampa dettagli di una finestra cliccandovi sopra ~$ xwininfo #system monitor ~$ top ### piccola guida ai comandi di questo ottimo tool ### h : help shift+m : ordina per uso di memoria shift+p : ordina per pid shift+A : visualizzazione mista u : ordina per utente k : uccide processo < > : scorrere su e giu` tra le voci c : mostra il path z : colorato q : esce ### in genere la lista e` lunga e nel terminale risulta a volte ### scomodo se si usano caratteri a grandezza leggibile, mi sono ### creato il solito scriptino che metto con gli altri in /usr/local/bin ### usando il nome del programma e anteponendo una j, in quanto ci sono poche ### app che iniziano in quel modo: ### uxterm -fa monospace -fs 8 -bg black -fg green -g 80x30 -T top -e top #######################EOF :)############################### #mostra i processi ad albero con il pid ~$ pstree -p ~$ pstree.x11 -p #mostra i processi in modo dettagliato ~$ ps aux #mostra le librerie caricate ~$ lsof -Fn | grep so | uniq -c | sort -nr | less #info varie di sistema ~$ cat /proc/cpuinfo (meminfo)(loadavg)(partitions)(swap)(version) #temperatura cpu ~$ cat /proc/acpi/thermal_zone/THRM/temperature ~$ acpi -t #driver nvidia ~$ cat /proc/driver/nvidia/version #elenca quali file utilizzano un certo device ~$ fuser /dev/snd/* #elenca quali file sono aperti da un certo programma ~$ lsof|grep snd #stampa a video per ogni file presente nella directory corrente #il nome di ciascun file e la corrispondente quantita` di caratteri #(fa casino con gli spazi) ~$ for file in `find ./`; do echo “$file”; echo -n “$file” | wc -c; done #screenshot tutto schermo ~$ xwd -root -out myscreen.xwd #screenshot area selezionabile ~$ xwd -out myscreen.xwd #screenshot temporizzato sleep 5; xwd -root -out myscreen.xwd #mostra la foto ~$ xwud -in myscreen.xwd ### lo so, c'e` di meglio, usate scrot o import (tool della ### mitica suite imagemagick), le immagini sono dei dump ### grezzi dello schermo e pesano una tonnellata ### questo solo per far notare che X non tralascia nulla :) #per strapparti un sorriso ~$ apt-get moo ~$ aptitude moo ~$ aptitude -v moo ~$ aptitude -vv moo ~$ aptitude -vvv moo ~$ aptitude -vvvv moo ~$ aptitude -vvvvv moo #chiudere un applicazione dopo un tempo prefissato: ~$ applicazione & ~$ sleep 15; killall -9 applicazione ### piccola parentesi, sleep e` un programmino alquanto ### ignorato, ma desta un certo interesse leggendo le 5 righe ### riguardanti le opzioni, potete lanciare o chiudere un programma ### dopo un tempo prefissato che va da pochi secondi a giorni! ### insieme a nohup diventano un'accoppiata potente :) #controllare il volume da tastiera: ~$ amixer set Master 1- ~$ amixer set Master 1+ ~$ amixer set Master 0 ~$ amixer set Master 55% ### a questi comandi ho associato dei tasti ### controllare il volume da tastiera non ha prezzo :) ### a me interessa comandare il Master ma lo stesso vale ### per PCM e altro #un'assoluta inutilita` ~$ banner -w 33 HELLO #dirigere output di comando su file ~$ man xterm > xterm.txt #dirigere output di errore su file ~$ xterm >2 xterm-errors.log #fa entrambi ~$ ssh [host|ip] > ssh_out.log 2> ssh_err.log #aggiunge nuovo testo ad un file ~$ echo "ciao" >> pippo.txt #numero di oggetti in una dir ~$ ls /path | wc -l #rimontare le voci in /etc/fstab senza riavviare ~# mount -a #tornare all'ultima dir in cui si e` stati ~$ cd - #md5sum crea: ~$ md5sum file.iso > check controlla: ~$ md5sum -c check #nmap approfondito: ~# nmap -sS -P0 -T Insane -v -O -A 10.0.0.0 normale: ~# nmap 10.0.0.0 porta mirata: ~# nmap -p25 10.0.0.0 #controllo connessioni ~$ netstat -A inet --program ~$ netstat -atuw #cerca file per estensione ~$ find / -name "*.mid" #cerca file per nome ~$ find / -iname "pippo" (pippo) #rende effettivi cambiamenti al .bashrc ~$ source .bashrc #rende effettivi cambiamenti al .Xresources ~$ xrdb -merge ~/.Xresources #rende effettivi cambiamenti al .Xmodmap ~$ xmodmap ~/.Xmodmap #elenca i font installati ~$ dpkg -l | grep ^ii | awk '{print $2}' | grep ttf #trasferire testo in un wav ~$ text2wave -o pippo.wav pippo #ram occupata ~$ free -m -o #spazio dischi occupato ~$ df -m -x tmpfs #dimensione file e cartelle ~$ du -h #con orario ~$ du -h --time #sommario ~$ du -hs #ripete ultimo comando dato ~$ comando !! ### esempio: ~$ xterm / ~$ man !! ### sara` stato come dare ~$ man xterm ### questo perche` la shell tiene in memoria gli ultimi 500 comandi ### digitando 'history' compare l’elenco numerato, a quel punto con ### '!n_comando' esso sara` rieseguito; il doppio punto esclamativo ### riesegue l’ultimo comando, ed e` possibile aggiungervi prima o dopo altri comandi/opzioni ### !$ equivale all’ultimo argomento del precedente comando, di conseguenza funziona anche !n_comando$ ### e qui mi allaccio ad un discorsone sulla configurazione del ~/.bashrc, visto che non possiamo fare ### a meno di usare il terminale, vuoi perche` alcune cose si fanno presto e bene, vuoi perche` a volte ### non c'e` alternativa (soprattutto valida e potente) ############################################################################################## # ~/.bashrc: executed by bash(1) for non-login shells. # see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) for examples # If not running interactively, don't do anything [ -z "$PS1" ] && return # don't put duplicate lines in the history. See bash(1) for more options export HISTCONTROL=ignoredups export HISTCONTROL=erasedups #check the window size after each command and, if necessary, # update the values of LINES and COLUMNS. shopt -s checkwinsize # make less more friendly for non-text input files, see lesspipe(1) [ -x /usr/bin/lesspipe ] && eval "$(lesspipe)" # set variable identifying the chroot you work in (used in the prompt below) if [ -z "$debian_chroot" -a -r /etc/debian_chroot ]; then debian_chroot=$(cat /etc/debian_chroot) fi # set a fancy prompt (non-color, unless we know we "want" color) case "$TERM" in xterm-color) # PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' ;; *) PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' ;; esac # Comment in the above and uncomment this below for a color prompt PS1='${debian_chroot:+($debian_chroot)}\[\033[00;33m\]\u@\h\[\033[00m\]:\[\033[00m\]\w\[\033[00m\]\$ ' # If this is an xterm set the title to user@host:dir #case "$TERM" in #xterm*|rxvt*) # PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"' # ;; #*) # ;; #esac # Alias definitions. # You may want to put all your additions into a separate file like # ~/.bash_aliases, instead of adding them here directly. # See /usr/share/doc/bash-doc/examples in the bash-doc package. #if [ -f ~/.bash_aliases ]; then # . ~/.bash_aliases #fi # enable color support of ls and also add handy aliases if [ "$TERM" != "dumb" ]; then eval "`dircolors -b`" alias ls='ls --color=always' #alias dir='ls --color=auto --format=vertical' #alias vdir='ls --color=auto --format=long' fi # some more ls aliases alias lsa='ls -a' alias rm='rm -i' alias cache='apt-cache search' # enable programmable completion features (you don't need to enable # this, if it's already enabled in /etc/bash.bashrc and /etc/profile # sources /etc/bash.bashrc). if [ -f /etc/bash_completion ]; then . /etc/bash_completion fi HISTSIZE=3333 ############################################################################################## ### il /root/.bashrc varia rispetto l'originale solo per gli alias ### e il colore del prompt alias ls='ls --color=always' alias rm='rm -i' alias lsa='ls -a' alias rm='rm -i' alias cache='apt-cache search' alias inst='apt-get install' alias rem='apt-get remove' # for a color prompt PS1='${debian_chroot:+($debian_chroot)}\[\033[00;44m\]\u@\h\[\033[00m\]:\[\033[00m\]\w\[\033[00m\]\$ ' ############################################################################################## ### commento solo due punti salienti, il resto e` abbastanza intuitivo, e poi c'e` sempre il man da leggere :) ### HISTSIZE=3333 : il default e` 500, con questo aumentiamo a dismisura la quantita` di righe salvate nella ### history (~/.bash_history) con notevoli vantaggi, provate ctrl+r in terminale, digitate alcune lettere di un ### comando che ricordate di aver dato e poi continuate con ctrl+r fino ad ottenere il comando voluto ### questo e` cio` che ritengo essenziale e dannatamente comodo # Comment in the above and uncomment this below for a color prompt PS1='${debian_chroot:+($debian_chroot)}\[\033[00;33m\]\u@\h\[\033[00m\]:\[\033[00m\]\w\[\033[00m\]\$ ' ### si tratta del prompt, ovvero skizzhg@jackinthebox:~$ ### e della sua ostica configurazione dei colori ### i motivi sono due, non tanto per l'estetica che comunque ha il ### suo ruolo, ma per distinguere bene l'utente da root ### (abbiamo solo due miseri simbolini: $ #) e per trovare il ### prompt in mezzo a tanto output, quando abbiamo il buffer ### strapieno, tipo con un 'dmesg' ### si passa dal cambiare colore ad avere il testo grasso ### sottolineato, con sfondo o blinkante con il cursore ### i parametri da cambiare sono quelli tra le quadre da ### lo stesso vale per il gruppo di cifre prima del punto e ### virgola, se lo scrivete cosi` [00;34m\] evitate il grassoccio ### che fa decisamente pena ### i riferimenti li trovate con 'dircolors -p' che mostra anche ### i colori associati ad ogni tipo di file usando 'ls --color' # Attribute codes: # 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed # Text color codes: # 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white # Background color codes: # 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white ### insomma, un bel backup e tanti esperimenti sono piu` esaustivi ### di mille spiegazioni :) ### per mia esperienza, consiglio di modificare solamente il pezzo ### user@machine e lasciar stare :~$ perche` con alcuni terminali ### puo` dare fastidi, per il colore del testo potete mettere mano ### alle opzioni (gnome-terminal/xfce4-terminal) oppure crearvi una ### jAPP :) (xterm/rxvt) #ottenere output di un file dall`ultima riga alla prima ~$ tac pippo.txt ### l'utilita` di cio` la ignoro :) #gestione demoni all'avvio ~# sysv-rc-conf ### imperdibile! :) ### questo riguarda xmodmap, non e` strettamente correlato ai ### comnadi bash, ma riguarda la nostra amata tastiera :) ### come per il .bashrc, ecco il mio ~/.Xmodmap ############################################################################ ! per qualche motivo a me sconosciuto per commentare bisogna usare ! il simbolo ! altrimenti non funziona, vedi ~/.xsession-errors ! per una lista con relativo codice guarda ! /usr/X11R6/lib/X11/xkb/keycodes/xfree86 ! usa xev per il tasto corrispondente ! usa 'xmodmap ~/.Xmodmap' per aggiornare le modifiche senza riavviare X ! odio sto tasto che capita sempre sotto le dita al momento ! sbagliato e ci metto uno slash :) remove Lock = Caps_Lock keycode 66 = slash ! esempio ! cambia il tasto control destro in un tasto compose per caratteri bizzarri ! remove control = Control_R ! keycode 109 = Multi_key !viva i mancini! :) pointer = 3 2 1 4 5 ############################################################################ ### in sostanza e` la rimappatura della tastiera a nostro piacimento ### io ho sostituito il CapsLock (detesto il maiuscolo) con lo / ### cosi` evito di usare shift+7 o di far correre la mano destra sul KeyNum ### inoltre possiamo rimappare i tasti del mouse, cosa che ho fatto subito :) (vale per DE privi di utility grafiche, tipo Fluxbox) ### e mappare i tasti multifunzione se abbiamo una tastiera multimediale ################################################## keycode 161 = XF86Calculator keycode 223 = XF86Sleep keycode 174 = XF86AudioLowerVolume keycode 176 = XF86AudioRaiseVolume keycode 160 = XF86AudioMute keycode 162 = XF86AudioPlay keycode 164 = XF86AudioStop keycode 144 = XF86AudioPrev keycode 153 = XF86AudioNext keycode 237 = XF86AudioMedia ################################################## ### se, come me su questo pc, aveste problemi (fa un po' a botte ### con la tastiera americana) si possono integrare queste ### modifiche nel ~/.xsession o ~/.xinitrc che usate in questo modo ### xmodmap -e "pointer = 3 2 1 4 5" ### altrimenti sempre nei suddetti file si puo` usare ### tranquillamente nella forma xmodmap "$HOME/.Xmodmap" ### sono abituato a fare un backup di tutta la distro ad ### installazione fresca e con gran parte dei miei programmi ### preferiti e configurati, ma prima di qualsiasi aggiornamento ### e smanettamento :) ~# cd / ~# tar cvpjf deb-bkp.tar.bz2 --exclude=/proc --exclude=/lost+found --exclude=/deb-bkp.tar.bz2 --exclude=/mnt --exclude=/media --exclude=/sys / ~# mv deb-bkp.tar.bz2 /media/hd_diverso_da_quello_di_root ### per ripristinare ~# cd / ~# cp /media/hd_diverso_da_quello_di_root/deb-bkp.tar.bz2 / ~# tar xvpfj deb-bkp.tar.bz2 -C / ~# mkdir proc lost+found mnt media sys #cancellare dischi o partizioni ~$ dd if=/dev/null of=/dev/hdX bs=1k #cancellare dischi o partizioni in maniera approfondita #(diventa difficile un eventuale tentativo di ripristino) ~$ dd if=/dev/urandom of=/dev/hdX bs=1k && dd if=/dev/null of=/dev/hdX bs=1k ### prima ancora delle maiuscole una cosa che odio a morte ### sono i suoni di sistema, le campanelle, l'altoparlante del pc ### l'unica cosa che deve uscire dalle casse e` la mia musica ~# vim /etc/inputrc ### decommentare la riga set bell-style none ### ma non con tutto ahime` funziona, ci vogliono provvedimenti ### drastici, quindi non caricheremo il modulo all'avvio ~#vim /etc/modprobe.d/blacklist ### aggiungere la voce blacklist pcspkr ### silence! i've killed you! :D ####################################################### ### durante la creazione di questo file skizzHG ha ### bevuto birra pilsner edelmeister ### ascoltato trentemoller ### fumato camel blue 100's ######################################################