/ sistema operativo/dir principali (HOME di root) /etc scripts di startup,cnf files,commandi poco usati /lib librerie di sistema /usr/lib librerie di sistema linguaggio 'C' /usr/include include di sistema linguaggio 'C' /tmp directory temporanea /usr/local/ applicativi locali alla societa' etc/ files di configurazione/scripts bin/ eseguibili/binari/scripts include/ include files lib/ librerie doc/ documentazione man/ manuali in linea- /usr/local// dir. di una applicazione complessa src/ sources include/ includes lib/ librerie bin/ binary etc/ files di configurazione scripts doc/ documentazione /home/* directory degli utenti /users/* directory degli utenti dir. dell'utente COGNOME dir. dell'applicazione APPL
La directory /usr/local/ e' quella dove sono messe le parti che devono essere viste da tutti gli utenti del sistema.
Le parti messe in queste directory DEVONO essere testate in quanto sono lanciabili o utilizzabili da tutti.
Intendesi come TESTATE parti che non contengono errori o che hanno funzionalita' incomplete o pericolose.
L'accesso a questa directory deve normalmente passare attraverso il System Administrator salvo eccezioni da gestire singolarmente.
Le parti singole si inseriscono direttamente nelle sotto-directory bin, etc, lib, doc.
Nel caso di un prodotto con piu' directory e/o molti files e' preferibile inserire un livello di directory con il nome del prodotto o applicazione.
- /tmp
La directory /tmp puo' essere periodicamente ripulita dei files piu' vecchi e/o piu' grossi anche senza preavviso.
Tuttavia alcune piccole regole mutuate dall'ambiente Unix vengono suggerite.
Le seguenti directory sono consigliabili:
$HOME/bin eseguibili/script utente $HOME/etc files di configurazione utente $HOME/tmp da utilizzare al posto di /tmp se si vuole evitare cancellazioni improvvise e inopportuneLe modalita' di accesso dei files consentono di proteggere gli stessi da involontarie cancellazioni proprie o degli utenti appartenenti per esempio allo stesso gruppo.
Per evitare questo genere di problemi settare i premessi della propria directory con i seguenti comandi:
cd chmod -R g-w * chmod -R o-wx *
.../Per il file di compilazione utilizzare di preferenza il nome 'Makefile' in quanto con la lettera 'M' maiuscola viene elencato prima degli altri files con il comando 'ls'./ directory utente sviluppo src/ file sorgenti ( .c .y .l .f Makefile ... ) RCS/ RCS dir inc/ file include ( .h ) RCS/ RCS dir bin/ eseguibili lib/ librerie etc/ files di configurazione doc/ documentazione bak/ salvataggi utente
Tutti gli utenti utilizzano come shell di partenza la 'ksh' o Korn Shell.
Tale shell e' al momento la piu' utilizzata, versatile e compatibile con altre vecchie versioni (sh o Bourne shell).
Si sconsiglia l'utilizzo della 'csh' in quanto non compatibile con le shell maggiormente utilizzate: 'sh' e 'ksh'.
Il file '.profile' viene installato da un default e puo' successivamente essere modificato dall'utente lasciando, possibilmente, inalterata la parte comune.
Sono gia' forniti i seuenti alias che semplificano l'approccio ad utenti non abituati a Unix (ma a MsDos):
dir .. ls -la ren/rename .. mv copy .. cp del .. rm -i type .. cat
GROUPS STANDARD ==================================================
Vengono definite alcune caratteristiche di gruppi con caratteristiche diversi per differenziare i permessi degli utenti:
usr .. utenti interni ditta guest .. utenti esterni dittaREGOLE GENERALI
- RootL'utente root non deve essere utilizzato per le normali operazioni di lavoro.
- Files e directories
Per definizione non esistono limitazioni ai nomi che si possono dare ai files a alle directory.
Il solito buon senso forza ad impedire le seguenti liberta' almeno nelle parti che devono essere utilizzate da piu' utenti:
- directory che cominciano con .
- nomi che contengono caratteri non displayabili
- nomi che sono esageratamente lunghi
Si consiglia inoltre di utilizzare il piu' possibile nomi composti da caratteri minuscoli.
- Links
Non utilizzare il link fisico dei files usa piuttosto 'ln -s' che crea un link simbolico e consente di avere un unica copia sorgente con una miglior visibilita' del link.
- Alias
Evitare assolutamente alias di programmi standard Unix. Questa pratica, apparentemente innoqua, puo' essere causa di involontari errori o perdite di tempo.
Evitare dunque la creazioni di alias o script con, per esempio, i seguenti nomi:
cat, ls, grep -v, cd $HOME, ... Se proprio e' necessario utilizzare alcune delle seguenti modalita':
Cat, L, NG, cdh, ... Evitare assolutamente alias di comandi distruttivi con path associati:
RM := rm -rf * se lanciato inconsapevolmente dalla root questo comando rimuove ogni file a cui puo accedere !!!
- Core
Rimuovere i core che vengono creati nelle directory utente mediante il comando 'rmcore' che rimuove i core piu' vecchi di una settimana.
- Password
Si consiglia di evitare per le password le seguenti regole:
- uguale al nome di login
- il nome di login rovesciato
- nomi di persona, parole di uso comune
Esistono programmi che decodificano facilmente queste password.
Tipi di password consigliati:
- pwd-4 xkt,3 2oni %p2p ::ks al:berto$
- Estensione files
Unix non necessita di nessuna estensione per identificare tipologie di files, comunque alcune regole sono indicate negli ambienti di sviluppo e dal comune buon senso.
Inoltre per Unix il punto come separatore non assume significati particolari (tranne in due casi) essendo semplicemente una convenzione mutuata da altri ambienti, ma permette all'utente una facile identificazione dei files.
Di seguito alcune convenzioni:
.C .cc .CC .. sorgenti linguaggio 'C++' .c .. sorgenti linguaggio 'C' .cob .. sorgenti linguaggio 'cobol' .h .. include linguaggio 'C' .o .. oggetti prodotti dal compilatore .a .. librerie archive .sl .. shared library .H .hh .HH .. include linguaggio 'C++' .y .. sorgenti 'yacc' .l .. sorgenti 'lex' .log .. log files .dat .. files contenenti dati .sh .ksh .csh .. indica shell script