Esempio 1. Creare uno script (file comandi) che abbia la sintassi:
|
|
|
- Leone Corsi
- 8 anni fa
- Visualizzazioni
Transcript
1 Esempi shell 1
2 Esempio 1 Creare uno script (file comandi) che abbia la sintassi:./ps_monitor.sh [N] Lo script: in caso di assenza dell argomento, deve mostrare i processi di tu@ gli utena (compresi quelli senza terminale di controllo) con anche le informazioni sul nome utente e ora di inizio; Se viene passato come argomento un intero (N) deve mostrare i primi N processi Suggerimento: usare il comando ps NB: non tuie le righe prodoie in output da ps hanno contenuto informaavo rilevante 2
3 Soluzione #!/bin/bash if [ $# -eq 0 ] # se non ci sono parametri ps aux else ps aux head -n `expr $1 + 1` #consideriamo che c'e' anche una riga di intest. fi 3
4 Esempio 2 Creare uno script che abbia la sintassi./lines_counter.sh <directory> [up down] Lo script deve elencare i file contenua nella directory con relaavo numero di linee, ordinaa in senso crescente (up) o decrescente(down) NOTA: controllare: Che il primo argomento sia effe@vamente una directory Che il secondo argomento sia la stringa up o down Sistemi OperaAvi T AA
5 Soluzione #!/bin/bash if [ $# -ne 2 ] #sintassi sbagliata echo SINTASSI: lines_counter.sh <directory> [up down]" exit 1 #uscita anomala fi if [ -d $1 ] #vero se $1 è una directory cd $1 if [ $2 = "up" ] cat * wc -l sort -n #1. viene espansa la lista di tutti i file presenti in $1 #2. su ogni elemento viene eseguito il conteggio #3. viene effettuato l'ordinamento sui conteggi Sistemi OperaAvi T AA
6 elif [ $2 = "down" ] cat * wc l sort -nr #l ordinamento è inverso else echo "ERROR: 'up' or 'down'" exit 2 #uscita anomala fi fi else echo "$1 should be an existent directory" exit 2 #uscita anomala fi Sistemi OperaAvi T AA
7 Esempio 3 Creare uno script che abbia la sintassi./backup.sh <nomefile> <nomebackup> Se il file è una directory, lo script deve: creare una soiodirectory(rispeio a livello corrente) di nome: <nomefile>_<nomebackup> copiare ricorsivamente in essa il contenuto della directory Se il file è un file normale, lo script deve crearne 5 copie di nome <nomefile>*i<nomebackup> i=1..5 Sistemi OperaAvi T AA
8 #!/bin/bash Soluzione #IPOTESI: considero solo file e direttori nel dir.corrente if [ $# -ne 2 ] echo "USAGE: backup.sh <filename> <backupstring>" exit 1 fi if [ -d $1 ] #-restituisce 1 se il primo parametro e' una directory cp -R $1 "$1_$2" 8
9 elif [ -f $1 ] #controlla che $1 sia un file normale for i in #i cicla sugli el. della lista do cp $1 "$1*$i$2" #i doppi apici inibiscono l'espansione di * ma non di $ done else echo "$1 should be a valid directory or file" fi 9
10 Esercizio shell (esame 12 luglio 2010) Si realizzi un file comandi Unix con la seguente interfaccia: copy.sh <dir> <string> <dest>! <dir> e <dest> direiori assolua esistena nel filesystem; <string> una stringa. Dopo aver effeiuato tu@ gli opportuni controlli sui parametri in ingresso, il file comandi si deve occupare di cercare, in ciascun soiodireiorio di dir, tu@ i file regolari nelle cui prime 10 righe compaia <string> almeno una volta. Per ciascun file così trovato all'interno di un soiodireiorio, si copi tale file in un opportuno soiodireiorio di <dest> del Apo <dest>/n (cioè un soiodireiorio di <dest> ) il cui nome sia uguale al numero effedvo di occorrenze di <string> trovate nelle prime 10 righe del file. 10
11 Ad esempio, supponendo di invocare il comando con copy.sh /home/user pdf /home/backup! e di avere la seguente condizione su filesystem: /home/user/prova.txt (3 occ. di pdf nelle prime 10 righe)! /home/user/prova1.txt! /home/user/prova.xml (7 occ. di pdf nelle prime 10 righe)! /home/user/dir1/prova.txt! /home/user/dir1/prova.pdf! il file comandi creerà e riempirà il direiorio di backup in questo modo: /home/backup/7/prova.xml! /home/backup/3/prova.txt! Sistemi OperaAvi L- A AA
12 Esempio di Soluzione Esplorazione di una gerarchia nel file system: imposto la soluzione in modo ricorsivo: un file comandi può invocare se stesso: $0..! In caso di ricorsione, lo script chiamante aiende il completamento dell esecuzione dell invocazione ricorsiva 2 file: copy.sh: controllo argomena, seiaggio path e invocazione del file ricorsivo: copy_rec.sh: Esecuzione ricorsiva a parhre dalla radice della gerarchia 12
13 Copy.sh #!/bin/sh! # Controllo parametri! if test $# -ne 3!! echo "usage:$0 <dir> <string> <dest>"! exit 1! Fi! case $1 in!!/*) ;;!!*) echo "$1 is not an absolute directory"!! exit 4;;! esac! if! test -d "$1"!!!echo "$1 is not a valid directory"!!exit 5! fi! 13
14 #..continua! case $3 in!!/*) ;;!!*) echo "$3 is not an absolute directory"! exit 4;;! esac! if! test -d "$3"!!!echo "$3 is not a valid directory"! fi!!exit 5!! # Invocazione script ricorsivo:!! oldpath=$path! PATH=$PATH:`pwd`! copy_rec.sh "$1" $2 "$3"! PATH=$oldpath!! 14
15 #!/bin/sh! cd "$1! for f in *! do!!if test -d "$f"!!!!! $0 "$f" $2 "$3"!!!!elif test -f "$f"!!!!!count=`head n 10 "$f" grep -o "$2" wc -l`!!!if test $count -gt 0!!!!!!!if! test -d "$3"/$count!!!!!!!!!mkdir "$3"/$count!!!!fi!!!!cp "$f" "$3"/$count!!!fi!!fi! done! Copy_rec.sh 15
Shell: variabili di sistema. Per visualizzare il valore di tutte le variabili d ambiente si usa il comando set
PATH Shell: variabili di sistema HOME USER PWD SHELL HOSTNAME HOSTTYPE Per visualizzare il valore di tutte le variabili d ambiente si usa il comando set Shell: variabili di sistema Per visualizzare il
Lezione 5: Controllo del flusso e costrutti avanzati
Lezione 5: Controllo del flusso e costrutti avanzati Laboratorio di Elementi di Architettura e Sistemi Operativi 20 Marzo 2013 Parte 1: Il valore di uscita di un processo Il valore di uscita di un processo
CORSO LINUX PER LA CERTIFICAZIONE LPI ESSENTIALS
CORSO LINUX PER LA CERTIFICAZIONE LPI ESSENTIALS Comandi da terminale Il comando sleep fa attendere un comando prima dell'esecuzione. Prova il comando: $ sleep 3s && echo Ciao Mondo! $ Comandi da terminale
Shell BASH. Variabili Redirezione
Shell BASH Variabili Redirezione Variabili Scrittura/definizione: a=3 (senza spazi) Lettura: ${a} o semplicemente $a Esempi: > a=3 > echo $a 3 > echo $aa > echo ${a}a 3a > a=ciao pippo bash: pippo: command
- comando sort: con chiavi di ordinamento -
- comando sort: con chiavi di ordinamento - 1 - sort: chiavi di ordinamento - Tramite l'opzione -k è possibile definire una chiave di ordinamento su una porzione della linea contenuta nel file Specificando
Lezione 3: Programmazione della Shell di Unix
Lezione 3: Programmazione della Shell di Unix Laboratorio di Elementi di Architettura e Sistemi Operativi 2 Marzo 202 Parte : Soluzione degli esercizi Statistiche Ho ricevuto 2 soluzioni Tutte le soluzioni
Il sistema operativo LINUX Script di Shell
Il sistema operativo LINUX Script di Shell Giorgio Di Natale Stefano Di Carlo Bartolomeo Montrucchio Politecnico di Torino Dip. Automatica e
Lezione 1: Introduzione alla Shell di Unix
Lezione 1: Introduzione alla Shell di Unix Laboratorio di Elementi di Architettura e Sistemi Operativi 5 Marzo 2013 Chi è UNIX? UNIX è il nome di una famiglia di sistemi operativi, con diverse implementazioni
Il sistema operativo LINUX Esercitazione 3. Esercizio 1. Esercizio 2. Esercizio 5 - Soluzione. Il sistema operativo LINUX Esercitazione 4.
Il sistema operativo LINUX Esercitazione 3 Esercizio 1 Giorgio Di Natale Stefano Di Carlo Politecnico di Torino Dip. Automatica e Informatica Mostrare una lista
Esecuzione di script
Shell Script Gli shell script sono programmi interpretati dalla shell, scritti in un linguaggio i cui costrutti atomici sono i comandi Unix. I comandi possono essere combinati in sequenza o mediante i
Script di shell (bash)
Script di shell (bash) Shell di Unix Esistoni diversi shell: Bourne Shell C Shell Korn Shell Tc Shell etc. Interfaccia di alto livello tra utente e sistema operativo. init shell utente 1 shell utente 2
GLI SCRIPT DI SHELL. Lucidi a cura di B.De Carolis. UNIX shell script UdB- Dip Informatica
GLI SCRIPT DI SHELL Lucidi a cura di B.De Carolis Shell Unix - Linux comandi Interfaccia di alto livello tra utente e SO. Il processore interpreta e mette in esecuzione comandi da: 1) standard input o
Esercitazione GNU/Linux n. 2
2.1 Copiare i file cp (copy) Esercitazione GNU/Linux n. 2 cp file1 file2 è il comando che crea una copia del file1 presente nella directory corrente e la chiama file2 Ciò che faremo adesso, è prendere
Introduzione a UNIX shell e file comandi
Introduzione a UNIX shell e file comandi 1 Shell Programma che permette di far interagire lutente (interfaccia testuale) con SO tramite comandi resta in attesa di un comando mandandolo in esecuzione alla
Lezione 8. Esercitazione su AWK. Sistemi Operativi
Lezione 8 Esercitazione su AWK Sistemi Operativi 21 Dicembre 2015 Da colonna a riga Dato il file di testo tabella.txt così fatto: Luigi Marco Giovanni Luigi Giorgio Luca Maria scrivere uno script che eseguito
L interfaccia command line di Ubuntu è il Terminale che usa un sistema command line detto bash.
BASH La maggior parte del lavoro di un bioinformatico si svolge attraverso un interfaccia command line che al contrario dell interfaccia grafica che usiamo ogni giorno, ha bisogno di comandi di testo esatti.
Programmazione Batch
Programmazione Batch Bash Shell Roberto Sassi http://www.dti.unimi.it/ sassi/ DTI Crema - Università degli Studi di Milano Bash Shell - Programmazione Batch Roberto Sassi p. 1/53 Outline Programmazione
Linux e la shell Bash
DEI DEI-- Politecnico di dibari Linux e la shell Bash Esercitazione conclusiva G. Piscitelli - M. Ruta - A. Cinquepalmi Testi di riferimento: Linux e la shell Bash http://sisinflab.poliba.it/ruta/linux/linux
Lab. di Sistemi Operativi - Esercitazione n 2 - a.a. 2012/2013
Lab. di Sistemi Operativi - Esercitazione n 2 - a.a. 2012/2013 Comandi di ricerca 1 Sommario Comandi shell di ricerca: grep find 2 - comando di ricerca: grep - 3 file passwd, ricordiamo che Le righe di
SHELL: File e Filesystem
SHELL: File e Filesystem Obiettivi : - Usare i comandi per muoversi all'interno del filesystem - Copiare, spostare, rinominare file e directory - Usare i link - Visualizzare il contenuto di un file - Conoscere
Lab. di Sistemi Operativi - Esercitazione - Comandi Shell
Lab. di Sistemi Operativi - Esercitazione - Comandi Shell 1 - Esercizi Comandi Unix - 2 Esercizio n 0 0a) creare una cartella EsercitazioneLSO-1 nella directory di lavoro 0b) creare un file testo chiamato
Linguistica dei Corpora (2) Lezione 3: Manipolare testi (non solo con cqp)
Linguistica dei Corpora (2) Lezione 3: Manipolare testi (non solo con cqp) Malvina Nissim [email protected] 1 Aprile 2009 1 ssh gollum.sitlec.unibo.it login passwd cqp 1 Cercare e contare 1.1 Contare
Il sistema operativo UNIX/Linux. Gli script di shell Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino
Il sistema operativo UNIX/Linux Gli script di shell Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino 2 Introduzione agli script I linguaggi di shell sono linguaggi interpretati
Il sistema operativo UNIX/Linux. Gli script di shell
Il sistema operativo UNIX/Linux Gli script di shell Introduzione Le shell permettono La gestione di comandi su linea di comando La shell comprende automaticamente quando il costrutto termina e lo esegue
Metodi informatici della Fisica
Linux Bash C++ Root Metodi informatici della Fisica Lezione 7: script di shell Anno Accademico 2014 15 [email protected] Script In informatica uno script è un programma scritto in un linguaggio che
La Shell di Unix. l utente impartisce i comandi al sistema digitandoli ad un apposito prompt;
La Shell di Unix La parte del sistema operativo Unix dedita alla gestione dell interazione con l utente è la shell, ovvero, un interfaccia a carattere: l utente impartisce i comandi al sistema digitandoli
UD4 - MATLAB. M-file. Efficienza degli algoritmi. Formati d uscita
UD4 - MATLAB M-file. Efficienza degli algoritmi. Formati d uscita M-files In MatLab è possibile eseguire istruzioni contenute in file esterni; Tali file sono chiamati M-file perché devono avere estensione.m
Il sistema operativo UNIX/Linux. Le shell Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino
Il sistema operativo UNIX/Linux Le shell Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino 2 Introduzione alle shell Strato più esterno del sistema operativo Fornisce l interfaccia
NOZIONI BASE SHELL E SCRIPT LINUX
NOZIONI BASE SHELL E SCRIPT LINUX Aggiornato al 11 gennaio 2006 Ermes ZANNONI ([email protected]) (http://www.zannoni.to.it) Indice : 1. Introduzione 2. La Shell 2.1 Comandida Shell 2.1.1 File e directory
Introduzione all'uso del sistema operativo Ubuntu
Introduzione all'uso del sistema operativo Ubuntu Aprire un Terminal. Osservare il prompt dei comandi Una shell è pronta ad interpretare ed eseguire i vostri comandi consentendovi di accedere ai servizi
Esercizi di programmazione in shell - Gennaio 2004
Esercizi di programmazione in shell - Gennaio 2004 Soluzioni 1. Scrivere uno script che riceve due parametri. Il primo indica un valore numerico, il secon un formato tra ottale (o), esadecimale (x) e notazione
Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate.
Comandi filtro: sed Il nome del comando sed sta per Stream EDitor e la sua funzione è quella di permettere di editare il testo passato da un comando ad un altro in una pipeline. Ciò è molto utile perché
L utility Unix awk [Aho-Weinberger-Kernighan]
L utility Unix awk [Aho-Weinberger-Kernighan] L utility awk serve per processare file di testo secondo un programma specificato dall utente. L utility awk legge riga per riga i file ed esegue una o più
Processore Danilo Dessì. Architettura degli Elaboratori.
Processore 8088 Architettura degli Elaboratori Danilo Dessì [email protected] Subroutine Anche nel linguaggio assemblativo è possibile suddividere un programma in subroutine Per invocare una subroutine
Le funzioni di shell La bash supporta la programmazione procedurale e prevede la possibilità di definire funzioni utilizzando le sintassi
Le funzioni di shell La bash supporta la programmazione procedurale e prevede la possibilità di definire funzioni utilizzando le sintassi alternative: function nome { lista-comandi } oppure nome ( ) {
Esercitazione 2 GUIDA
Corso di Laurea in Biologia Molecolare, Università di Padova Insegnamento di Informatica e Bioinformatica Esercitazione 2 Padova, 13 aprile 2016 GUIDA Uso della shell Unix Obbiettivo dell'esercitazione
Shell: csh e tcsh. Di shell non ne esiste una sola... Per il momento... Funzioni della shell. In cosa si differenziano?
Di shell non ne esiste una sola... Shell: csh e tcsh Shell C-shell Bourne shell Korn shell Bourne again sh. TC-shell... (sh) (csh) (bsh) (ksh) (bash) (tcsh) In cosa si differenziano? Per il momento......
Shell di Linux e Comandi Utente
Shell di Linux e Comandi Utente Sistemi Operativi Roberto Aringhieri DTI Crema - Università degli Studi di Milano Sistemi Operativi - Shell di Linux e Comandi Utente Roberto Aringhieri p.1/23 Outline Accesso
Esercizi d esame. Elena Tundo
Esercizi d esame Elena Tundo Esercizi su Linux Tenendo presente di partire dalla home directory, la sequenza di comandi Linux per creare una sottocartella dir2 ed una dir3 e spostare dentro dir2 il file
Il sistema operativo LINUX Tools e comandi avanzati
Il sistema operativo LINUX Tools e comandi avanzati Giorgio Di Natale Stefano Di Carlo Politecnico di Torino Dip. Automatica e Informatica Sistemi Operativi - Tools
I Metacaratteri della Shell Unix
I Metacaratteri della Shell Unix La shell Unix riconosce alcuni caratteri speciali, chiamati metacaratteri, che possono comparire nei comandi. Quando l utente invia un comando, la shell lo scandisce alla
Corso di Laboratorio di Sistemi Operativi
Corso di Laboratorio di Sistemi Operativi Lezione 2 Alessandro Dal Palù email: [email protected] web: www.unipr.it/~dalpalu Alias Alias già visti: 1.. (directory corrente) 2... (directory madre)
PROGRAMMAZIONE CONSUNTIVA Codice Mod. RQ 23.2 Pag 1/5. Sistemi e Reti (articolazione Telecomunicazione) Classe
I.T.C.S. ERASMO DA ROTTERDAM Liceo Artistico indirizzo Grafica - Liceo delle Scienze Umane opz. Economico sociale ITI Informatica e telecomunicazioni - ITI Costruzioni, ambiente e territorio Edile Elettronico
Linguistica Computazionale: esercitazioni
Esercitazione 1 Felice Dell'Orletta ItaliaNLP Lab (www.italianlp.it) presso Istituto di Linguistica Computazionale A. Zampolli CNR [email protected] 24 settembre 2014 Linguistica Computazionale:
Laboratorio in C su Processi e POSIX IPC (Inter Process Communications) Dalla nona lezione di laboratorio in avanti
Laboratorio in C su Processi e POSIX IPC (Inter Process Communications) Dalla nona lezione di laboratorio in avanti NOTA BENE: E INSISTO!!!!! Usare il comando man nomefunzionedilibreria per ottenere informazioni
Programmazione web lato client con JavaScript. Marco Camurri 1
Programmazione web lato client con JavaScript Marco Camurri 1 JavaScript E' un LINGUAGGIO DI PROGRAMMAZIONE che consente di inserire codice in una pagina web Sintassi simile a Java (e al C), ma NON E'
