lcs:lcs07:bash_commands
Indice
Promemoria bash
Generali
File system
. | directory corrente |
.. | directory padre |
~username | home directory dell'utente username |
~ | home directory dell'utente corrente |
Ridirezioni
[0]<, < | ridirige lo standard input |
[1]>, > | ridirige lo standard output |
[2]>, &> | ridirige lo standard error |
[n]» | redirezione dell'output in append (n filedes) |
Wildcards
* | qualsiasi stringa: ad esempio *.c puo' essere espanso con “ff.c g.c prova.c” |
? | qualsiasi carattere: ad esempio ?.c puo' essere espanso con “f.c g.c p.c” |
[..] | qualsiasi carattere dell'insieme: ad esempio [fg].c e' espanso con “f.c g.c” |
Combinare comandi
c1 ; c2 | esecuzione in sequenza |
c1 | c2 | esecuzione in pipe (lo stdout di c1 viene inviato sullo stdin di c2) |
Comandi
Miscellanea
Comando | Descrizione | Esempio |
---|---|---|
date | fornisce la data corrente | $ date Tue Feb 14 18:21:00 CET 2006 |
clear | pulisce la finestra | |
man comando | permette di accedere alle pagine di manuale in linea per il comando comando | $ man man man(1) man(1) NAME man - format and display the on-line manual pages manpath - determine user's search path for man pages SYNOPSIS man [-acdfFhkKtwW] [-m system] [-p string] [-C con- fig_file] [-M path] [-P pager] [-S section_list] [section] name ... ... |
pwd | stampa il path assoluto della Working Directory corrente | $ pwd /.automount/homeserver/local/disc2/home/s/susanna/ESERCITAZIONI |
cd directory | cambia la Working Directory corrente con directory, se non viene specificato nulla si va nella home | $ cd $ pwd /home/d/dangelo $ cd Desktop $ pwd /home/d/dangelo/Desktop $ cd .. $ pwd /home/d/dangelo |
ls XX | lista il contenuto della directory XX o il file XX. Senza argomenti, visualizza il cotnenuto della directory corrente. | $ ls Canceled.mail HTTPlocation TMP-ESE jkjk ESERCITAZIONI OLD-Lab a.out ese.tar |
ls -l XX | lista anche gli attributi dei file e delle directory | $ ls -l ESERCITAZIONI Canceled.mail a.out -rw------- 1 susanna docenti 3128 Oct 1 1997 Canceled.mail -rwxr-xr-x 1 susanna docenti 13955 Nov 3 1998 a.out ESERCITAZIONI: total 16 -rw-r--r-- 1 susanna docenti 693 Oct 22 1998 ese13-10.c -rw-r--r-- 1 susanna docenti 1238 Oct 22 1998 ese22-10sizeof.c -rw-r--r-- 1 susanna docenti 724 Oct 22 1998 eseD13-10.c -rw-r--r-- 1 susanna docenti 4754 Oct 22 1998 esebit15-10.c -rw-r--r-- 1 susanna docenti 465 Oct 26 1998 min_maiu22-10.c -rw-r--r-- 1 susanna docenti 831 Oct 26 1998 poly22-10.c -rw-r--r-- 1 susanna docenti 3073 Oct 29 1998 sol27-10.c -rw-r--r-- 1 susanna docenti 357 Oct 26 1998 stampa_ascii22-10.c |
ls -d XX | lista le informazione relative alla directory indicata | $ ls -ld ESERCITAZIONI drwxr-xr-x 2 susanna docenti 512 Nov 5 1998 ESERCITAZIONI/ |
ls -a XX | lista anche i file il cui nome comincia per punto (.) | |
less fileditesto | pager per file di testo lunghi: mostra fileditesto una schermata alla volta, con le frecce e spazio ci si sposta e con q si esce | |
od | visionare i file binari (non ASCII) | $ od -s mpack 0000364 /lib/ld-linux.so.2 0000424 GNU 0003211 __gmon_start__ 0003230 libc.so.6 0003242 strcpy 0003251 stdout 0003260 __ctype_b 0003272 getenv 0003301 getpid 0003310 fgets 0003316 memcpy 0003325 execl 0003333 perror 0003342 dup2 0003347 feof 0003354 malloc 0003363 optarg ...... |
file filename | mostra il tipo del file filename | $ file a.out a.out: ELF 32-bit LSB executable, Intel 80386, version 1, dynamically linked (uses shared libs), not stripped $ file Canceled.mail Canceled.mail: mail text |
touch nomefile | crea un file “nomefile” se questo non esiste, altrimenti cambia il timestamp dell'ultimo accesso | $ ls pippo ls: pippo: No such file or directory $ touch pippo $ ls -l pippo -rw-r--r-- 1 susanna users 0 2005-02-14 09:53 pippo |
cat file1 file2 … | concatena il contenuto dei file file1 file2 ecc. e lo invia sullo standard output. Senza parametri legge lo standard input e lo invia sullo standard output | |
cat > nomefile | permette di creare velocemente file di testo. Usate control+d per segnalare la fine del testo (End Of File) | $ cat > tt hkjhkhal kshlhlhla ^D $ ls tt 1 tt $ cat tt hkjhkhal kshlhlhla |
sort | ordina lessicograficamente le linee sullo standard input e le invia sullo standard output | $ sort g f e ^D <-- fine stdin e f g |
Creazione / Distruzione / Copia di file e directory
- La creazione dei file avviene con un editor (emacs, vi, ecc.), o utilizzando il comando touch o la redirezione della shell (per esempio usando cat > file).
- La creazione di directory avviene con il comando mkdir.
Comando | Descrizione | Esempio |
---|---|---|
mkdir directory | crea la directory di nome directory | $ mkdir MAN $ ls -ld MAN drwxr-xr-x 2 susanna docenti 512 Sep 21 13:55 MAN/ |
cp | serve per COPIARE file/directory | |
cp source dest | copia il file o la directory source in dest | |
cp file1 … fileN dir | copia file1 … fileN nella directory dir | |
cp -r dir1 dir2 | copia ricorsivamente tutto il sottoalbero radicato in dir1 in dir2 | |
rmdir nomedir | rimuove una directory vuota | |
rm XX | rimuove il file XX | |
rm [-i] f1 … fN | rimuove i file f1 … fN. L'opzione -i serve per chiedere conferma (meglio specificarla, o impostare rm come alias di rm -i) | |
rm -r XX | rimuove il file XX o una directory insieme a tutto il suo contenuto, ricorsivamente. Pericoloso | |
mv source dest | sposta source in dest e rimuove source: serve per spostare/rinominare file e directory | |
mv dir1 dir2 | sposta dir1 nella directory dir2 (se dir2 esiste) oppure rinomina dir1 con il nome dir2 (se dir2 non esiste) | |
mv file1 … fileN dir | sposta file1… fileN in dir |
Cambio diritti
Comando | Descrizione | Esempio |
---|---|---|
chmod [-R] mode file1 … fileN | cambia i diritti di file1 … fileN come specificato da mode. Se viene usato con -R, cambia i permessi ricorsivamente nelle directory specificate. mode specifica i nuovi permessi, in notazione simbolica [u g o a][+ - =][r w x] oppure 4 cifre ottali. | $ ls -l Canceled.mail -rw------- 1 susanna docenti 3128 Oct 1 1997 Canceled.mail $ chmod ugo+r Canceled.mail $ ls -l Canceled.mail -rw-r--r-- 1 susanna docenti 3128 Oct 1 1997 Canceled.mail $ chmod 755 Canceled.mail $ ls -l Canceled.mail -rwxr-xr-x 1 susanna docenti 3128 Oct 1 1997 Canceled.mail* |
Alias
Lista delle ridenominazioni predefinite (alias) in ~/.bash_aliases NB: in bash sono superati dalle funzioni!!!! alias nome mostra l'alias per nome --------------------------------------------------------------------- % alias rm alias rm='rm -i' ------------------------------------------------------------------- alias nome definizione permette di creare nuovi alias ------------------------------------------------------------------- % alias pippo='rm -i' % alias pippo alias pippo='rm -i' ------------------------------------------------------------------- unalias nome permette di eliminare ridenominazioni ------------------------------------------------------------------- % unalias pippo % pippo pippo: Command not found. ------------------------------------------------------------------- 2.5 Processi ^^^^^^^^^^^^ & esecuzione in background sleep n_sec non fa niente per n_sec --------------------------------------------- % sleep 40 & % ----------------------------------------------- ho attivato un processo in background che non fa niente per 40 secondi ps mostra i processi in esecuzione -------------------------------------------- % ps PID TTY TIME CMD 1157 pts/0 00:00:00 csh 1328 pts/0 00:00:00 sleep 1329 pts/0 00:00:00 ps -------------------------------------------- ps -l fornisce informazioni dettagliate su ogni processo --------------------------------------------------------------------- % ps -l F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 100 S 16325 1157 1156 0 67 0 - 563 rt_sig pts/0 00:00:00 csh 000 S 16325 1328 1157 0 64 0 - 262 nanosl pts/0 00:00:00 sleep 000 R 16325 1330 1157 0 70 0 - 669 - pts/0 00:00:00 ps --------------------------------------------------------------------- La colonna S specifica lo stato: R: running, in esecuzione al momento o in attesa del processore S: sleeping, in attesa di un evento, ad esempio un carattere dalla tastiera T: stopped, congelato, in attesa di essere riattivato N: nice, processo running con priorita' bassa Z: zombie, processo morto ma in attesa di comunicare il suo codice di errore al padre jobs fornisce i job attivati dalla shell corrente ---------------------------------------------------- % jobs [1] + Running sleep 40 % ---------------------------------------------------- kill [opt] pid kill [opt] %N_job UCCIDE il processo con process identifier PID e con numero di job N_job ---------------------------------------------------- % ps -l F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 100 S 16325 1157 1156 0 67 0 - 564 rt_sig pts/0 00:00:00 csh 000 S 16325 1334 1157 0 62 0 - 262 nanosl pts/0 00:00:00 sleep 000 R 16325 1336 1157 0 70 0 - 669 - pts/0 00:00:00 ps % kill %2 [2] Terminated sleep 40 % ps PID TTY TIME CMD 1157 pts/0 00:00:00 csh 1337 pts/0 00:00:00 ps % ---------------------------------------------------- le opzioni indicano il tipo di segnale inviato per la terminazione, il piu' letale e' -KILL (es: kill -KILL 1157) ^C ammazza i processi che girano in foreground ^Z mette in stato di stopped (T) u nprocesso in foreground bg [%N_job] riprende l'esecuzione in background fg [%N_job] riprende l'esecuzione in background 2.6 History ^^^^^^^^^^^ history k lista gli ultimi k comandi eseguiti ------------------------------- % history 4 111 14:42 ps -l 112 14:42 fg 113 14:46 sort 114 14:52 history 4 % ------------------------------- !! ripete l'ultimo comando eseguito !so ripete l'ultimo comando seguito che inizi per `so' !113 ripete il comando numero 113 (sort) -------------------------------- % !! history 4 112 14:42 fg 113 14:46 sort 114 14:52 history 4 115 14:54 history 4 % ------------------------------------ stty permette di listare i Metacaratteri (--all) e cambiare i setting del terminale ----------------------------------------------------- % stty --all speed 38400 baud; rows 45; columns 80; line = 0; intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0; -parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke ----------------------------------------------------- Alcuni metacaratteri (CONTROL = ^) ^D end of file ^C abortisce l'esecuzione del comando in corso ^H cancella un carattere ^S blocca l'uscita del video ^Q sblocca l'uscita del video ^Z mette un processo in attesa -------------------------------------
lcs/lcs07/bash_commands.txt · Ultima modifica: 04/02/2007 alle 15:29 (18 anni fa) da peppe