Red Hat Linux release 4.0 (Colgate) Kernel 2.0.18 on an i486 login: enrico Password: Last login: Sat Jul 4 22:27:01 from tosto Dove sono? tana:~$ pwd /home/enrico questa e' la directory nella quale sono adesso. C'e' un legame fra il nome della dir e il logname? direi proprio di si: _SONO_UGUALI_ la riga nella quale scrivo e' sempre preceduta dalla stringa: "tana:~$". Cos'e'? Quella stringa si chiama PROMPT e mi mostra, in questo caso,qual e' il nome del compuer al quale sono connesso (tana), la home directory (enrico) e il carattere $. Posso cambiarlo? Certo, basta cambiare il valore della variabile d'ambiente PS1. Adesso su che valore e' impostata? tana:~$ echo $PS1 \h:\w\$ Posso cambiare il prompt cosi': tana:~$ PS1="\t:\W:Ciao Enrico>" 23:39:29:enrico:Ciao Enrico> Meglio ripristinare il prompt precedente. [Esercizio] Il comando echo visualizza la stringa che segue. Se all'interno della stringa vi sono variabili precedute dal carattere $ allora viene mostrato il loro contenuto. Per esempio tana:~$ echo Ciao $USER, la tua home dir e\' $PWD Ciao enrico, la tua home dir e' /home/enrico Purtroppo alcuni caratteri hanno un significato SPECIALE allora per visualizzarli bisogna utilizzare un carattere di ESCAPE: \. Quindi per visualizzare $ scrivero' \$ e per ' \' Altri comandi riguardanti l'ambiente? Per vedere tutte le variabili settate basta utilizzare il comando set (provalo!). Se si vuole che una variabile sia visibile anche da altri "ambienti" esterni alla shell che sto usando devo "esportarla" col comando export. Per esempio tana:~/docs$export DISPLAY=192.168.100.1:0.0 Cosi' l'ho settata ed esportata nello stesso comando. Potevo comunque farlo in due fasi. cd che porta nella home directory: tana:~$ cd /tmp/; pwd /tmp tana:/tmp$ cd tana:~$ pwd /home/enrico hostname per restituire il nome del computer al quale si e' connessi: tana:~$ hostname tana whoami o il piu' completo 'who am i' che restituiscono l'identita' corrente tana:~$ whoami enrico tana:~$ who am i tana!enrico ttyp1 Jul 4 23:19 (tosto) who per mostrare chi e' collegato in questo momento al computer tana:~$ who enrico ttyp0 Jul 4 23:15 (tosto) enrico ttyp1 Jul 4 23:19 (tosto) date che restituisce data e ora corrente tana:~$ date Sat Jul 4 23:31:06 MET DST 1998 Dovendo ripetere spesso una sequenza di istruzioni, c'e' un modo per raggrupparle? I comandi possono essere scritti uno di seguito all'altro separandoli con un punto e virgola. Se voglio associare un comando al gruppo uso l'istruzione alias Per esempio tana:~$ alias ll="ls --all" tana:~$ alias alias ll='ls --all' alias ls='ls --color=always' alias which='type -path' Ma i comamdi che scrivo dove stanno? Alcuni sono interni al programma che mi permettere di scriverli, la shell; altri sono programmi che raggiungo perche' sono all'interno di directory che sono specificate nella variabile PATH. A cosa e' settata adesso? [Esercizio] E se un programma non e' in una di quelle directory? Devo allora speificare il percorso assoluto o relativo che sia Percorso? Il path o percorso e' la sequenza di directory che si "percorrono" per giungere al file che interessa. Se il percorso parte dalla "madre" delle directory la root allora basta iniziare con il carattere /, altrimenti se parto dalla directory corrente devo specificare le directory .. o . per indicare la madre della directory corrente o la directory stessa. Per esempio: tana:~$pwd /home/enrico tana:~$cd /home tana:/home$pwd /home tana:/home$ Oppure tana:/home$cd tana:~$pwd /home/enrico tana:~$cd .. tana:/home$pwd /home tana:/home$ Ottengo lo stesso risultato specificando la directory di destinazione partendo da "sopra" o da "sotto". Lo abbiamo appena introdotto: il comando cd (change diretory) serve a cambiare la directpory corrente. Per creare una directory si usa il comando mkdir (make directory), per cancellarla si utilizza rmdir (attenzione deve essere vuota per essere cancellata). Esercizio: Crea la seguente struttura di directory docs/ OpenOffice/ html/ ppt/ txt/ lang/ c/ cc/ pas/ perl/ php/ latex/ dvi/ ps/ source/ Se un programma si trova nella directory corrente, come faccio ad eseguirlo? tana:~/docs$./programma Adesso come faccio a creare un file? Vi sono vari modi per creare un file, il piu' semplice e' con il comando touch tana:/tmp$touch pippo.txt tana:/tmp$ls -s total 0 0 pippo.txt tana:/tmp$ come vedete il file e' vuoto: la dimensione e' nulla.