Corso UNIX per principianti

Slides:



Advertisements
Presentazioni simili
Trieste, 26 novembre © 2005 – Renato Lukač Using OSS in Slovenian High Schools doc. dr. Renato Lukač LinuxDay Trieste.
Advertisements

Numeri a 100 Electronic flashcard. 1 uno ritorno.
Cache Memory Prof. G. Nicosia University of Catania
Dipartimento di Ingegneria Idraulica e Ambientale - Universita di Pavia 1 Caduta non guidata di un corpo rettangolare in un serbatoio Velocità e rotazione.
1 MeDeC - Centro Demoscopico Metropolitano Provincia di Bologna - per Valutazione su alcuni servizi erogati nel.
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
Frontespizio Economia Monetaria Anno Accademico
Un DataBase Management System (DBMS) relazionale client/server.
J0 1 Marco Ronchetti - Corso di Formazione Sodalia – Febbraio 2001 – Modulo Web Programming Tomcat configuration.
prompt> java SumAverage
Varianza campionaria Errore standard della varianza campionaria
Canale A. Prof.Ciapetti AA2003/04
1. Conoscere luso delle collezioni in Java Comprendere le principali caratteristiche nelle varie classi di Collection disponibili Saper individuare quali.
NCI Cancer Mortality Atlas Electronic version of book Dynamic, accessible graphs Interactive maps Downloadable data Cervix uteri cancer mortality, white.
2000 Prentice Hall, Inc. All rights reserved. 1 Capitolo 3 - Functions Outline 3.1Introduction 3.2Program Components in C++ 3.3Math Library Functions 3.4Functions.
Già primario f.f. U.O. di neurochirurgia
MP/RU 1 Dicembre 2011 ALLEGATO TECNICO Evoluzioni organizzative: organico a tendere - ricollocazioni - Orari TSC.
2000 Prentice Hall, Inc. All rights reserved. 1 Capitolo 6: Classi e astrazione dati 1.Introduzione 2.Definizione delle strutture 3.Accedere ai membri.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%% % Accrescimento della PECORA IN TASMANIA % % dal 1820 ad oggi % % ( MODELLO LOGISTICO ) % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Cos’è un problema?.
Gli italiani e il marketing di relazione: promozioni, direct marketing, digital marketing UNA RICERCA QUANTITATIVA SVOLTA DA ASTRA RICERCHE PER ASSOCOMUNICAZIONE.
Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX Dettagli e comandi avanzati Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.
Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX Dettagli e comandi avanzati Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.
Sistemi Operativi - Introduzione 1 Informazioni utili Per avere una distribuzione linux sul proprio pc: 1.
Le regole Giocatori: da 2 a 10, anche a coppie o a squadre Scopo del gioco: scartare tutte le carte per primi Si gioca con 108 carte: 18 carte.
Players: 3 to 10, or teams. Aim of the game: find a name, starting with a specific letter, for each category. You need: internet connection laptop.
Sequence. CREARE UNA SEQUENCE CREATE SEQUENCE nome [INCREMENT BY n] [START WITH n] [MAXVALUE n | NOMAXVALUE] [MINVALUE n | NOMINVALUE] [CYCLE | NOCYCLE]
PRODOTTO CARTESIANO Otteniamo un prodotto cartesiano quando: viene omessa la condizione di join una condizione di join non è valida tutte le righe della.
FUNZIONI DI GRUPPO Le funzioni di gruppo operano su un set di record restituendo un risultato per il gruppo. AVG ([DISTINCT|ALL] n) media, ignora i valori.
Constraints.
Componenti dell’architettura Oracle
CHARGE PUMP Principio di Funzionamento
Settimana: 3-7 marzo Orariolunedimartedi Mercoledi 5 Giovedi 6 Venerdi lezione intro alla fis mod DR lezione intro alla fis mod DR.
Palermo, may 2010 F.Doumaz, S.Vinci (INGV-CNT- Gruppo di telerilevamento)
Sistemi Operativi – La shell Salvatore Campagna Politecnico di Torino Dipartimento di Automatica.
Regolarità nella griglia dei numeri
Q UESTIONI ETICHE E BIOETICHE DELLA DIFESA DELLA VITA NELL AGIRE SANITARIO 1 Casa di Cura Villa San Giuseppe Ascoli Piceno 12 e 13 dicembre 2011.
Microsoft Access Maschere.
Muoversi tra le finestre
JavaScript Lezione 5 Tipizzazione ed operazioni tra tipi diversi Istruzioni di input.
1 Negozi Nuove idee realizzate per. 2 Negozi 3 4.
ORDINE DI CHIAMATA a 1minuto e 2 minuti PRINCIPALI TEMPI DELLA COMPETIZIONE ORDINE DI CHIAMATA a 1minuto e 2 minuti PRINCIPALI TEMPI DELLA COMPETIZIONE.
Project Review byNight byNight December 6th, 2011.
ISTITUTO COMPRENSIVO “G. BATTAGLINI” MARTINA FRANCA (TA)
24 aprile 2002 Avvisi: Risultati 1 o Esonero: (entro) lunedi 27 disponibili nella pag. WEB, ma anche esposti nella bacheca fuori dal corridoio 2 o dente,
Personalizzazione e porting delle procedure esterne connesse ad Aleph Il caricamento degli utenti della circolazione da files esterni Modifiche introdotte.
Installazione di Drupal su Linux (sistemista) Installazione step-by-step e note.
GEOGRAFIA DEI NUMERI Accademia dei Lincei - Roma 18 Ottobre2011
Un trucchetto di Moltiplicazione per il calcolo mentale
21 marzo 2002 (ri-)Avvisi: Giovedi 28 marzo la lezione e sospesa. Nuovo indirizzo di Spedire messaggi e esercizi solo.
Funzioni stringhe. chr Restituisce il carattere di un valore ascii dato. Per vedere lelenco dei codici ascii clicca QQQQ uuuu iiiiEsempio
Project Review Novembrer 17th, Project Review Agenda: Project goals User stories – use cases – scenarios Project plan summary Status as of November.
Project Review byNight byNight December 21th, 2011.
Project Review Novembrer 17th, Project Review Agenda: Project goals User stories – use cases – scenarios Project plan summary Status as of November.
Project Review byNight byNight December 5th, 2011.
SUBQUERY Chi ha un salario maggiore di quello di Abel? Occorre scomporre la query in due sotto problemi: MAIN : quali impiegati hanno un salario maggiore.
Esempi risolti mediante immagini (e con excel)
1 Sky 2 Sky 3 Sky L’Universo Aperto La teoria del Big Bang prevede che, se la densità globale dell’universo non raggiunge un valore di Ωo (Omega Zero)
Introduzione al linguaggio C. Cos’e’ il C? Il C e’ un linguaggio ad alto livello Un compilatore C prende in input un file contenente codice sorgente C.
Collection & Generics in Java
NO WASTE Progetto continuità scuola primaria scuola secondaria Salorno a.s. 2013_
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 4 - Protocolli del Web Ernesto Damiani Lezione 3 – Esempi HTTP.
JDBC Java DataBase Connectivity SISTEMI ITIS B. CASTELLI Anno Scolastico
Ingresso e uscita in Java F. Bombi 10 ottobre 2002.
Customer satisfaction anno 2013 Ospedale di Circolo Fondazione Macchi Varese Presentazione risultati (Febbraio 2014)
DIRETTIVI UNITARI SPI-CGI – FNP-CISL - UILP-UIL TERRITORIO LODIGIANO Lunedì 23 marzo 2015 dalle ore 9,00 alle ore 13,00 Presso la sala Conferenze Confartigianato.
Script bash I file di comandi in Linux. BASH  Bourne Again Shell  Modalità interattiva o batch (file di comandi)  Ambiente di programmazione “completo”
1 Amministrazione di base del sistema Cristina Moretto Corso Base LinuxTrent
PROGRAMMAZIONE BASH – ISTRUZIONE IF
Tipi di Shell sh – Bourne shell csh – C shell ksh – Korn shell
Transcript della presentazione:

Corso UNIX per principianti Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 I sistemi UNIX (IBM, HP, Compaq, Linux,...) sono dialetti: i comandi principali sono fondamentalmente gli stessi ma ci sono piccole differenze (p.es. nel modo di dare le opzioni) Useremo il sistema operativo dell’IBM, il cui nome e’ AIX. L’indirizzo del calcolatore IBM di Frascati e’ axcalc.lnf.infn.it Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 Attenzione in UNIX: maiuscolo e minuscolo hanno un diverso significato non esiste il concetto di versione di file Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 Come connettersi Collegandosi da un PC o da un McIntosh, comunque si usa il protocollo di comunicazione telnet. Emulatori di finestre alfanumeriche da cui e’ possible dare solo comandi di linea (p.es.finestra DOS) emulatore di x-terminal (p.es. exceed, versaterm, putty) Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 Operazione di login: login: pace password: (la password non viene visualizzata mentre la scriviamo) Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 AIX Version 4 (C) Copyrights by IBM and by others 1982, 1996. login: pace pace's Password: **************************************************************************************** * * * * * Welcome to AIX Version 4.3! * * * * Please see the README file in /usr/lpp/bos for information pertinent to * * this release of the AIX Operating System. * Last login: Tue May 7 11:06:12 METDST 2002 on /dev/pts/28 from dxcalc.lnf.infn.it You have mail. TERM = (xterm) Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 Una volta collegati, il sistema scrive una serie di messaggi e poi chiede che tipo di terminale si stia usando (vt100, xterm) Elisabetta Pace Corso UNIX per principianti 2003

Per cambiare la password passwd Changing password for 'pace' in cell 'lnf.infn.it'. Old password: New password (RETURN to abort): Retype new password: Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 Che cosa e’ una shell E’ l’interprete dei comandi, cioe’ l’interfaccia tra l’utente ed il sistema. Esistono diverse shell (p.es. Z shell, C shell, tc-shell, Bourne shell, Korn shell): alcuni comandi sono comuni alle varie shell, mentre altri sono completamente diversi. L’informazione della shell prescelta e’ contenuta nel file di sistema che contiene tutte le informazioni riguardanti gli utenti. Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 Per esempio in tc-shell il <TAB> completa la parola mentre in altre shell no (p.es. in c-shell) Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 Che shell sto usando? > chsh Current available shells: /bin/sh /bin/bsh /bin/csh /bin/ksh /bin/tsh /usr/bin/sh /usr/bin/bsh /usr/bin/csh /usr/bin/ksh /usr/bin/tsh /usr/sbin/sliplogin /usr/sbin/uucp/uucico /usr/bin/tcsh /bin/tcsh pace's current login shell: Change (yes) or (no)? > Elisabetta Pace Corso UNIX per principianti 2003

Parleremo solo della tc-shell Elisabetta Pace Corso UNIX per principianti 2003

Variabili di shell (locali) set my_variable=value Per verificarne il valore echo $my_variable oppure set (per l’elenco di tutte le variabili) Per deassegnare unset my_variable p.es. set history = 50 Attenzione: se prima del segno = c’e’ uno spazio, deve esserci uno spazio anche dopo Elisabetta Pace Corso UNIX per principianti 2003

Variabili di ambiente (1) setenv MY_VARIABLE value Per verificarne il valore echo $MY_VARIABILE oppure env oppure setenv (per l’elenco di tutte le variabili) Per deassegnare unsetenv my_variable p.es. setenv EDITOR emacs Elisabetta Pace Corso UNIX per principianti 2003

Variabili di ambiente (2) setenv dichiara una variabile e la mette nella “calling environment” di tutti i processi figli Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 cat ex1 set formaggio=italiano echo “1 : $formaggio” subtest echo “2: $formaggio” cat subtest echo “3 : $formaggio” set formaggio = francese echo “4 : $formaggio” Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 source ex1 1 : italiano 3 : 4 : francese 2: italiano Elisabetta Pace Corso UNIX per principianti 2003

Ma se avessi sostituito setenv formaggio=italiano in esempio1 il risultato sarebbe source ex1 1 : italiano 3 : italiano 4 : francese 2: italiano Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 alias alias alias_name [’ |”]comando [’ |”] Per verificarne il valore alias alias_name Per deassegnare unalias my_variable p.es. alias dir ls -a Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 Sulle virgolette Chiudere una stringa tra virgolette a sinistra (’), fa si’ che non venga interpretata All’interno di virgolette doppie (“), parametri e comandi vengono sostituiti. Una stringa tra virgolette destre (‘) viene eseguita Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 set A=’Hello’ echo $A Hello set B=’say $A’ echo $B say $A set C="say $A" echo $C say Hello set D=‘date ‘ echo $D Wed May 8 15:28:12 METDST 2002 Elisabetta Pace Corso UNIX per principianti 2003

Execution e source di files Si puo’ fare il source di un file contenente codice tcshell (script): in questo modo non sara’ fatto partire un nuovo processo e la shell corrente eseguira’ i comandi dello script. source nome_file Nel file ci devono essere SOLO comandi tcshell. Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 p.es. Creo lo script il cui nome e’ provaScript e che contiene la seguente riga setenv EDITOR emacs Per eseguire questo script, devo dare il comando source provaScript Elisabetta Pace Corso UNIX per principianti 2003

Un file contenente un codice tcshell e che abbia come prima riga #!/usr/local/bin/tcsh Puo’ essere eseguito, iniziando cosi’ un nuovo processo. In questo modo si possono usare i comandi della tcshell usando come interpreti di comandi un’altra shell. Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 p.es. Creo lo script il cui nome e’ provaScript e che contiene le seguenti righe #!/usr/local/bin/tcsh setenv EDITOR emacs Per eseguire questo script, devo dare i seguenti comandi chmod u+x provaScript (per cambiare le protezioni del file e renderlo eseguibile) ./provaScript (per eseguire lo script) Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 Per uscire dalla tcshell > exit Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 Al momento del login, il sistema esegue alcuni file, diversi per ogni shell. Per la tc-shell questi file sono \etc\csh.cshrc e \etc\csh.login (se esistono) file di sistema .tcshrc (o .cshrc ) stabilsce variabili e parametri locali a questa shell .history (se tcshell e’ la shell di login) ricostruisce la history list della shell Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 .login (se tcshell e’ la shell di login) dovrebbe contenere i comandi che si vogliono eseguire una sola volta all’inizio di una sessione (per esempio determinare il tipo di terminale) .cshdir (se tcshell e’ la shell di login) ricostruisce il directory stack (per i comandi pushd e popd) Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 Al completamento della tcshell, il sistema esegue .logout Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 .login (esempio) # LNF .login file (Sandro Angius 16/11/99) # echo ".login starting" if ( $?ENVIRONMENT ) then if ( "$ENVIRONMENT" == "BATCH" ) exit endif ################################################################# source /afs/lnf.infn.it/system/userenv/common/system_login # Execute GROUP level commands if a group file exists and is readable if ( -r /afs/lnf.infn.it/system/userenv/common/${group}_login ) source /afs/lnf. infn.it/system/userenv/common/${group}_login Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 ################################################################# # # Execute USER level commands if a user exists and is readable if (-r $home/.alias) source $home/.alias if (-r $home/.complete) source $home/.complete if ( `uname` == "HP-UX" ) set opt = "-R" if ( `uname` == "OSF1" ) set opt = "-M" if ( `uname` == "SunOS" ) set opt = "" setenv REMHOST `who $opt | grep $tty | cut -f2 -d"(" | cut -f1 -d")"` setenv DISPLAY "$REMHOST":0 if ( "$REMHOST" == "hpxserv" && -f $home/.xmodmap ) then source .xmodmap; echo "sourcing .xmodmap" endif #xhost + echo ".login finished" Elisabetta Pace Corso UNIX per principianti 2003

File inquire operations -d file Il file e’ una directory -e file Il file esiste -f file Il file e’ un file normale -o file L’utente e’ l’owner del file -r file L’utente ha il permesso di read -w file L’utente ha il permesso di write -x file L’utente ha il permesso di execute -z file Il file ha dimensione nulla Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 .cshrc (esempio) # # LNF .cshrc file (Sandro Angius 16/11/99) echo "cshrc started" if ( $?ENVIRONMENT ) then if ( "$ENVIRONMENT" == "BATCH" ) exit endif ##################################################################### # Execute SYSTEM level commands if file exists and is readable echo "system_cshrc started" source /afs/lnf.infn.it/system/userenv/common/system_cshrc echo "system_cshrc ended" Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 ##################################################################### # Execute GROUP level commands if a group file exists and is readable # echo "group_cshrc started" if ( -r /afs/lnf.infn.it/system/userenv/common/${group}_login ) \ source /afs/lnf.infn.it/system/userenv/common/${group}_login echo "group_cshrc ended" umask 022 if ( $?prompt ) then # shell is interactive. set history=50 # previous commands to remember. set savehist=50 # number to save across sessions. set ignoreeof # no logout with <Ctrl-D> set noclobber set notify set filec set autolist # correct mispelled commands set correct = cmd set correct = all set notify (mando un messaggio quando un job in background e’ terminato) set noclobber (chiede conferma se cerco di sovrascrivere un file redirigendo l’output) set autolist (dando TABper il completamento di un coamndo, viene fornito l’elenco di tutti i possibili completamenti (altrimenti CNTRL-D)) set correct = cmd set correct = all (per chiedere alla shell di fare correzioni ortografiche) Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 unset autologout set matchbeep=nomatch setenv EDITOR emacs unsetenv http_proxy unsetenv no_proxy setenv PRINTER aen2b1 setenv WWW_HOME http://www.lnf.infn.it/~pace Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 set prompt="%m:%~%B%#%b " # tcsh prompt per AX IBM if ( `uname` == "OSF1" ) then set prompt="%T %m:%C %# " # tcsh prompt set path = ( . $path /sbin /usr/bin/X11 /usr/local/X11R5/bin \ /usr/local/bin /usr/local/gnu/bin $home/bin $home/bin/osf ) else set path = ( $path /etc /usr/local/bin /usr/local/X11R5/bin \ /usr/local/gnu/bin /usr/uimx2.9/bin $home/bin \ $home/bin/hpux . ) endif if ( `uname` == "HP-UX" ) then # setenv LPATH /usr/lib:/lib:/usr/lib/X11/extensions:. setenv LHC_ROOT /afs/cern.ch/atlas/offline/@sys/pro # setenv PATH ./:/u1/pace::$PATH if ( `uname` == "SunOS" ) then set prompt="`date '+%H:%M:%S' ` `hostname`: >" %m hostname senza dominio %~ valore del cwd (current working directory) Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 ################################################################### # # Sample alias: alias settitle 'echo -n "^[]2;$cwd^G"' alias datebook /u1/pace/datebook/bin/datebook alias edf emacs -ms white -cr white -bg black -fg white \ -fn -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-1 alias ls ls -F alias kk kill -KILL alias edi 'emacs -ms white -cr white -bg black -fg white' endif echo "cshrc ended" Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 #set path = ( . $path) #set history=50 # previous commands to remember. #set savehist=50 # number to save across sessions. #set system=`hostname` # name of this system. #set prompt="%m:%~%B%#%b " # new tcsh prompt #set ignoreeof # no logout with <Ctrl-D> #set noclobber #set notify #set filec #set autolist #setenv EDITOR vi # # EOF Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 !! ripete l’ultimo comando !?stringa? Ripete l’ultimo comando contenente stringa !numero-evento esegue l’evento numero-evento Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 Help man comando (restituisce la pagina di manuale relativa a comando) man –k parolaChiave (localizza le pagine di manuale relative a parolaChiave) manprint comando (stampa la pagina di manuale relativa a comando) xman comando (come man, ma su una nuova finestra) whatis comando (descrive la funzione di comando) Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 man man ------------------------------------------------------------------------------- Commands Reference, Volume 3 man Command Purpose Displays manual entries online. Syntax man [ [ [ -c ] [ -t ] [ Section ] ] | [ -k | -f ] ] [ -MPath ] Title ... Description The man command provides reference information on topics, such as commands, subroutines, and files. The man command provides one-line descriptions of commands specified by name. The man command also provides information on all commands whose descriptions contain a set of user-specified keywords. Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 The man command formats a specified set of manual pages. If you specify a section for the Section parameter, the man command searches in that section of the manual pages for the title specified by the Title parameter. The value of the Section parameter can be either an Arabic number from 1 through 8 or a letter. The Section letters are: C Specifies commands (including system management commands). F Specifies file-type manual pages. L Specifies library functions. n Specifies new. l Specifies local. o Specifies old. p Specifies public. Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 Note: The n, l, o, and p section specifiers are not valid for reading the hypertext information bases, which contain the operating system documentation. The Section numbers are: 1 Indicates user commands and daemons. 2 Indicates system calls and kernel services. 3 Indicates subroutines. 4 Indicates special files, device drivers, and hardware. 5 Indicates configuration files. 6 Indicates games. 7 Indicates miscellaneous commands. 8 Indicates administrative commands and daemons. Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 Note: The operating system documentation in the hypertext information databases is grouped into three sections only: command manual pages (in section 1, equivalent to section C), subroutine manual pages (in section 3, equivalent to section L), and file manual pages (in section 4, equivalent to section F). When searching for hypertext information, specifying section 1, 6, 7, or 8 will default to the command manual pages, section 2 or 3 will default to the subroutine manual pages, and section 4 or 5 will default to the file manual pages. If the Section parameter is omitted, the man command searches all sections of the manual. The search path the man command uses is a list of directories separated by a : (colon) in which manual subdirectories can be found. The MANPATH environment variable value is used for the default path. The MANPATH environment variable is not valid when reading the hypertext information bases. The man command displays the manual pages as follows: 1. The man command searches the nroff directories (man?) under the /usr/share/man directory. Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 2. The man command searches the formatted version directories (cat?) under the /usr/share/man directory. If the formatted version is available, and if it has a more recent modify time than the nroff command source, the man command displays the formatted version. Otherwise, the manual page is formatted with the nroff command and displayed. If the user has permission, the formatted manual page is deposited in the proper place, so that later invocations of the man command do not format the page again. Note: There is no nroff source for the supplied manual pages. However, you can put nroff source for manual pages into the man directories and the man command can locate and process the nroff source. 3. If the man command does not find a manual page in the /usr/share/man/man or /usr/share/man/cat directory, the man command reads from the hypertext information bases. The hypertext information bases reside in the /usr/share/man/info directory structure and contain the operating system documentation. When reading from the hypertext databases, the man command does not put any manual pages in the /usr/share/man/cat directory structure. The man command strips formatting information from the manual page, wraps lines so the lines fit on the display, and displays the manual page using the command described by the PAGER environment variable. Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 When accessing the HTML databases, man looks for the AIX library before it proceeds to other LPP libraries. Within these libraries, it processes information in the following order: cmds Commands Reference libs Subroutines, System Calls files Files Reference If the standard output is a tty, the man command pipes its output using the more command with the -s and -v flags. The -s flag eliminates multiple blank lines and stops after each page on the screen. The -v flag suppresses the display of nonprinting characters to the screen. To continue scrolling, press the space bar. To scroll an additional 11 lines when the output stops, press the Ctrl-D key sequence. The PAGER environment variable can be set to whatever pager is desired. The default value is the more command. To change the default pager, enter: PAGER=Somepager export PAGER Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 For example, if there are customized manual pages which are formatted with reverse or fractional line feeds, the PAGER environment variable may be set to /usr/bin/pg so that the line feeds are not printed as control characters. This procedure is not necessary for the AIX manual pages. When the man command uses a hypertext database, it can retrieve several articles. For example, man open displays several articles. The use of SIGINT (Ctrl-C) exits the man command completely. On the other hand, man open close also displays several articles but the use of SIGINT (Ctrl-C) causes man to display the close command information instead of exiting. Using SIGINT (Ctrl-C) again exits the man command completely. When specifying one of the Network Computing System library routines that contains a $ (dollar sign) in its name, enter a \ (backslash) preceding the $. Flags -c Displays the manual information using the cat command. Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 -f Displays entries in the keyword database related only to the command name given as the final parameter. You can enter more than one command name, each separated by a space. Use this flag to search for command articles only. To use the -f flag, a root user must have previously entered catman -w to create the /usr/share/man/whatis file. -k Displays each line in the keyword database that contains a string of characters matching the title given as the final parameter. You can enter more than one title, each separated by a space. To use the -k flag, a root user must have previously entered catman -w to create the /usr/share/man/whatis file. -MPath Changes the standard location where the man command searches for manual information. The search path the man command uses is a list of directories separated by a : (colon) in which manual subdirectories can be found. The MANPATH environment variable value is used for the default path. Note: The -M flag is not valid when the man command reads from the hypertext databases. -t Formats the manual information using the troff command. This flag is ignored if the manual page is found in a hypertext information base. Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 Exit Status This command returns the following exit values: 0 Successful completion. >0 An error occurred. Examples 1. To display information about the grep command, enter: man grep 2. To display information about the rpc_$register library routine, enter: man rpc_\$register 3. To display all entries in the /usr/share/man/whatis keyword database that contain the "mkdir" string , enter: man -k mkdir The output is equivalent to the apropos command. You receive output from the -k flag only when the /usr/share/man/whatis keyword database already exists. Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 4. To display all entries from the keyword database related to the nroff and troff commands, enter: man -f nroff troff The output is equivalent to the whatis command. You receive output from the -f flag only when the /usr/share/man/whatis keyword database already exists. 5. To display all ftp command related articles in the /usr/share/man or /usr/share/man/local path, enter: man -M/usr/share/man:/usr/share/man/local ftp Files /usr/bin/man Contains the man command. /usr/share/man Standard manual directory structure. /usr/share/man/cat?/* Directory containing preformatted pages. /usr/share/man/whatis Contains the keyword database. /usr/share/man/man?/* Directory containing nroff format manual pages. Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 Related Information The apropos command, catman command, more command, whatis command, whereis command. ------------------------------------------------------------------------------- Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 man -k fortran f2c (1) - Convert Fortran 77 to C or C++ . . . f90 (1) - Fortran 90 compiler ftnchek (1) - Fortran 77 program checker g77 (1) - GNU project Fortran Compiler (v0.5.24) hepf77 (1) - FORTRAN compiler front end UNPACK_DATA_RECORD(3) - Use Unpack Data Record to unpack a data record returned by FORTRAN binding input device inquiries. asa(1) - Prints FORTRAN files to AIX line-printer conventions. fpr(1) - Prints FORTRAN files to AIX line-printer conventions. fsplit(1) - Splits FORTRAN source code into separate routine files. struct(1) - Translates a FORTRAN program into a RATFOR program. Elisabetta Pace Corso UNIX per principianti 2003

Come aprire una nuova finestra X xterm xterm -sb (crea una finestra con scrollbar) xterm -sl number (specifica il numero di linee da salvare accessibili usando lo scrollbar) xterm –tn nome (determina il nome della finestra) xterm –bg colore (definisce il colore dello sfondo della nuova finestra X) xterm –e comando (esegue l’operazione comando nella nuova finestra; e’ sempre l’ultima opzione) Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 showrgb fornisce una lista dei colori disponibili Elisabetta Pace Corso UNIX per principianti 2003

Multitasking: background e foreground Multitasking: esecuzione contemporanea di piu’ programmi (job control). Un programma che gira in background ha la stessa priorita’ di un programma che gira in interattivo. & CTRL-z bg jobs fg Elisabetta Pace Corso UNIX per principianti 2003

Come vedere tutti i processi attivi ps -ef Le colonne dell’output ottenuto hanno il seguente significato login name processID processID del processo padre processor utilization for scheduling data di inizio del processo control terminal del processo tempo di CPU consumatodal processo nome del comando e suoi argomenti Elisabetta Pace Corso UNIX per principianti 2003

Come uccidere un comando in esecuzione kill – KILL proc-id Elisabetta Pace Corso UNIX per principianti 2003

Caratteri per nomi di files Consiglio di usare qualsiasi lettera maiuscola o minuscola, numeri, “_”, “-”, “.”. Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 File invisibili Si chiamano file invisibili quelli con nome che inizi con il carattere “.” perche’ nomralmente il comando ls non li mostra. Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 Caratteri speciali da NON usare nei nomi dei files: & ; | * ? ‘ “ ’ [ ] ( ) $ < > { } ^ # \ / % ! ~ \ per continuare un comando a capo ; pipe & background | pipe Ogni gruppo di caratteri (anche zero caratteri) ? Un qualsiasi singolo carattere [lista-caratteri] un singolo carattere della lista Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 Unix file system I files sono organizzati in gerarchie di directory. Una directory speciale e’ root, che e’ la directory piu’ alta (/). Un filename e’ una sequenza di file identifiers (cioe’ di nomi di directories) separati dal carattere /. Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 path names assoluti: iniziano per / (p.es. /exp/esperimento/user/utente/miofile) path names relativi: non iniziano per / (p.es. miofile) Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 current directory ( . ) o directory di lavoro parent directory ( .. ) home directory (˜,˜username) Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 File permissions E’ una proprieta’ del file: tutti i link a quel file avranno lo stesso modo. Tre possibili permessi (mode bits): read (r), write (w), execute (x). Il permesso x e’ necessario per eseguire un file compilato o uno shell script (cioe’ una procedura di comandi). Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 Cambiare il modo chmod mode-list filename P.es. chmod u+x file1 accorda il permesso di execute al proprietario del file chmod g-r file1 toglie il permesso di read al gruppo Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 Che cosa e’ AFS E’ un file system distribuito che permette di condividere file attraverso la rete, con dei sistemi di autenticazione, access control list e sistemi di cache migliori rispetto ad altri file systems. Per identificare gli utenti, AFS usa i token. Un token puo’ essere ottenuto al momento del login o usando il comando klog. Un token ha un tempo di vita limitato. Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 Un utente puo’ ottenere un solo token per cella alla volta, ma piu’ token per celle diverse P.es. se ho il token per yyy@lnf.infn.it, non posso avere contemporaneamente quello per xxx@lnf.infn.it, ma posso avere yyy@cern.ch Posso vedere quali sono i miei token con il comando tokens. Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 comandi AFS klog klog –h klog –cell nome-cella –principal username tokens Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 ACL per AFS In AFS, l’accesso ai file e’ gestito da un Access Control List (ACL). Solo le directory hanno un ACL: non e’ possibile assegnare un ACL ad un singolo file e quindi tutti i file contenuti in una certa directory hanno lo stesso ACL. Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 AFS definisce i seguenti diritti di accesso: r read w write k lock l lookup i insert d delete a admin ACL Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 fs listacl per vedere quale sia l’ACL di una certa directory fs setacl [userid|protectioGroup] accessRights per cambiare un ACL Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 ACL e permessi Unix I mode bits dello Unix di group e word vengono ignorati, mentre quelli dell’owner vengono esaminati se c’e’ l’assenso dell’ACL e usati per dare il permesso finale (read/write/execute) al file. P.es. Se la flag di lettura di un file e’ non selezionata (con un comando chmod –r) e si tenta di leggere quel file, si otterra’ un errore del tipo ‘Permission denied’ anche se nell’ACL il permesso di read era selezionato. Non c’e’ un permesso ACL corrispodente direttamente al mode bit execute (x): per eseguire un file AFS, l’utente deve avere il permesso di read (r) e lookup (l) nell’ACL della directory in cui si trova il file. Elisabetta Pace Corso UNIX per principianti 2003

Creazione di protection groups In AFS ogni utente puo’ creare fino a 20 protection groups. Un protection group e’ un insieme di userid e/o group-id che possono essere usate in ACL per condividere delle directory tra utenti AFS. pts creategroup username:mygroup Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 pts creategroup usertwo:mygroup (per creare un protection group) pts adduser –user newusername usertwo:mygroup (per aggiungere utenti ad un protection group esistente) pts membership usertwo:mygroup (per vedere l’elenco degli utenti di un protection group) pts listowned usertwo (per elencare i protection groups posseduti) Elisabetta Pace Corso UNIX per principianti 2003

Checking volume quotas Lo spazio file di AFS e’ composto da volumi. Ogni volume contiene una certa quantita’ di spazio allocata su un disco fisico su un certo AFS server, montato coe directory ne filesystem AFS. A ogni utente e’ associata una quota di volume fissa. fs listquota $HOME (per vedere l’uso di spazio attuale e l’uso di quota) vos examine user.usetwo (per esaminare l’uso di un certo volume) Elisabetta Pace Corso UNIX per principianti 2003

LNF AFS cell environment Home directory structure: private public www .dotfiles Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 Leggere la pagina WEB del centro di calcolo per ulteriori informazioni su AFS Elisabetta Pace Corso UNIX per principianti 2003

Bakup e restore dei files sulle macchine LNF cp $BACKUPVOL/private/main.c $HOME/private (per recuperare un file dal backup notturno (snapshot volumes) un file chiamato main.c) Elisabetta Pace Corso UNIX per principianti 2003

Come vedere il contenuto di una directory ls (directory list) ls –l (long list) ls –a (mostra anche i file nascosti) ls –F (alla fine del nome del file viene aggiunto un carattere che individua il tipo di file: / indica una directory, * indica un file eseguibile, @ indica un link soft) ls –ls (size in Kbytes) Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 ls ancoraUnaDir file1 file2 ls -F ancoraUnaDir/ file1 file2 ls -l total 8 drwxr-xr-x 2 pace finuda 2048 May 07 12:40 ancoraUnaDir -rw-r--r-- 1 pace finuda 32 May 07 12:39 file1 -rw-r--r-- 1 pace finuda 40 May 07 12:40 file2 ls -la total 34 drwxr-xr-x 3 pace finuda 2048 May 07 14:29 . drwxr-xr-x 25 pace finuda 10240 May 07 12:39 .. -rw-r--r-- 1 pace finuda 28 May 07 15:04 .file3 drwxr-xr-x 2 pace finuda 2048 May 07 12:40 ancoraUnaDir -rw-r--r-- 1 pace finuda 32 May 07 12:39 file1 -rw-r--r-- 1 pace finuda 40 May 07 12:40 file2 Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 ls -laFs total 17 2 drwxr-xr-x 3 pace finuda 2048 May 07 14:29 ./ 10 drwxr-xr-x 25 pace finuda 10240 May 07 12:39 ../ 1 -rw-r--r-- 1 pace finuda 28 May 07 15:04 .file3 2 drwxr-xr-x 2 pace finuda 2048 May 07 12:40 ancoraUnaDir/ 1 -rw-r--r-- 1 pace finuda 32 May 07 12:39 file1 1 -rw-r--r-- 1 pace finuda 40 May 07 12:40 file2 nome proprietario data ultimo accesso gruppo mode bits (il primo carattere Indica il tipo del file) dimensione Elisabetta Pace Corso UNIX per principianti 2003

comandi relativi alle directory pwd (indica la working directory) (print working directory) cd directory (cambio working directory) mkdir dirname (creo una directory) du disk usage pushd popd Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 Links Un link permette a piu’ utenti di accedere agli stessi dati. Una directory entry relativa ad un file contiene il nome del file ed un inode number, che e’ una struttura dati interna che contiene informazioni relative a quel file. Elisabetta Pace Corso UNIX per principianti 2003

differenze tra un collegamento soft e hard Un collegamento soft è praticamente un nome ulteriore che viene assegnato allo stesso file. Non occupa spazio su disco (se non per un inode), cioe’ non e’ una copia del file Un collegamento hard è una copia fisica del file; inoltre ogni cambiamento fatto all'originale (o alla copia) risulterà effettuata anche sulla copia (o sull'originale). Elisabetta Pace Corso UNIX per principianti 2003

ln filename nomelinkHard ln –s filename nomelinkSoft ls –i per vedere gli i-node dei file Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 Se si cancella un collegamento soft il file originale viene perso; se invece c'è un collegamento hard e si cancella l'originale, il collegamento (ed il suo contenuto) non verranno modificati. Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 axcalc:~/corsoUnix> ls -l total 38 drwxr-xr-x 2 pace finuda 2048 May 07 12:40 ancoraUnaDir/ -rw-r--r-- 1 pace finuda 72 May 07 15:26 file -rw-r--r-- 1 pace finuda 32 May 07 12:39 file1 -rw-r--r-- 1 pace finuda 72 May 07 15:26 file10 -rw-r--r-- 1 pace finuda 72 May 07 15:26 file2 -rw-r--r-- 1 pace finuda 12501 May 07 15:16 qq.qq axcalc:~/corsoUnix> ln file1 file1LinkHard axcalc:~/corsoUnix> ln -s file1 file1LinkSoft total 42 -rw-r--r-- 1 pace finuda 72 May 07 15:26 file -rw-r--r-- 2 pace finuda 32 May 07 12:39 file1 -rw-r--r-- 1 pace finuda 72 May 07 15:26 file10 -rw-r--r-- 2 pace finuda 32 May 07 12:39 file1LinkHard lrwxr-xr-x 1 pace finuda 5 May 08 14:21 file1LinkSoft@ -> file1 -rw-r--r-- 1 pace finuda 72 May 07 15:26 file2 -rw-r--r-- 1 pace finuda 12501 May 07 15:16 qq.qq Elisabetta Pace Corso UNIX per principianti 2003

Redirezione di input, output e error log > redireziona l’output standard >> concatena l’output standard ad un file esistente >! sovrascrive un file esistente con l’output standard < operatore di redirezione dell’input standard >& redirezione dell’output standard e dell’error standard Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 Nella tcshell lo standard error NON puo’ essere rediretto separateente dall’output > cat x cat: no such file > cat y this is y > cat x y >& hold (il file x non esiste, mentre il file y contiene la sola riga ‘this is y’) Elisabetta Pace Corso UNIX per principianti 2003

Per visualizzare un file cat filename (mostra tutto il file) more filename (mostra tutto il file, una schermata alla volta) head [-n number] filename (mostra le prime n righe del file) tail [-n number] filename (mostra le ultime n righe del file) Elisabetta Pace Corso UNIX per principianti 2003

Come appendere un file all’altro cat filename per vedere un file cat filename1 filename2 > filename3 concatena filename1 e filename2 e li scrive in filename3 cat filename1 >> filename2 appende filename1 a filename2 Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 cat > filename1 Stringhe CTRL+D per creare il file filename1 cat >> filename1 per appendere al file filename1 Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 grep grep stringa filename1 (visualizza le righe di filename1 contenenti stringa) Elisabetta Pace Corso UNIX per principianti 2003

sort sort filename1 > filename2 ordina filename1 e lo scrive in filename2 Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 uniq filename1 cancella due righe adiacenti uguali in filename1 Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 Come muovere un file mv filename1 filename2 (per rinominare un file) cp filename1 filename2 (per copiare un file) cp –i per avere la conferma Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 Per cancellare rm filename (per cancellare un file) rm –i (per cancellare un file dopo aver dato conferma) rm –R (per cancellare in modo ricorsivo una directory) rmdir directoryname (per cancellare una directory se e’ vuota) Elisabetta Pace Corso UNIX per principianti 2003

Come comparare due files cmp file1 file2 (dice solo se i due files sono uguali o no) diff file1 file2 (mostra anche le linee che diversificano i due files) Elisabetta Pace Corso UNIX per principianti 2003

Come classificare i files file [options] filename permette di determinare il tipo di un file: p.es. directory, data, ASCII text, C-program source, archive, eseguibile, empty, core file Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 Come trovare un file find pathlist criterion permette di trovare un file con certe caratteristiche in una parte del filesystem. P.es. Se il criterion e’ –name, viene cercato un file con un certo nome find . –name nomefile –print (se nomefile contiene wildcards, deve essere messo tra virgolette, p.es. “*.html”) Elisabetta Pace Corso UNIX per principianti 2003

Come modificare un file vi emacs Elisabetta Pace Corso UNIX per principianti 2003

vi: comandi principali (1) i inserisci testo prima del cursore a inserisci testo dopo il cursore A inserisci testo alla fine della riga I inserisci testo all’inizio della riga dd cancella la riga corrente x cancella il carattere sotto il cursore r sostituisce il carattere sotto il cursore <esc> passo dalla modalita’ testo alla modalita’ comando visuale /string<RET> cerca string in avanti /<RET> cerca ancora string in avanti :viusage lista tutti icomandi vi :viusage com help breve del comando com :q esce dall’editor :q! esce dall’editor senza salvare le modifiche :wq salva le modifiche ed esce dall’editor Elisabetta Pace Corso UNIX per principianti 2003

vi: comandi principali (2) frecce per muoversi nella pagina <space>, l o freccia-destra sposta il cursore a destra h o freccia-a-sinistra sposta il cursore a sinistra J o freccia-in-basso sposta il cursore in basso K o freccia-in-alto sposta il cursore in alto Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 emacs Editor orientato alla pagina Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 sed editor non interattivo p.es. sed ‘s/b/B/g’ file-name sostituisce tutte le b con B nel file file-name Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 awk Cerca e processa dei pattern in un file p.es. awk –F “ “ ’{print $1 “+” $2}’ file-name Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 Wildcards * qualsiasi stringa ? qualsiasi carattere [...] qualsiasi carattere di quelli tra parentesi [char1-char2] qualsiasi carattere tra char1 e char2 ^pattern qualsiasi stringa che non sia pattern Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 [...] puo’ essere usato solo per caratteri esistenti (quindi funziona con ls ma non con mkdir) Usare parentesi graffe per generare argomenti p.es. mkdir file{1,2,3,4,5} (crea le directory file1, file2, file3, file4, file5) mv file{1,2} (rinomina file1 in file2) diff prova{.old,} (guarda le differenze tra prova.old e prova) Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 echo echo stringa scrive i suoi argomenti sullo standard output Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 Piping di operazioni Permette di eseguire piu’ operazioni in sequenza e di usare l’output della operazione predente come input della operazione successiva p.es. ls –l | grep May Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 date ; who | more (date ; who) | more date ; du > file10 (date ; du) > file10 Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 date date Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 Compressione di files compress nomefile (genera un file compresso di nome nomefile.Z) gzip (genera un file compresso di nome nomefile.gz) zip unzip tar xvf nomefile tar cvf miofile ./* gunzip (decomprime file generati con gzip o compress) Elisabetta Pace Corso UNIX per principianti 2003

Un sistema di posta elettronica: pine Elisabetta Pace Corso UNIX per principianti 2003

Per vedere file postscript: gv gv postscripFile Elisabetta Pace Corso UNIX per principianti 2003

Per vedere file pdf: acroread acroread pdfFile Elisabetta Pace Corso UNIX per principianti 2003

Per vedere file grafici: xv xv nomefilegrafico Elisabetta Pace Corso UNIX per principianti 2003

Per convertire file grafici display convert Elisabetta Pace Corso UNIX per principianti 2003

Come stampare un file a Frascati lpr –PnomeStampante@unixprint filename (per stampare SOLO file di testo o postscript) lpq –PnomeStampante@unixprint (per controllare lo stato di una coda di stampa) Elisabetta Pace Corso UNIX per principianti 2003

lprm –PnomeStampante@unixprint (per cancellare una stampa) lprm –a (per cancellare tutti i miei file in stampa su tutte le stampanti) ATTENZIONE lprm –a all (cancella TUTTI i jobs su TUTTE le stampanti, non solo i miei) Elisabetta Pace Corso UNIX per principianti 2003

Come interagire con sistemi remoti telnet login remoto ssh login remoto in modo sicuro ftp trasferimento di files tra un sistema remoto ed il sistema locale ping per verificare se un sistema remoto e’ attivo Elisabetta Pace Corso UNIX per principianti 2003

Comandi principali per ftp pwd nome della working dir remota ls lista della working dir remota get rfile lfile copia il file remoto rfile nel file locale lfile mget put lfile rfile copia il file locale lfile nel file remoto rfile mput ascii|binary seleziona il modo di trasferimento cd [rdir] cambia la working dir sulla macchina remota lcd [ldir] cambia la working dir sulla macchina locale Elisabetta Pace Corso UNIX per principianti 2003

Login remoto sicuro: ssh ssh user@macchinaRemota.dominioRemoto ssh pace@dxcalc.lnf.infn.it pace@dxcalc.lnf.infn.it's password: scp user@host1:file1 user@host2:file2 Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 ASIS ASIS e’ un gruppo di programmi di utilita’ generale, installati anche a Frascati su tutte le macchine UNIX. Il link alla documentazione e’ http://wwwpdp.web.cern.ch/wwwpdp/ose/asis/products/ Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 Elisabetta Pace Corso UNIX per principianti 2003

Come creare una propria pagina WEB visibile anche fuori dai LNF Da un qualsiasi WEB browser, con l’indirizzo http://www.lnf.infn.it/˜user si accede al file ˜user/www/Welcome.html. Elisabetta Pace Corso UNIX per principianti 2003

Alcuni comandi di utilita’ generale ps2ascii traduce PostScript o PDF in ASCII ps2pdf traduce da Post Script a PDF pdf2ps traduce da PDF a Post Script epsffit forza un file encapsulated PostScript (EPSF) in una certa dimensione xgrab cattura l’immagine di una finestra xpaint programma simile a Paint ispell analizzatore ortografico interattivo Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 xcal calendario per X11 con allarmi xcalc calcolatrice scientifica cut estrae byte, caratteri o campi selezionati da ogni riga di un file join per creare un nuovo file le cui colonne sono costituite dai due file di input id mostra l‘identificatore di sistema di un utente specificato Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 nohup command-line continua ad eseguire la linea di comando anche dopo il logout xwd salva una immagine dello schermo in un file xclock orologio paste file-list legge le linee dei file nella file-list e congiunge le linee corrispondenti sull’output Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 Esempio di paste cat ex1 1 one ONE cat ex2 2 two TWO paste ex1 ex2 1 2 one two ONE TWO Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 Compilatori gcc C e C++ f77 fortran77 f90 fortran90 Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 f77 (1) f77 chiama: preprocessore: espande le definizioni delle macro compilatore: crea codice assembler corrispondente alle istruzioni del programma sorgente assembler: crea un “object code” comprensibile per la CPU Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 f77 (2) 4. linker: cerca le librerie in cui si trovano le funzioni usate nel mio programma e combina tutti gli “object file” necessari. Per default cerca libc.a ma posso usare un’opzione a f77 per fargli cercare altre librerie. P.es. f77 file.f –lm fa il link con libm.a f77 file.f –lgraphic fa il link con libgraphic.a In entrambi questi casi, il linker cerca le librerie in /usr/lib o /lib Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 f77 (3) f77 file.f –Ldir1 –Ldir2 –lm cerca libm.c in dir1, poi in dir2 ed infine in /user/lib e /lib Il linker crea un eseguibile chiamato per default a.out e cancella tutti i .o creati Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 f77 –o prog f1.o f2.c f3.o non ricrea f1.o e f2.o f77 –O file.f usa un ottimizzatore nella creazione dell’eseguibile (non si puo’ usare quando si voglia eseguire un debug) f77 –g file.f genera informazioni addizionali necessarie al debugger (p.es. una tabella dei simboli che contiene tutti i valori e tutti i tipi di variabili usate nel programma) Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 prova.f program prova read (5,*) b a=b+1 print *,a END Elisabetta Pace Corso UNIX per principianti 2003

Per compilare un programma fortran f77 programma.f genera un eseguibile chiamato a.out f77 –o programma programma.f genera un eseguibile chiamato programma f77 –c programma.f genera un object file chiamato programma.o Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 make (1) Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 make (2) Struttura di un Makefile Target: lista-prerequisiti <TAB> comandi-costruttivi Target e’ il nome del file che dipende dai file elencati nella lista-prerequisiti. comandi-costruttivi sono i comandi per la shell che servono per costruire il Target Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 make (3) make esegue i comandi-costruttivi quando la data di modifica di uno o piu’ file nella lista-prerequisiti e’ piu’ recente del Target file Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 Makefile (1) prova : prova.o f77 -o prova prova.o prova.o : prova.f qui DEVE esserci un <TAB> f77 -c prova.f clean : ls rm prova.o test : echo "prova" Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 make (4) In un Makefile si possono usare delle macro ID=list Dopo questa definizione di macro $ID rappresenta sempre list nel resto del Makefile Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 Makefile (2) ML=prova $(ML) : $(ML).o f77 -g -o $(ML) $(ML).o echo "f77 -o prova prova.o" $(ML).o : $(ML).f f77 -g -c $(ML).f echo "f77 -c prova.f" clean : ls rm prova.o test : echo prova Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 debug (1) Un debugger simbolico di alto livello permette di analizzare l’esecuzione di un programma in termini di comandi di linguaggio di programmazione, ma anche di vedere cosa succede a livello piu’ basso, permettendo di analizzare l’esecuzione di un programma a livello di istruzioni macchina. Elisabetta Pace Corso UNIX per principianti 2003

Corso UNIX per principianti 2003 debug (2) dbx gdb adb sdb debug Elisabetta Pace Corso UNIX per principianti 2003